X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2FTPCLib%2FAliHLTTPCDigitReader.h;h=7f4bc714364f5f1a237531c821fa1b2d43519c03;hb=dc7d04a6bddef82a07e8dbf72dc1ae110b968412;hp=7b61cd8cdf7086e5fe1d026e7cf243a116b30bab;hpb=092a13749d3ec3be9f5bee2eb76caa5eee4056a5;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/TPCLib/AliHLTTPCDigitReader.h b/HLT/TPCLib/AliHLTTPCDigitReader.h index 7b61cd8cdf7..7f4bc714364 100644 --- a/HLT/TPCLib/AliHLTTPCDigitReader.h +++ b/HLT/TPCLib/AliHLTTPCDigitReader.h @@ -16,6 +16,7 @@ #include "AliHLTLogging.h" #include "TObject.h" +#include "AliHLTTPCDigitData.h" /** * @class AliHLTTPCDigitReader @@ -67,6 +68,11 @@ public: */ virtual int InitBlock(void* ptr,unsigned long size,Int_t firstrow,Int_t lastrow, Int_t patch, Int_t slice); + /** + * Reset digit reader and release internal structures. + */ + virtual int Reset() {return 0;} + enum { kNextSignal = 1, kNextChannel, @@ -143,6 +149,11 @@ public: */ virtual const UInt_t* GetSignals(); + /** + * Get pointer to the the current ADC value. In UShort_t, used by the 32BitFormat decoder + */ + virtual const UShort_t* GetSignalsShort(); + /** * Get the time bin of the current value. * If @ref NextBunch has been used the function returns the @@ -188,6 +199,22 @@ public: */ virtual int GetRowOffset() const; + /** + * Returns the trailer size. + */ + virtual int GetRCUTrailerSize(); + + /** + * Returns the trailer data. + */ + virtual bool GetRCUTrailerData(UChar_t*& trData); + + /** + * Returns the digits + */ + virtual const AliHLTTPCDigitData* GetBunchDigits(){return 0;} + + /** * Access operator to the data of a specific time bin. * Not clear if we can manage this. @@ -218,6 +245,8 @@ public: kNoRewind = 0x4, /** warning missing fast access methods */ kWarnMissFastAccess = 0x8, + /** warning on missing RCU trailer getters */ + kWarnMissTrailerGetters = 0x10, /** channel caching enabled */ kChannelCaching = 0x100 }; @@ -258,10 +287,10 @@ protected: private: /** - * Print a warning on the missing fast access methods. + * Print a warning once for missing functionality. * Set corresponding flag to avoid repetitive warnings. */ - void PrintMissingFastAccessWarning(); + void PrintWarningOnce(int type, const char* message); /** pad/channel is locked */ unsigned int fFlags; //!transient