41 <<
"\n Unable to unpack Tower block for event "<<
event_->
l1A()<<
" in fed "<<activeDCC
42 <<
"\n The end of event was reached "
43 <<
"\n(or, previously, pointers intended to navigate outside of FedBlock (based on block sizes), and were stopped by setting dwToEnd_ to zero)" ;
74 expTowerID_ <= mapper_->getNumChannelsInDcc(activeDCC) ){
79 <<
" => Skipping to next FE block...";
95 <<
"\n the FE_id found: "<<
towerId_<<
" exceeds max number of FE foreseen in fed"
96 <<
"\n => Skipping to next FE block...";
114 <<
"Synchronization error for Tower Block"
116 <<
" dccBx = " << dccBx <<
" bx_ = " <<
bx_ <<
" dccL1 = " << dccL1 <<
" l1_ = " <<
l1_ <<
"\n"
117 <<
" => Skipping to next tower block";
132 <<
"\n => Skipping to next tower block...";
147 <<
"\n Only "<<((*dwToEnd_)*8)<<
" bytes are available while "<<
blockSize_<<
" are needed!"
148 <<
"\n => Skipping to next fed block...";
162 <<
"\n => Skipping to next fed block...";
182 <<
"\n => Keeps unpacking as the unpacker was forced to keep FR data (by configuration) ...";
194 <<
"\n => Skipping to next fed block...";
220 unsigned int expStripID(0), expXtalID(0);
224 int statusUnpackXtal =0;
226 for(
unsigned int numbXtal=1; numbXtal <= numbOfXtalBlocks && statusUnpackXtal!=
SKIP_BLOCK_UNPACKING; numbXtal++){
230 expStripID = ( numbXtal-1)/5 + 1;
231 expXtalID = numbXtal - (expStripID-1)*5;
240 <<
"\n The tower "<<
towerId_<<
" won't be unpacked further";
256 o<<
"\n Unpacked Info for DCC Tower Block"
257 <<
"\n DW1 ============================="
bool isSynced(const unsigned int dccBx, const unsigned int bx, const unsigned int dccL1, const unsigned int l1, const BlockType type, const unsigned int fov)
std::auto_ptr< EcalElectronicsIdCollection > * invalidTTIdsCollection()
unsigned int getActiveDCC()
std::auto_ptr< EcalElectronicsIdCollection > * invalidTTIds_
unsigned int xtalBlockSize_
unsigned int getNumChannelsInDcc(unsigned int aDCCId)
std::auto_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
int unpack(const uint64_t **data, unsigned int *dwToEnd, bool zs, unsigned int expectedTowerID)
DCCFEBlock(DCCDataUnpacker *u, EcalElectronicsMapper *m, DCCEventBlock *e, bool unpack, bool forceToKeepFRdata)
virtual void updateCollectors()
unsigned int blockLength_
std::auto_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
void setFESyncNumbers(short l1, short bx, short id)
std::auto_ptr< EcalElectronicsIdCollection > * invalidZSXtalIdsCollection()
unsigned int numbXtalTSamples()
unsigned long long uint64_t
unsigned int expXtalTSamples_
unsigned int lastStripId_
DCCDataUnpacker * unpacker_
unsigned int getUnfilteredTowerBlockLength()
virtual int unpackXtalData(unsigned int stripID, unsigned int xtalID)
char data[epos_bytes_allocation]
short getHLTChannel(int channel)
virtual void updateEventPointers()
unsigned int numbDWInXtalBlock_
unsigned int unfilteredDataBlockLength_
volatile std::atomic< bool > shutdown_flag false
EcalElectronicsMapper * mapper_
unsigned int getActiveSM()
std::auto_ptr< EcalElectronicsIdCollection > * invalidBlockLengthsCollection()
void display(std::ostream &o)
virtual void fillEcalElectronicsError(std::auto_ptr< EcalElectronicsIdCollection > *)