ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » DATASOURCE » HTrb3TdcUnpacker

class HTrb3TdcUnpacker: public HTrb3Unpacker


  HTrb3TdcUnpacker

  This is class to unpack and calibrate data of single FPGA TDC
  It should be similar to functionality of hadaq::TdcProcessor from 'stream' framework


Function Members (Methods)

public:
HTrb3TdcUnpacker(vector<UInt_t>& ids)
HTrb3TdcUnpacker(const HTrb3TdcUnpacker&)
virtual~HTrb3TdcUnpacker()
voidTObject::AbstractMethod(const char* method) const
Int_taddTDC(UInt_t trbaddr, size_t numchannels = maxchan)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tcorrectRefTimeCh(UInt_t ch = 0)
Int_tHldUnpack::decodeTrbNet(UInt_t* data, Int_t subEventId = 0)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Int_tHTrb3Unpacker::execute()
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual Bool_tHldUnpack::finalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
HTrb3TdcUnpacker::TDC*getActiveTDC(UInt_t n)
Int_tHTrb3Unpacker::getDebugFlag()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
HTrb3TdcUnpacker::TDC*getFilledTDC(UInt_t n)
HldEvt*HldUnpack::getHldEvt()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
HldSubEvt**HldUnpack::getpSubEvt()
virtual Int_tHTrb3Unpacker::getSubEvtId()
vector<UInt_t>&HTrb3Unpacker::getSubEvtIds()
HTrb3TdcUnpacker::TDC*getTDC(UInt_t n)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Bool_tHTrb3Unpacker::init()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tHTrb3Unpacker::isQuietMode() const
Bool_tHTrb3Unpacker::isReportCritical() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
UInt_tnumActiveTDC() const
UInt_tnumFilledTDC() const
UInt_tnumTDC() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HTrb3TdcUnpacker&operator=(const HTrb3TdcUnpacker&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_treinit()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
Bool_tscanTdcData(UInt_t trbaddr, UInt_t* data, UInt_t datalen)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetCalibrationSource(UInt_t s)
voidHldUnpack::setCategory(HCategory* aCat)
voidHTrb3Unpacker::setCTSId(UInt_t id)
voidHTrb3Unpacker::setDebugFlag(Int_t db)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHldUnpack::setHldEvt(HldEvt* evt)
voidHTrb3Unpacker::setHUBId(UInt_t id)
voidsetMaxAddress(UInt_t trbnetaddress)
voidsetMinAddress(UInt_t trbnetaddress)
static voidTObject::SetObjectStat(Bool_t stat)
voidHTrb3Unpacker::setQuietMode()
voidHTrb3Unpacker::setReportCritical()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidaddCalpar(UInt_t id1, HTrb3CalparTdc*)
virtual voidclearAll()
Bool_tHTrb3Unpacker::decode()
virtual Bool_tdecodeData(UInt_t trbaddr, UInt_t n, UInt_t* data)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
UInt_tHTrb3Unpacker::getCurrentSubEvtId()
Int_tgetEventSeqNumber()
voidTObject::MakeZombie()
voidHTrb3Unpacker::setCurrentSubEvtId(UInt_t id)

Data Members

public:
static const size_tmaxchan
protected:
HTrb3Calpar*calpar! TDC calibration parameters
Int_tHTrb3Unpacker::debugFlag! allows to print subevent information to the STDOUT
map<UInt_t,HTrb3CalparTdc*>fCalpars
UInt_tHTrb3Unpacker::fCurrentsubEvtId! current subevent id taken from the data stream
vector<Int_t>fFilledTDCs! if USE_FILLED_TDC is defined this list contains TDC with data
UInt_tfMaxAddress!< for check of address range when autoregistration of tdcs
UInt_tfMinAddress!< for check of address range when autoregistration of tdcs
vector<TDC>fTDCs!
map<UInt_t,Int_t>fTDCsMap!
Bool_tfUseTDCFromLookup! kTRUE : list of TDC build from lookup table, kFALSE : autoregister mode
vector<Int_t>factiveTDCs! list of TDCs found in the data stream
vector<UInt_t>HTrb3Unpacker::fsubEvtIds! list of subevent id
vector<HldSubEvt>HTrb3Unpacker::fsubEvts! list of subevent id
Int_tnCalSrc! 0 -auto, 1 - no calibration, 2 - calpar, 3 - DAQ
HldEvt*HldUnpack::pEvt!
HCategory*HldUnpack::pRawCat! pointer to category where data will be stored;
HldSubEvt*HldUnpack::pSubEvt! pointer to subevent where data are read from
Bool_tHTrb3Unpacker::quietMode! do not print errors!
Bool_tHTrb3Unpacker::reportCritical! report critical errors!
HTrbNetUnpacker*HldUnpack::trbNetUnpacker! Poinetr to unpacker for TRB Net data structures
UInt_tHTrb3Unpacker::uCTSId! number like 0x8000 which indicates CTS block in data
UInt_tHTrb3Unpacker::uHUBId! number like 0x9000 which works as envelope for external TDCs

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Int_t correctRefTimeCh(UInt_t ch = 0)
 calculates all times to first hit in channel 0
Int_t getEventSeqNumber()
void addCalpar(UInt_t id1, HTrb3CalparTdc* )
HTrb3TdcUnpacker(vector<UInt_t>& ids)
virtual ~HTrb3TdcUnpacker()
Bool_t reinit()
UInt_t numTDC() const
{ return fTDCs.size(); }
TDC * getTDC(UInt_t n)
{ return &(fTDCs[n]); }
UInt_t numActiveTDC() const
{ return factiveTDCs.size(); }
TDC * getActiveTDC(UInt_t n)
{ return &(fTDCs[factiveTDCs[n]]); }
UInt_t numFilledTDC() const
{ return fFilledTDCs.size(); }
TDC * getFilledTDC(UInt_t n)
{ return &(fTDCs[fFilledTDCs[n]]); }
Int_t addTDC(UInt_t trbaddr, size_t numchannels = maxchan)
 preassign tdc of expected trbnet address. returns index in map
void setCalibrationSource(UInt_t s)
{ nCalSrc = s; }
Bool_t scanTdcData(UInt_t trbaddr, UInt_t* data, UInt_t datalen)
void setMinAddress(UInt_t trbnetaddress)
{ fMinAddress=trbnetaddress; }
void setMaxAddress(UInt_t trbnetaddress)
{ fMaxAddress=trbnetaddress; }
void clearAll()
Bool_t decodeData(UInt_t trbaddr, UInt_t n, UInt_t* data)