#include <EventFilter/EcalTBRawToDigi/src/DCCDataMapper.h>
Definition at line 89 of file DCCDataMapper.h.
Definition at line 139 of file DCCDataMapper.h.
00139 { 00140 H_WPOSITION = 0, H_BPOSITION = 3, H_MASK = 0x1, 00141 FOV_WPOSITION = 0, FOV_BPOSITION = 4, FOV_MASK = 0xF, 00142 DCCID_WPOSITION = 0, DCCID_BPOSITION = 8, DCCID_MASK = 0xFFF, 00143 DCCBX_WPOSITION = 0, DCCBX_BPOSITION = 20, DCCBX_MASK = 0xFFF, 00144 00145 DCCL1_WPOSITION = 1, DCCL1_BPOSITION = 0, DCCL1_MASK = 0xFFFFFF, 00146 TRIGGERTYPE_WPOSITION = 1, TRIGGERTYPE_BPOSITION = 24, TRIGGERTYPE_MASK = 0xF, 00147 BOE_WPOSITION = 1, BOE_BPOSITION = 28, BOE_MASK = 0xF, 00148 00149 EVENTLENGTH_WPOSITION = 2, EVENTLENGTH_BPOSITION = 0, EVENTLENGTH_MASK = 0xFFFFFF, 00150 DCCERRORS_WPOSITION = 2, DCCERRORS_BPOSITION = 24, DCCERRORS_MASK = 0xFF, 00151 00152 RNUMB_WPOSITION = 3, RNUMB_BPOSITION = 0, RNUMB_MASK = 0xFFFFFF, 00153 HD_WPOSITION = 3, HD_BPOSITION = 24, HD_MASK = 0xFF, 00154 00155 RUNTYPE_WPOSITION = 4, RUNTYPE_BPOSITION = 0, RUNTYPE_MASK = 0xFFFFFFFF, 00156 00157 DETAILEDTT_WPOSITION = 5, DETAILEDTT_BPOSITION = 0, DETAILEDTT_MASK = 0xFFFF, 00158 00159 ORBITCOUNTER_WPOSITION = 6, ORBITCOUNTER_BPOSITION = 0, ORBITCOUNTER_MASK = 0xFFFFFFFF, 00160 00161 SR_WPOSITION = 7, SR_BPOSITION = 0, SR_MASK = 0x1, 00162 ZS_WPOSITION = 7, ZS_BPOSITION = 1, ZS_MASK = 0x1, 00163 TZS_WPOSITION = 7, TZS_BPOSITION = 2, TZS_MASK = 0x1, 00164 SR_CHSTATUS_WPOSITION = 7, SR_CHSTATUS_BPOSITION = 4, SR_CHSTATUS_MASK = 0xF, 00165 TCC_CHSTATUS_WPOSITION = 7, TCC_CHSTATUS_BPOSITION = 8, TCC_CHSTATUS_MASK = 0xF, 00166 00167 FE_CHSTATUS_WPOSITION = 8, CHSTATUS_BPOSITION = 0, FE_CHSTATUS_MASK = 0xF 00168 };
Definition at line 189 of file DCCDataMapper.h.
00189 { 00190 SRPID_WPOSITION = 0, SRPID_BPOSITION = 0, SRPID_MASK = 0xFF, 00191 SRPBX_WPOSITION = 0, SRPBX_BPOSITION = 16, SRPBX_MASK = 0xFFF, 00192 SRPE0_WPOSITION = 0, SRPE0_BPOSITION = 28, SRPE0_MASK = 0x1, 00193 00194 SRPL1_WPOSITION = 1, SRPL1_BPOSITION = 0, SRPL1_MASK = 0xFFF, 00195 SRPE1_WPOSITION = 1, SRPE1_BPOSITION = 12, SRPE1_MASK = 0x1, 00196 NSRF_WPOSITION = 1, NSRF_BPOSITION = 16, NSRF_MASK = 0x7F, 00197 SRPLE0_WPOSITION = 1, SRPLE0_BPOSITION = 27, SRPLE0_MASK = 0x1, 00198 SRPLE1_WPOSITION = 1, SRPLE1_BPOSITION = 28, SRPLE1_MASK = 0x1, 00199 00200 SRF_WPOSITION = 2, SRF_BPOSITION = 0, SRF_MASK = 0x3, 00201 SRPBOFFSET = 16 00202 };
Definition at line 172 of file DCCDataMapper.h.
00172 { 00173 TCCID_WPOSITION = 0, TCCID_BPOSITION = 0, TCCID_MASK = 0xFF, 00174 TCCBX_WPOSITION = 0, TCCBX_BPOSITION = 16, TCCBX_MASK = 0xFFF, 00175 TCCE0_WPOSITION = 0, TCCE0_BPOSITION = 28, TCCE0_MASK = 0x1, 00176 00177 TCCL1_WPOSITION = 1, TCCL1_BPOSITION = 0, TCCL1_MASK = 0xFFF, 00178 TCCE1_WPOSITION = 1, TCCE1_BPOSITION = 12, TCCE1_MASK = 0x1, 00179 NTT_WPOSITION = 1, NTT_BPOSITION = 16, NTT_MASK = 0x7F, 00180 TCCTSAMP_WPOSITION = 1, TCCTSAMP_BPOSITION = 23, TCCTSAMP_MASK = 0xF, 00181 TCCLE0_WPOSITION = 1, TCCLE0_BPOSITION = 27, TCCLE0_MASK = 0x1, 00182 TCCLE1_WPOSITION = 1, TCCLE1_BPOSITION = 28, TCCLE1_MASK = 0x1, 00183 00184 TPG_WPOSITION = 2, TPG_BPOSITION = 0, TPG_MASK = 0x1FF, 00185 TTF_WPOSITION = 2, TTF_BPOSITION = 9, TTF_MASK = 0x7 00186 };
Definition at line 205 of file DCCDataMapper.h.
00205 { 00206 TOWERID_WPOSITION = 0, TOWERID_BPOSITION = 0, TOWERID_MASK = 0x7F, //FEID remask?? --> the 8th bit is in use 00207 XSAMP_WPOSITION = 0, XSAMP_BPOSITION = 8, XSAMP_MASK = 0x7F, 00208 TOWERBX_WPOSITION = 0, TOWERBX_BPOSITION = 16, TOWERBX_MASK = 0xFFF, 00209 TOWERE0_WPOSITION = 0, TOWERE0_BPOSITION = 28, TOWERE0_MASK = 0x1, 00210 00211 TOWERL1_WPOSITION = 1, TOWERL1_BPOSITION = 0, TOWERL1_MASK = 0xFFF, 00212 TOWERE1_WPOSITION = 1, TOWERE1_BPOSITION = 12, TOWERE1_MASK = 0x1, 00213 TOWERLENGTH_WPOSITION = 1, TOWERLENGTH_BPOSITION = 16, TOWERLENGTH_MASK = 0x1FF 00214 };
Definition at line 230 of file DCCDataMapper.h.
00230 { 00231 T_WPOSITION = 0, T_BPOSITION = 3, T_MASK = 0x1, 00232 ESTAT_WPOSITION = 0, ESTAT_BPOSITION = 8, ESTAT_MASK = 0xF, 00233 00234 TTS_WPOSITION = 0, TTS_BPOSITION = 4, TTS_MASK = 0xF, 00235 00236 CRC_WPOSITION = 0, CRC_BPOSITION = 16, CRC_MASK = 0xFFFF, 00237 TLENGTH_WPOSITION = 1, TLENGTH_BPOSITION = 0, TLENGTH_MASK = 0xFFFFFF, 00238 EOE_WPOSITION = 1, EOE_BPOSITION = 28, EOE_MASK = 0xF 00239 };
Definition at line 217 of file DCCDataMapper.h.
00217 { 00218 STRIPID_WPOSITION = 0, STRIPID_BPOSITION = 0, STRIPID_MASK = 0x7, 00219 XTALID_WPOSITION = 0, XTALID_BPOSITION = 4, XTALID_MASK = 0x7, 00220 M_WPOSITION = 0, M_BPOSITION = 8, M_MASK = 0x1, 00221 SMF_WPOSITION = 0, SMF_BPOSITION = 9, SMF_MASK = 0x1, 00222 GMF_WPOSITION = 0, GMF_BPOSITION = 10, GMF_MASK = 0x1, 00223 XTAL_TZS_WPOSITION = 0, XTAL_TZS_BPOSITION = 16, XTAL_TZS_MASK = 0x1, 00224 XTAL_GDECISION_WPOSITION = 0, XTAL_GDECISION_BPOSITION = 17, XTAL_GDECISION_MASK = 0x1, 00225 ADC_WPOSITION = 0, ADC_BPOSITION = 0, ADC_MASK = 0x3FFF, 00226 ADCBOFFSET = 16 00227 };
DCCTBDataMapper::DCCTBDataMapper | ( | DCCTBDataParser * | myParser | ) |
Definition at line 7 of file DCCDataMapper.cc.
References buildDCCFields(), buildSRPFields(), buildTCCFields(), buildTowerFields(), buildTrailerFields(), buildXtalFields(), dccFields_, emptyEventFields_, srp16Fields_, srp32Fields_, srp68Fields_, tcc16Fields_, tcc32Fields_, tcc68Fields_, towerFields_, trailerFields_, and xtalFields_.
00008 : parser_(myParser){ 00009 00010 dccFields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00011 emptyEventFields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00012 00013 tcc68Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00014 tcc32Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00015 tcc16Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00016 00017 srp68Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00018 srp32Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00019 srp16Fields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00020 00021 towerFields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00022 xtalFields_ = new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00023 trailerFields_= new std::set<DCCTBDataField * , DCCTBDataFieldComparator>; 00024 00025 buildDCCFields(); 00026 buildTCCFields(); 00027 buildSRPFields(); 00028 buildTowerFields(); 00029 buildXtalFields(); 00030 buildTrailerFields(); 00031 }
DCCTBDataMapper::~DCCTBDataMapper | ( | ) |
Definition at line 37 of file DCCDataMapper.cc.
References dccFields_, emptyEventFields_, it, srp16Fields_, srp32Fields_, srp68Fields_, tcc16Fields_, tcc32Fields_, tcc68Fields_, towerFields_, trailerFields_, and xtalFields_.
00037 { 00038 00039 std::set<DCCTBDataField *,DCCTBDataFieldComparator>::iterator it; 00040 00041 for(it = dccFields_->begin() ;it != dccFields_->end(); it++){ delete (*it);} 00042 for(it = emptyEventFields_->begin() ;it != emptyEventFields_->end(); it++){ delete (*it);} 00043 00044 for(it = tcc68Fields_->begin() ;it != tcc68Fields_->end(); it++){ delete (*it);} 00045 for(it = tcc32Fields_->begin() ;it != tcc32Fields_->end(); it++){ delete (*it);} 00046 for(it = tcc16Fields_->begin() ;it != tcc16Fields_->end(); it++){ delete (*it);} 00047 00048 for(it = srp68Fields_->begin() ;it != srp68Fields_->end(); it++){ delete (*it);} 00049 for(it = srp32Fields_->begin() ;it != srp32Fields_->end(); it++){ delete (*it);} 00050 for(it = srp16Fields_->begin() ;it != srp16Fields_->end(); it++){ delete (*it);} 00051 00052 for(it = towerFields_->begin() ;it != towerFields_->end(); it++){ delete (*it);} 00053 for(it = xtalFields_->begin() ;it != xtalFields_->end(); it++){ delete (*it);} 00054 for(it = trailerFields_->begin();it != trailerFields_->end(); it++){ delete (*it);} 00055 00056 delete dccFields_; 00057 delete emptyEventFields_; 00058 00059 delete tcc68Fields_; 00060 delete tcc32Fields_; 00061 delete tcc16Fields_; 00062 00063 delete srp68Fields_; 00064 delete srp32Fields_; 00065 delete srp16Fields_; 00066 00067 delete towerFields_; 00068 delete xtalFields_; 00069 delete trailerFields_; 00070 }
void DCCTBDataMapper::buildDCCFields | ( | ) |
Build methods for raw data fields.
Definition at line 77 of file DCCDataMapper.cc.
References BOE_BPOSITION, BOE_MASK, BOE_WPOSITION, DCCBX_BPOSITION, DCCBX_MASK, DCCBX_WPOSITION, DCCERRORS_BPOSITION, DCCERRORS_MASK, DCCERRORS_WPOSITION, dccFields_, DCCID_BPOSITION, DCCID_MASK, DCCID_WPOSITION, DCCL1_BPOSITION, DCCL1_MASK, DCCL1_WPOSITION, DETAILEDTT_BPOSITION, DETAILEDTT_MASK, DETAILEDTT_WPOSITION, emptyEventFields_, EVENTLENGTH_BPOSITION, EVENTLENGTH_MASK, EVENTLENGTH_WPOSITION, FE_CHSTATUS_MASK, FE_CHSTATUS_WPOSITION, FOV_BPOSITION, FOV_MASK, FOV_WPOSITION, DCCTBDataParser::getDecString(), H_BPOSITION, H_MASK, H_WPOSITION, HD_BPOSITION, HD_MASK, HD_WPOSITION, header, i, ORBITCOUNTER_BPOSITION, ORBITCOUNTER_MASK, ORBITCOUNTER_WPOSITION, parser_, RNUMB_BPOSITION, RNUMB_MASK, RNUMB_WPOSITION, RUNTYPE_BPOSITION, RUNTYPE_MASK, RUNTYPE_WPOSITION, SR_BPOSITION, SR_CHSTATUS_BPOSITION, SR_CHSTATUS_MASK, SR_CHSTATUS_WPOSITION, SR_MASK, SR_WPOSITION, TCC_CHSTATUS_BPOSITION, TCC_CHSTATUS_MASK, TCC_CHSTATUS_WPOSITION, TRIGGERTYPE_BPOSITION, TRIGGERTYPE_MASK, TRIGGERTYPE_WPOSITION, TZS_BPOSITION, TZS_MASK, TZS_WPOSITION, ZS_BPOSITION, ZS_MASK, and ZS_WPOSITION.
Referenced by DCCTBDataMapper().
00077 { 00078 00079 //32 Bit word numb 0 00080 dccFields_->insert( new DCCTBDataField("H",H_WPOSITION,H_BPOSITION,H_MASK)); 00081 emptyEventFields_->insert( new DCCTBDataField("H",H_WPOSITION,H_BPOSITION,H_MASK)); 00082 00083 dccFields_->insert( new DCCTBDataField("FOV",FOV_WPOSITION,FOV_BPOSITION,FOV_MASK)); 00084 emptyEventFields_->insert( new DCCTBDataField("FOV",FOV_WPOSITION,FOV_BPOSITION,FOV_MASK)); 00085 00086 dccFields_->insert( new DCCTBDataField("FED/DCC ID",DCCID_WPOSITION,DCCID_BPOSITION,DCCID_MASK)); 00087 emptyEventFields_->insert( new DCCTBDataField("FED/DCC ID",DCCID_WPOSITION,DCCID_BPOSITION,DCCID_MASK)); 00088 00089 dccFields_->insert( new DCCTBDataField("BX",DCCBX_WPOSITION,DCCBX_BPOSITION,DCCBX_MASK)); 00090 emptyEventFields_->insert( new DCCTBDataField("BX",DCCBX_WPOSITION,DCCBX_BPOSITION,DCCBX_MASK)); 00091 00092 //32Bit word numb 1 00093 dccFields_->insert( new DCCTBDataField("LV1",DCCL1_WPOSITION ,DCCL1_BPOSITION,DCCL1_MASK)); 00094 emptyEventFields_->insert( new DCCTBDataField("LV1",DCCL1_WPOSITION ,DCCL1_BPOSITION,DCCL1_MASK)); 00095 00096 dccFields_->insert( new DCCTBDataField("TRIGGER TYPE",TRIGGERTYPE_WPOSITION,TRIGGERTYPE_BPOSITION,TRIGGERTYPE_MASK)); 00097 emptyEventFields_->insert( new DCCTBDataField("TRIGGER TYPE",TRIGGERTYPE_WPOSITION,TRIGGERTYPE_BPOSITION,TRIGGERTYPE_MASK)); 00098 00099 dccFields_->insert( new DCCTBDataField("BOE",BOE_WPOSITION,BOE_BPOSITION,BOE_MASK)); 00100 emptyEventFields_->insert( new DCCTBDataField("BOE",BOE_WPOSITION,BOE_BPOSITION,BOE_MASK)); 00101 00102 //32Bit word numb 2 00103 dccFields_->insert( new DCCTBDataField("EVENT LENGTH",EVENTLENGTH_WPOSITION,EVENTLENGTH_BPOSITION,EVENTLENGTH_MASK)); 00104 emptyEventFields_->insert( new DCCTBDataField("EVENT LENGTH",EVENTLENGTH_WPOSITION,EVENTLENGTH_BPOSITION,EVENTLENGTH_MASK)); 00105 00106 dccFields_->insert( new DCCTBDataField("DCC ERRORS",DCCERRORS_WPOSITION ,DCCERRORS_BPOSITION,DCCERRORS_MASK)); 00107 emptyEventFields_->insert( new DCCTBDataField("DCC ERRORS",DCCERRORS_WPOSITION ,DCCERRORS_BPOSITION,DCCERRORS_MASK)); 00108 00109 //32Bit word numb 3 00110 dccFields_->insert( new DCCTBDataField("RUN NUMBER",RNUMB_WPOSITION,RNUMB_BPOSITION,RNUMB_MASK)); 00111 emptyEventFields_->insert( new DCCTBDataField("RUN NUMBER",RNUMB_WPOSITION,RNUMB_BPOSITION,RNUMB_MASK)); 00112 00113 //32 Bit word numb 4 00114 dccFields_->insert( new DCCTBDataField("RUN TYPE",RUNTYPE_WPOSITION,RUNTYPE_BPOSITION,RUNTYPE_MASK)); 00115 emptyEventFields_->insert( new DCCTBDataField("RUN TYPE",RUNTYPE_WPOSITION,RUNTYPE_BPOSITION,RUNTYPE_MASK)); 00116 00117 //32Bit word numb 5 00118 dccFields_->insert( new DCCTBDataField("DETAILED TRIGGER TYPE",DETAILEDTT_WPOSITION,DETAILEDTT_BPOSITION,DETAILEDTT_MASK)); 00119 emptyEventFields_->insert( new DCCTBDataField("DETAILED TRIGGER TYPE",DETAILEDTT_WPOSITION,DETAILEDTT_BPOSITION,DETAILEDTT_MASK)); 00120 00121 //32 Bit word numb 6 00122 dccFields_->insert( new DCCTBDataField("ORBIT COUNTER",ORBITCOUNTER_WPOSITION,ORBITCOUNTER_BPOSITION,ORBITCOUNTER_MASK)); 00123 00124 //32 Bit word numb 7 00125 dccFields_->insert( new DCCTBDataField("SR",SR_WPOSITION,SR_BPOSITION,SR_MASK)); 00126 dccFields_->insert( new DCCTBDataField("ZS",ZS_WPOSITION,ZS_BPOSITION,ZS_MASK)); 00127 dccFields_->insert( new DCCTBDataField("TZS",TZS_WPOSITION,TZS_BPOSITION,TZS_MASK)); 00128 00129 dccFields_->insert( new DCCTBDataField("SR_CHSTATUS",SR_CHSTATUS_WPOSITION,SR_CHSTATUS_BPOSITION,SR_CHSTATUS_MASK)); 00130 dccFields_->insert( new DCCTBDataField("TCC_CHSTATUS#1",TCC_CHSTATUS_WPOSITION,TCC_CHSTATUS_BPOSITION,TCC_CHSTATUS_MASK)); 00131 dccFields_->insert( new DCCTBDataField("TCC_CHSTATUS#2",TCC_CHSTATUS_WPOSITION,TCC_CHSTATUS_BPOSITION+4,TCC_CHSTATUS_MASK)); 00132 dccFields_->insert( new DCCTBDataField("TCC_CHSTATUS#3",TCC_CHSTATUS_WPOSITION,TCC_CHSTATUS_BPOSITION+8,TCC_CHSTATUS_MASK)); 00133 dccFields_->insert( new DCCTBDataField("TCC_CHSTATUS#4",TCC_CHSTATUS_WPOSITION,TCC_CHSTATUS_BPOSITION+12,TCC_CHSTATUS_MASK)); 00134 00135 00136 //add Headers Qualifiers: 8 words with 6 bits each written on the 2nd 32bit words 00137 for(ulong i=1;i<=8;i++){ 00138 std::string header = std::string("H") + parser_->getDecString(i); 00139 dccFields_->insert( new DCCTBDataField(header,HD_WPOSITION + (i-1)*2 ,HD_BPOSITION,HD_MASK)); 00140 00141 //fill only for empty events 00142 if(i<3){ emptyEventFields_->insert( new DCCTBDataField(header,HD_WPOSITION + (i-1)*2 ,HD_BPOSITION,HD_MASK)); } 00143 } 00144 00145 00146 //add FE_CHSTATUS: 5 words each having 14 FE_CHSTATUS 00147 for(ulong wcount = 1; wcount<=5; wcount++){ 00148 00149 //1st word 32 bit 00150 for(ulong i=1;i<=8;i++){ 00151 std::string chStatus = std::string("FE_CHSTATUS#") + parser_->getDecString( (wcount-1)*14 + i ); 00152 dccFields_->insert( new DCCTBDataField(chStatus, FE_CHSTATUS_WPOSITION +(wcount-1)*2, 4*(i-1),FE_CHSTATUS_MASK)); 00153 } 00154 00155 //2nd word 32 bit 00156 for(ulong i=9;i<=14;i++){ 00157 std::string chStatus = std::string("FE_CHSTATUS#") + parser_->getDecString((wcount-1)*14 + i); 00158 dccFields_->insert( new DCCTBDataField(chStatus, FE_CHSTATUS_WPOSITION + (wcount-1)*2 + 1,4*(i-9),FE_CHSTATUS_MASK)); 00159 } 00160 00161 } 00162 00163 }
void DCCTBDataMapper::buildSRPFields | ( | ) |
Definition at line 219 of file DCCDataMapper.cc.
References DCCTBDataParser::getDecString(), i, edm::eventsetup::heterocontainer::insert(), int, NSRF_BPOSITION, NSRF_MASK, NSRF_WPOSITION, parser_, sr, SRF_BPOSITION, SRF_MASK, SRF_WPOSITION, srp16Fields_, srp32Fields_, srp68Fields_, SRPBOFFSET, SRPBX_BPOSITION, SRPBX_MASK, SRPBX_WPOSITION, SRPE0_BPOSITION, SRPE0_MASK, SRPE0_WPOSITION, SRPE1_BPOSITION, SRPE1_MASK, SRPE1_WPOSITION, SRPID_BPOSITION, SRPID_MASK, SRPID_WPOSITION, SRPL1_BPOSITION, SRPL1_MASK, SRPL1_WPOSITION, SRPLE0_BPOSITION, SRPLE0_MASK, SRPLE0_WPOSITION, SRPLE1_BPOSITION, SRPLE1_MASK, and SRPLE1_WPOSITION.
Referenced by DCCTBDataMapper().
00219 { 00220 std::vector<std::set<DCCTBDataField *, DCCTBDataFieldComparator> * > pVector; 00221 pVector.push_back(srp68Fields_); 00222 pVector.push_back(srp32Fields_); 00223 pVector.push_back(srp16Fields_); 00224 00225 for(int i=0; i< ((int)(pVector.size())) ;i++){ 00226 // This method must be modified to take into account the different SRP blocks : 68 SRF in the barrel, 34 ,35 or 36 in the EE 00227 (pVector[i])->insert( new DCCTBDataField("SRP ID",SRPID_WPOSITION ,SRPID_BPOSITION,SRPID_MASK)); 00228 (pVector[i])->insert( new DCCTBDataField("BX",SRPBX_WPOSITION ,SRPBX_BPOSITION,SRPBX_MASK)); 00229 (pVector[i])->insert( new DCCTBDataField("E0",SRPE0_WPOSITION ,SRPE0_BPOSITION,SRPE0_MASK)); 00230 00231 (pVector[i])->insert( new DCCTBDataField("LV1",SRPL1_WPOSITION ,SRPL1_BPOSITION,SRPL1_MASK)); 00232 (pVector[i])->insert( new DCCTBDataField("E1", SRPE1_WPOSITION, SRPE1_BPOSITION, SRPE1_MASK)); 00233 (pVector[i])->insert( new DCCTBDataField("#SR FLAGS",NSRF_WPOSITION, NSRF_BPOSITION,NSRF_MASK)); 00234 (pVector[i])->insert( new DCCTBDataField("LE0",SRPLE0_WPOSITION, SRPLE0_BPOSITION, SRPLE0_MASK)); 00235 (pVector[i])->insert( new DCCTBDataField("LE1",SRPLE1_WPOSITION, SRPLE1_BPOSITION, SRPLE1_MASK)); 00236 } 00237 00238 ulong srpFlags(68); 00239 00240 ulong count1(1), count2(1), srSize(3), factor(0), wcount(0); 00241 for(ulong nsr =1; nsr<=srpFlags; nsr++){ 00242 00243 std::string sr = std::string("SR#") + parser_->getDecString(nsr); 00244 00245 srp68Fields_->insert( new DCCTBDataField(sr,SRF_WPOSITION + wcount, SRF_BPOSITION + SRPBOFFSET*factor + (count2-1)*srSize,SRF_MASK)); 00246 if( nsr<=32 ){ srp32Fields_->insert( new DCCTBDataField(sr,SRF_WPOSITION + wcount, SRF_BPOSITION + SRPBOFFSET*factor + (count2-1)*srSize,SRF_MASK));} 00247 if( nsr<=16 ){ srp16Fields_->insert( new DCCTBDataField(sr,SRF_WPOSITION + wcount, SRF_BPOSITION + SRPBOFFSET*factor + (count2-1)*srSize,SRF_MASK));} 00248 00249 count1++; count2++; 00250 00251 //update word count 00252 if( count1 > 8){ wcount++; count1=1;} 00253 00254 //update bit offset 00255 if(count1 > 4){ factor = 1;} 00256 else{factor = 0;} 00257 00258 //update bit shift 00259 if( count2 > 4){ count2 = 1;} 00260 00261 } 00262 }
void DCCTBDataMapper::buildTCCFields | ( | ) |
Definition at line 169 of file DCCDataMapper.cc.
References count, DCCTBDataParser::getDecString(), i, edm::eventsetup::heterocontainer::insert(), int, NTT_BPOSITION, NTT_MASK, NTT_WPOSITION, DCCTBDataParser::numbTriggerSamples(), parser_, tcc16Fields_, tcc32Fields_, tcc68Fields_, TCCBX_BPOSITION, TCCBX_MASK, TCCBX_WPOSITION, TCCE0_BPOSITION, TCCE0_MASK, TCCE0_WPOSITION, TCCE1_BPOSITION, TCCE1_MASK, TCCE1_WPOSITION, TCCID_BPOSITION, TCCID_MASK, TCCID_WPOSITION, TCCL1_BPOSITION, TCCL1_MASK, TCCL1_WPOSITION, TCCLE0_BPOSITION, TCCLE0_MASK, TCCLE0_WPOSITION, TCCLE1_BPOSITION, TCCLE1_MASK, TCCLE1_WPOSITION, TCCTSAMP_BPOSITION, TCCTSAMP_MASK, TCCTSAMP_WPOSITION, TPG_BPOSITION, TPG_MASK, TPG_WPOSITION, tt, TTF_BPOSITION, TTF_MASK, and TTF_WPOSITION.
Referenced by DCCTBDataMapper().
00169 { 00170 00171 std::vector<std::set<DCCTBDataField *, DCCTBDataFieldComparator> *> pVector; 00172 pVector.push_back(tcc16Fields_); 00173 pVector.push_back(tcc32Fields_); 00174 pVector.push_back(tcc68Fields_); 00175 00176 for(int i=0; i< ((int)(pVector.size())) ;i++){ 00177 (pVector[i])->insert( new DCCTBDataField("TCC ID",TCCID_WPOSITION ,TCCID_BPOSITION,TCCID_MASK)); 00178 (pVector[i])->insert( new DCCTBDataField("BX",TCCBX_WPOSITION ,TCCBX_BPOSITION,TCCBX_MASK)); 00179 (pVector[i])->insert( new DCCTBDataField("E0",TCCE0_WPOSITION ,TCCE0_BPOSITION,TCCE0_MASK)); 00180 (pVector[i])->insert( new DCCTBDataField("LV1",TCCL1_WPOSITION ,TCCL1_BPOSITION,TCCL1_MASK)); 00181 (pVector[i])->insert( new DCCTBDataField("E1", TCCE1_WPOSITION, TCCE1_BPOSITION, TCCE1_MASK)); 00182 (pVector[i])->insert( new DCCTBDataField("#TT", NTT_WPOSITION, NTT_BPOSITION, NTT_MASK)); 00183 (pVector[i])->insert( new DCCTBDataField("#TIME SAMPLES",TCCTSAMP_WPOSITION, TCCTSAMP_BPOSITION,TCCTSAMP_MASK)); 00184 (pVector[i])->insert( new DCCTBDataField("LE0",TCCLE0_WPOSITION, TCCLE0_BPOSITION, TCCLE0_MASK)); 00185 (pVector[i])->insert( new DCCTBDataField("LE1",TCCLE1_WPOSITION, TCCLE1_BPOSITION, TCCLE1_MASK)); 00186 } 00187 00188 ulong nTSamples = parser_->numbTriggerSamples(); 00189 00190 ulong totalTT = 68*nTSamples; 00191 00192 ulong filter1 = 16*nTSamples; 00193 ulong filter2 = 32*nTSamples; 00194 00195 ulong count(2) ; 00196 00197 // Fill block with TT definition 00198 for(ulong tt=1; tt<=totalTT; tt++){ 00199 std::string tpg = std::string("TPG#") + parser_->getDecString(tt); 00200 std::string ttFlag = std::string("TTF#") + parser_->getDecString(tt); 00201 00202 if(tt<=filter1){ 00203 tcc16Fields_->insert( new DCCTBDataField(tpg, TPG_WPOSITION -1 + count/2, TPG_BPOSITION + 16*( (count+2)%2 ),TPG_MASK)); 00204 tcc16Fields_->insert( new DCCTBDataField(ttFlag, TTF_WPOSITION -1 + count/2, TTF_BPOSITION + 16*( (count+2)%2 ),TTF_MASK)); 00205 } 00206 if(tt<=filter2){ 00207 tcc32Fields_->insert( new DCCTBDataField(tpg, TPG_WPOSITION -1 + count/2, TPG_BPOSITION + 16*( (count+2)%2 ),TPG_MASK)); 00208 tcc32Fields_->insert( new DCCTBDataField(ttFlag, TTF_WPOSITION -1 + count/2, TTF_BPOSITION + 16*( (count+2)%2 ),TTF_MASK)); 00209 } 00210 00211 tcc68Fields_->insert( new DCCTBDataField(tpg, TPG_WPOSITION -1 + count/2, TPG_BPOSITION + 16*( (count+2)%2 ),TPG_MASK)); 00212 tcc68Fields_->insert( new DCCTBDataField(ttFlag, TTF_WPOSITION -1 + count/2, TTF_BPOSITION + 16*( (count+2)%2 ),TTF_MASK)); 00213 count++; 00214 } 00215 00216 }
void DCCTBDataMapper::buildTowerFields | ( | ) |
Definition at line 269 of file DCCDataMapper.cc.
References TOWERBX_BPOSITION, TOWERBX_MASK, TOWERBX_WPOSITION, TOWERE0_BPOSITION, TOWERE0_MASK, TOWERE0_WPOSITION, TOWERE1_BPOSITION, TOWERE1_MASK, TOWERE1_WPOSITION, towerFields_, TOWERID_BPOSITION, TOWERID_MASK, TOWERID_WPOSITION, TOWERL1_BPOSITION, TOWERL1_MASK, TOWERL1_WPOSITION, TOWERLENGTH_BPOSITION, TOWERLENGTH_MASK, TOWERLENGTH_WPOSITION, XSAMP_BPOSITION, XSAMP_MASK, and XSAMP_WPOSITION.
Referenced by DCCTBDataMapper().
00269 { 00270 //32bit word numb 1 00271 towerFields_->insert( new DCCTBDataField("TT/SC ID",TOWERID_WPOSITION ,TOWERID_BPOSITION,TOWERID_MASK)); 00272 towerFields_->insert( new DCCTBDataField("#TIME SAMPLES",XSAMP_WPOSITION ,XSAMP_BPOSITION,XSAMP_MASK)); 00273 towerFields_->insert( new DCCTBDataField("BX", TOWERBX_WPOSITION ,TOWERBX_BPOSITION,TOWERBX_MASK)); 00274 towerFields_->insert( new DCCTBDataField("E0",TOWERE0_WPOSITION ,TOWERE0_BPOSITION,TOWERE0_MASK)); 00275 00276 //32 bit word numb 2 00277 towerFields_->insert( new DCCTBDataField("LV1",TOWERL1_WPOSITION ,TOWERL1_BPOSITION, TOWERL1_MASK)); 00278 towerFields_->insert( new DCCTBDataField("E1", TOWERE1_WPOSITION, TOWERE1_BPOSITION, TOWERE1_MASK)); 00279 towerFields_->insert( new DCCTBDataField("BLOCK LENGTH",TOWERLENGTH_WPOSITION, TOWERLENGTH_BPOSITION,TOWERLENGTH_MASK)); 00280 }
void DCCTBDataMapper::buildTrailerFields | ( | ) |
Definition at line 317 of file DCCDataMapper.cc.
References CRC_BPOSITION, CRC_MASK, CRC_WPOSITION, EOE_BPOSITION, EOE_MASK, EOE_WPOSITION, ESTAT_BPOSITION, ESTAT_MASK, ESTAT_WPOSITION, T_BPOSITION, T_MASK, T_WPOSITION, TLENGTH_BPOSITION, TLENGTH_MASK, TLENGTH_WPOSITION, trailerFields_, TTS_BPOSITION, TTS_MASK, and TTS_WPOSITION.
Referenced by DCCTBDataMapper().
00317 { 00318 //32bit word numb 1 00319 trailerFields_->insert(new DCCTBDataField("T",T_WPOSITION,T_BPOSITION,T_MASK)); 00320 trailerFields_->insert(new DCCTBDataField("TTS",TTS_WPOSITION,TTS_BPOSITION,TTS_MASK)); 00321 trailerFields_->insert(new DCCTBDataField("EVENT STATUS",ESTAT_WPOSITION,ESTAT_BPOSITION,ESTAT_MASK)); 00322 trailerFields_->insert(new DCCTBDataField("CRC",CRC_WPOSITION,CRC_BPOSITION,CRC_MASK)); 00323 00324 //32bit word numb 2 00325 trailerFields_->insert(new DCCTBDataField("EVENT LENGTH",TLENGTH_WPOSITION,TLENGTH_BPOSITION,TLENGTH_MASK)); 00326 trailerFields_->insert(new DCCTBDataField("EOE",EOE_WPOSITION,EOE_BPOSITION,EOE_MASK)); 00327 00328 }
void DCCTBDataMapper::buildXtalFields | ( | ) |
Definition at line 287 of file DCCDataMapper.cc.
References ecalMGPA::adc(), ADC_MASK, ADC_WPOSITION, ADCBOFFSET, DCCTBDataParser::getDecString(), GMF_BPOSITION, GMF_MASK, GMF_WPOSITION, i, M_BPOSITION, M_MASK, M_WPOSITION, DCCTBDataParser::numbXtalSamples(), parser_, SMF_BPOSITION, SMF_MASK, SMF_WPOSITION, STRIPID_BPOSITION, STRIPID_MASK, STRIPID_WPOSITION, XTAL_GDECISION_BPOSITION, XTAL_GDECISION_MASK, XTAL_GDECISION_WPOSITION, XTAL_TZS_BPOSITION, XTAL_TZS_MASK, XTAL_TZS_WPOSITION, xtalFields_, XTALID_BPOSITION, XTALID_MASK, and XTALID_WPOSITION.
Referenced by DCCTBDataMapper().
00287 { 00288 00289 //32bit word numb 1 00290 xtalFields_->insert(new DCCTBDataField("STRIP ID",STRIPID_WPOSITION,STRIPID_BPOSITION,STRIPID_MASK)); 00291 xtalFields_->insert(new DCCTBDataField("XTAL ID",XTALID_WPOSITION,XTALID_BPOSITION,XTALID_MASK)); 00292 xtalFields_->insert(new DCCTBDataField("M",M_WPOSITION,M_BPOSITION,M_MASK)); 00293 xtalFields_->insert(new DCCTBDataField("SMF",SMF_WPOSITION,SMF_BPOSITION,SMF_MASK)); 00294 xtalFields_->insert(new DCCTBDataField("GMF",GMF_WPOSITION,GMF_BPOSITION,GMF_MASK)); 00295 00296 //first ADC is still on 1st word 00297 xtalFields_->insert(new DCCTBDataField("ADC#1",ADC_WPOSITION,ADCBOFFSET,ADC_MASK)); 00298 00299 //add the rest of the ADCs 00300 for(ulong i=2; i <= parser_->numbXtalSamples();i++){ 00301 std::string adc = std::string("ADC#") + parser_->getDecString(i); 00302 if(i%2){ xtalFields_->insert(new DCCTBDataField(adc,ADC_WPOSITION + i/2, ADCBOFFSET,ADC_MASK)); } 00303 else { xtalFields_->insert(new DCCTBDataField(adc,ADC_WPOSITION + i/2, 0,ADC_MASK)); } 00304 } 00305 00306 //the last word has written the test zero suppression flag and the gain decision bit 00307 ulong tzsOffset_ = parser_->numbXtalSamples()/2; 00308 xtalFields_->insert(new DCCTBDataField("TZS",XTAL_TZS_WPOSITION+tzsOffset_,XTAL_TZS_BPOSITION,XTAL_TZS_MASK)); 00309 xtalFields_->insert(new DCCTBDataField("GDECISION",XTAL_GDECISION_WPOSITION+tzsOffset_,XTAL_GDECISION_BPOSITION,XTAL_GDECISION_MASK)); 00310 }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::dccFields | ( | ) | [inline] |
Return methods for raw data fields.
Definition at line 108 of file DCCDataMapper.h.
References dccFields_.
Referenced by DCCTBEventBlock::DCCTBEventBlock().
00108 { return dccFields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::emptyEventFields | ( | ) | [inline] |
Definition at line 109 of file DCCDataMapper.h.
References emptyEventFields_.
Referenced by DCCTBEventBlock::DCCTBEventBlock().
00109 { return emptyEventFields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp16Fields | ( | ) | [inline] |
Definition at line 115 of file DCCDataMapper.h.
References srp16Fields_.
Referenced by DCCTBSRPBlock::DCCTBSRPBlock().
00115 { return srp16Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp32Fields | ( | ) | [inline] |
Definition at line 114 of file DCCDataMapper.h.
References srp32Fields_.
Referenced by DCCTBSRPBlock::DCCTBSRPBlock().
00114 { return srp32Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp68Fields | ( | ) | [inline] |
Definition at line 113 of file DCCDataMapper.h.
References srp68Fields_.
Referenced by DCCTBSRPBlock::DCCTBSRPBlock().
00113 { return srp68Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc16Fields | ( | ) | [inline] |
Definition at line 112 of file DCCDataMapper.h.
References tcc16Fields_.
Referenced by DCCTBTCCBlock::DCCTBTCCBlock().
00112 { return tcc16Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc32Fields | ( | ) | [inline] |
Definition at line 111 of file DCCDataMapper.h.
References tcc32Fields_.
Referenced by DCCTBTCCBlock::DCCTBTCCBlock().
00111 { return tcc32Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc68Fields | ( | ) | [inline] |
Definition at line 110 of file DCCDataMapper.h.
References tcc68Fields_.
Referenced by DCCTBTCCBlock::DCCTBTCCBlock().
00110 { return tcc68Fields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::towerFields | ( | ) | [inline] |
Definition at line 116 of file DCCDataMapper.h.
References towerFields_.
Referenced by DCCTBTowerBlock::DCCTBTowerBlock().
00116 { return towerFields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::trailerFields | ( | ) | [inline] |
Definition at line 118 of file DCCDataMapper.h.
References trailerFields_.
Referenced by DCCTBTrailerBlock::DCCTBTrailerBlock().
00118 { return trailerFields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::xtalFields | ( | ) | [inline] |
Definition at line 117 of file DCCDataMapper.h.
References xtalFields_.
Referenced by DCCTBXtalBlock::DCCTBXtalBlock().
00117 { return xtalFields_; }
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::dccFields_ [protected] |
Definition at line 122 of file DCCDataMapper.h.
Referenced by buildDCCFields(), dccFields(), DCCTBDataMapper(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::emptyEventFields_ [protected] |
Definition at line 123 of file DCCDataMapper.h.
Referenced by buildDCCFields(), DCCTBDataMapper(), emptyEventFields(), and ~DCCTBDataMapper().
DCCTBDataParser* DCCTBDataMapper::parser_ [protected] |
Definition at line 121 of file DCCDataMapper.h.
Referenced by buildDCCFields(), buildSRPFields(), buildTCCFields(), and buildXtalFields().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp16Fields_ [protected] |
Definition at line 130 of file DCCDataMapper.h.
Referenced by buildSRPFields(), DCCTBDataMapper(), srp16Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp32Fields_ [protected] |
Definition at line 129 of file DCCDataMapper.h.
Referenced by buildSRPFields(), DCCTBDataMapper(), srp32Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::srp68Fields_ [protected] |
Definition at line 128 of file DCCDataMapper.h.
Referenced by buildSRPFields(), DCCTBDataMapper(), srp68Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc16Fields_ [protected] |
Definition at line 126 of file DCCDataMapper.h.
Referenced by buildTCCFields(), DCCTBDataMapper(), tcc16Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc32Fields_ [protected] |
Definition at line 125 of file DCCDataMapper.h.
Referenced by buildTCCFields(), DCCTBDataMapper(), tcc32Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::tcc68Fields_ [protected] |
Definition at line 124 of file DCCDataMapper.h.
Referenced by buildTCCFields(), DCCTBDataMapper(), tcc68Fields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::towerFields_ [protected] |
Definition at line 132 of file DCCDataMapper.h.
Referenced by buildTowerFields(), DCCTBDataMapper(), towerFields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::trailerFields_ [protected] |
Definition at line 134 of file DCCDataMapper.h.
Referenced by buildTrailerFields(), DCCTBDataMapper(), trailerFields(), and ~DCCTBDataMapper().
std::set<DCCTBDataField *, DCCTBDataFieldComparator>* DCCTBDataMapper::xtalFields_ [protected] |
Definition at line 133 of file DCCDataMapper.h.
Referenced by buildXtalFields(), DCCTBDataMapper(), xtalFields(), and ~DCCTBDataMapper().