00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "StEmcRawData.h"
00021
00022 static const char rcsid[] = "$Id: StEmcRawData.cxx,v 2.2 2004/07/15 16:36:24 ullrich Exp $";
00023
00024 ClassImp(StEmcRawData)
00025
00026 StEmcRawData::StEmcRawData()
00027 {
00028 for(int i=0;i<MAXEMCDATABANK;i++) {
00029 mHeader[i].Set(0);
00030 mData[i].Set(0);
00031 }
00032 }
00033
00034 StEmcRawData::StEmcRawData(const StEmcRawData& h) : StObject(h)
00035 {
00036 for(int i=0;i<MAXEMCDATABANK;i++) {
00037 if(h.header(i) && h.data(i)) {
00038 createBank(i,h.sizeHeader(i),h.sizeData(i));
00039 setHeader(i,(unsigned short*)h.header(i));
00040 setData(i,(unsigned short*)h.data(i));
00041 }
00042 }
00043 }
00044
00045 StEmcRawData::~StEmcRawData()
00046 {
00047 for(int i=0;i<MAXEMCDATABANK;i++) deleteBank(i);
00048 }
00049
00050 void
00051 StEmcRawData::createBank(int bank,int sizeHeader, int sizeData)
00052 {
00053 deleteBank(bank);
00054 mHeader[bank].Set(sizeHeader);
00055 mData[bank].Set(sizeData);
00056 for(int i = 0;i<sizeHeader;i++) mHeader[bank][i] = 0;
00057 for(int i = 0;i<sizeData;i++) mData[bank][i] = 0;
00058 }
00059
00060 void
00061 StEmcRawData::deleteBank(int bank)
00062 {
00063 mHeader[bank].Set(0);
00064 mData[bank].Set(0);
00065 }
00066
00067 void
00068 StEmcRawData::setHeader(int bank,unsigned short* data)
00069 {
00070 if(sizeHeader(bank)==0) return;
00071 mHeader[bank].Set(sizeHeader(bank),(const Short_t*)data);
00072 }
00073
00074 void
00075 StEmcRawData::setData(int bank,unsigned short* data)
00076 {
00077 if(sizeData(bank)==0) return;
00078 mData[bank].Set(sizeData(bank),(const Short_t*)data);
00079 }
00080
00081 void
00082 StEmcRawData::setHeader(int bank,int position, unsigned short data)
00083 {
00084 if(sizeHeader(bank)==0) return;
00085 mHeader[bank][position] = data;
00086 }
00087
00088 void
00089 StEmcRawData::setData(int bank,int position, unsigned short data)
00090 {
00091 if(sizeData(bank)==0) return;
00092 mData[bank][position] = data;
00093 }
00094
00095 const unsigned short*
00096 StEmcRawData::header(int bank) const
00097 {
00098 return (unsigned short*)mHeader[bank].GetArray();
00099 }
00100
00101 const unsigned short*
00102 StEmcRawData::data(int bank) const
00103 {
00104 return (unsigned short*)mData[bank].GetArray();
00105 }
00106
00107 unsigned short*
00108 StEmcRawData::header(int bank)
00109 {
00110 return (unsigned short*)mHeader[bank].GetArray();
00111 }
00112
00113 unsigned short*
00114 StEmcRawData::data(int bank)
00115 {
00116 return (unsigned short*)mData[bank].GetArray();
00117 }
00118
00119 unsigned short
00120 StEmcRawData::header(int bank,int position)
00121 {
00122 if(sizeHeader(bank)==0) return 0;
00123 return mHeader[bank][position];
00124 }
00125
00126 unsigned short
00127 StEmcRawData::data(int bank,int position)
00128 {
00129 if(sizeData(bank)==0) return 0;
00130 return mData[bank][position];
00131 }
00132
00133 const unsigned short
00134 StEmcRawData::header(int bank,int position) const
00135 {
00136 if(sizeHeader(bank)==0) return 0;
00137 return mHeader[bank][position];
00138 }
00139
00140 const unsigned short
00141 StEmcRawData::data(int bank,int position) const
00142 {
00143 if(sizeData(bank)==0) return 0;
00144 return mData[bank][position];
00145 }
00146
00147 int
00148 StEmcRawData::sizeHeader(int bank)
00149 {
00150 return mHeader[bank].GetSize();
00151 }
00152
00153 int
00154 StEmcRawData::sizeData(int bank)
00155 {
00156 return mData[bank].GetSize();
00157 }
00158
00159 const int
00160 StEmcRawData::sizeHeader(int bank) const
00161 {
00162 return mHeader[bank].GetSize();
00163 }
00164
00165 const int
00166 StEmcRawData::sizeData(int bank) const
00167 {
00168 return mData[bank].GetSize();
00169 }