18 Module::TypeIter_t TIBlobModule::fgThisType =
19 DoRegister( ModuleType(
"Decoder::TIBlobModule" , 4 ));
33 #if defined DEBUG && defined WITH_DEBUG
49 std::vector< UInt_t > evb;
50 while(evbuffer < pstop) evb.push_back(*evbuffer++);
63 return LoadSlot(sldat, evbuffer+pos, evbuffer+pos+len);
80 UInt_t evlen = evbuffer.size();
83 UInt_t ifill = (((evbuffer[0] >> 27) & 0x1F) == 0x1F) ? 1 : 0;
85 UInt_t header1=evbuffer[ifill];
86 UInt_t slot_blk_hdr=(header1 >> 22) & 0x1F;
87 if(
fSlot != slot_blk_hdr) {
90 fData[0] = (evbuffer[2 + ifill] >> 24) & 0xFF;
91 fData[1] = evbuffer[3 + ifill];
92 fData[2] = (evlen>5+ifill) ? evbuffer[4 + ifill] : 0;
115 std::vector<UInt_t > oneEventBuffer;
132 Int_t slot_blk_hdr, slot_evt_hdr, slot_blk_trl;
133 Int_t iblock_num, nblock_events, nwords_inblock, evt_num;
141 if(codabuffer.size() > 2) {
142 UInt_t header1=codabuffer[0];
143 UInt_t header2=codabuffer[1];
145 if((header1&0xF8000000)==0x80000000 &&
146 (header1&0xF8000000)==0xF8000000) {
147 slot_blk_hdr = (header1 >> 22) & 0x1F;
149 nblock_events = header1 & 0xFF;
152 while(i+1 < codabuffer.size()) {
std::vector< std::vector< UInt_t > > eventblock
virtual void Clear(const Option_t *opt="")
std::vector< UInt_t > fData
virtual Int_t SplitBuffer(const std::vector< UInt_t > &bigbuffer)
virtual UInt_t GetData(UInt_t chan) const
static const size_t NTICHAN
std::ofstream * fDebugFile
virtual UInt_t LoadNextEvBuffer(THaSlotData *sldat)
virtual UInt_t LoadThisBlock(THaSlotData *sldat, const std::vector< UInt_t > &evbuffer)
virtual UInt_t LoadSlot(THaSlotData *sldat, const UInt_t *evbuffer, const UInt_t *pstop)
std::vector< UInt_t > GetNextBlock()
Int_t loadData(const char *type, UInt_t chan, UInt_t dat, UInt_t raw)
ClassImp(THcDCLookupTTDConv) THcDCLookupTTDConv
virtual void Clear(Option_t *="")