Project
Loading...
Searching...
No Matches
o2::tof::compressed::Decoder Class Reference

Decoder class for TOF. More...

#include <Decoder.h>

Inherits o2::tof::WindowFiller.

Classes

struct  DigitInfo
 

Public Member Functions

 Decoder ()
 
 ~Decoder ()=default
 
bool open (std::string name)
 
bool decode ()
 
void readTRM (int icru, int icrate, uint32_t orbit, uint16_t bunchid)
 
void InsertDigit (int icrate, int itrm, int itdc, int ichain, int channel, uint32_t orbit, uint16_t bunchid, int time_ext, int tdc, int tot)
 
void fillWindows ()
 
void clear ()
 
bool close ()
 
void setVerbose (bool val)
 
void printRDH () const
 
void printCrateInfo (int icru) const
 
void printTRMInfo (int icru) const
 
void printCrateTrailerInfo (int icru) const
 
void printHitInfo (int icru) const
 
charnextPage (void *current, int shift=8192)
 
std::vector< uint64_t > & getErrors ()
 
void addError (const uint32_t val, int icrate)
 
- Public Member Functions inherited from o2::tof::WindowFiller
 WindowFiller ()
 
 ~WindowFiller ()=default
 
void initObj ()
 
void reset ()
 
uint64_t getCurrentReadoutWindow () const
 
void setCurrentReadoutWindow (uint64_t value)
 
void setEventTime (InteractionTimeRecord value)
 
std::vector< Digit > * getDigitPerTimeFrame ()
 
std::vector< ReadoutWindowData > * getReadoutWindowData ()
 
std::vector< ReadoutWindowData > * getReadoutWindowDataFiltered ()
 
DigitHeadergetDigitHeader ()
 
template<typename VROF , typename VPAT >
void setReadoutWindowData (const VROF &row, const VPAT &pattern)
 
void setNOrbitInTF (uint32_t norb)
 
void fillOutputContainer (std::vector< Digit > &digits)
 
void flushOutputContainer (std::vector< Digit > &digits)
 
void setContinuous (bool value=true)
 
bool isContinuous () const
 
void fillDiagnosticFrequency ()
 
void resizeVectorFutureDigit (int size)
 
void setFirstIR (const o2::InteractionRecord &ir)
 
void maskNoiseRate (int val)
 
void clearCounts ()
 
std::vector< uint8_t > & getPatterns ()
 
void addPattern (const uint32_t val, int icrate, int orbit, int bc)
 
void addCrateHeaderData (unsigned long orbit, int crate, int32_t bc, uint32_t eventCounter)
 
DiagnosticgetDiagnosticFrequency ()
 
void addCount (int channel)
 

Static Public Member Functions

static void fromRawHit2Digit (int icrate, int itrm, int itdc, int ichain, int channel, uint32_t orbit, uint16_t bunchid, int tdc, int tot, DigitInfo &dinfo)
 

Protected Attributes

int mIntegratedBytes [NCRU]
 
double mIntegratedTime = 0.
 
std::ifstream mFile [NCRU]
 
bool mVerbose = false
 
bool mCruIn [NCRU]
 
charmBuffer [NCRU]
 
std::vector< charmBufferLocal
 
long mSize [NCRU]
 
Union_tmUnion [NCRU]
 
Union_tmUnionEnd [NCRU]
 
int mHitDecoded = 0
 
o2::header::RAWDataHeadermRDH
 
- Protected Attributes inherited from o2::tof::WindowFiller
uint64_t mReadoutWindowCurrent = 0
 
InteractionRecord mFirstIR {0, 0}
 
InteractionTimeRecord mEventTime
 
bool mContinuous = true
 
bool mFutureToBeSorted = false
 
int mMaskNoiseRate = -11
 
int mChannelCounts [o2::tof::Geo::NCHANNELS]
 
std::vector< DigitmDigitsPerTimeFrame
 
std::vector< ReadoutWindowDatamReadoutWindowData
 
std::vector< ReadoutWindowDatamReadoutWindowDataFiltered
 
int mIcurrentReadoutWindow = 0
 
std::vector< StripmStrips [MAXWINDOWS]
 
std::vector< Strip > * mStripsCurrent = &(mStrips[0])
 
std::vector< Strip > * mStripsNext [MAXWINDOWS - 1]
 
std::vector< DigitmFutureDigits
 
std::vector< uint8_t > mPatterns
 
std::vector< uint64_t > mErrors
 
Diagnostic mDiagnosticFrequency
 
std::vector< PatternDatamCratePatterns
 
std::vector< CrateHeaderDatamCrateHeaderData
 
DigitHeader mDigitHeader
 

Static Protected Attributes

static const int NCRU = 4
 
- Static Protected Attributes inherited from o2::tof::WindowFiller
static const int MAXWINDOWS = 2
 

Additional Inherited Members

- Protected Member Functions inherited from o2::tof::WindowFiller
void fillDigitsInStrip (std::vector< Strip > *strips, int channel, int tdc, int tot, uint64_t nbc, UInt_t istrip, uint32_t triggerorbit=0, uint16_t triggerbunch=0)
 
void checkIfReuseFutureDigits ()
 
void checkIfReuseFutureDigitsRO ()
 
void insertDigitInFuture (Int_t channel, Int_t tdc, Int_t tot, uint64_t bc, Int_t label=0, uint32_t triggerorbit=0, uint16_t triggerbunch=0)
 
bool isMergable (Digit digit1, Digit digit2)
 
 ClassDefNV (WindowFiller, 2)
 

Detailed Description

Decoder class for TOF.

Definition at line 38 of file Decoder.h.

Constructor & Destructor Documentation

◆ Decoder()

o2::tof::compressed::Decoder::Decoder ( )

Definition at line 31 of file Decoder.cxx.

◆ ~Decoder()

o2::tof::compressed::Decoder::~Decoder ( )
default

Member Function Documentation

◆ addError()

void o2::tof::compressed::Decoder::addError ( const uint32_t  val,
int  icrate 
)
inline

Definition at line 76 of file Decoder.h.

◆ clear()

void o2::tof::compressed::Decoder::clear ( )

Definition at line 114 of file Decoder.cxx.

◆ close()

bool o2::tof::compressed::Decoder::close ( )

Definition at line 104 of file Decoder.cxx.

◆ decode()

bool o2::tof::compressed::Decoder::decode ( )

Definition at line 259 of file Decoder.cxx.

◆ fillWindows()

void o2::tof::compressed::Decoder::fillWindows ( )

Definition at line 358 of file Decoder.cxx.

◆ fromRawHit2Digit()

void o2::tof::compressed::Decoder::fromRawHit2Digit ( int  icrate,
int  itrm,
int  itdc,
int  ichain,
int  channel,
uint32_t  orbit,
uint16_t  bunchid,
int  tdc,
int  tot,
Decoder::DigitInfo dinfo 
)
static

Definition at line 233 of file Decoder.cxx.

◆ getErrors()

std::vector< uint64_t > & o2::tof::compressed::Decoder::getErrors ( )
inline

Definition at line 75 of file Decoder.h.

◆ InsertDigit()

void o2::tof::compressed::Decoder::InsertDigit ( int  icrate,
int  itrm,
int  itdc,
int  ichain,
int  channel,
uint32_t  orbit,
uint16_t  bunchid,
int  time_ext,
int  tdc,
int  tot 
)

Definition at line 126 of file Decoder.cxx.

◆ nextPage()

char * o2::tof::compressed::Decoder::nextPage ( void current,
int  shift = 8192 
)

Definition at line 251 of file Decoder.cxx.

◆ open()

bool o2::tof::compressed::Decoder::open ( std::string  name)

Definition at line 41 of file Decoder.cxx.

◆ printCrateInfo()

void o2::tof::compressed::Decoder::printCrateInfo ( int  icru) const

Definition at line 364 of file Decoder.cxx.

◆ printCrateTrailerInfo()

void o2::tof::compressed::Decoder::printCrateTrailerInfo ( int  icru) const

Definition at line 374 of file Decoder.cxx.

◆ printHitInfo()

void o2::tof::compressed::Decoder::printHitInfo ( int  icru) const

Definition at line 394 of file Decoder.cxx.

◆ printRDH()

void o2::tof::compressed::Decoder::printRDH ( ) const

Definition at line 405 of file Decoder.cxx.

◆ printTRMInfo()

void o2::tof::compressed::Decoder::printTRMInfo ( int  icru) const

Definition at line 383 of file Decoder.cxx.

◆ readTRM()

void o2::tof::compressed::Decoder::readTRM ( int  icru,
int  icrate,
uint32_t  orbit,
uint16_t  bunchid 
)

Definition at line 161 of file Decoder.cxx.

◆ setVerbose()

void o2::tof::compressed::Decoder::setVerbose ( bool  val)
inline

Definition at line 54 of file Decoder.h.

Member Data Documentation

◆ mBuffer

char* o2::tof::compressed::Decoder::mBuffer[NCRU]
protected

Definition at line 89 of file Decoder.h.

◆ mBufferLocal

std::vector<char> o2::tof::compressed::Decoder::mBufferLocal
protected

Definition at line 90 of file Decoder.h.

◆ mCruIn

bool o2::tof::compressed::Decoder::mCruIn[NCRU]
protected

Definition at line 87 of file Decoder.h.

◆ mFile

std::ifstream o2::tof::compressed::Decoder::mFile[NCRU]
protected

Definition at line 85 of file Decoder.h.

◆ mHitDecoded

int o2::tof::compressed::Decoder::mHitDecoded = 0
protected

Definition at line 95 of file Decoder.h.

◆ mIntegratedBytes

int o2::tof::compressed::Decoder::mIntegratedBytes[NCRU]
protected

Definition at line 82 of file Decoder.h.

◆ mIntegratedTime

double o2::tof::compressed::Decoder::mIntegratedTime = 0.
protected

Definition at line 83 of file Decoder.h.

◆ mRDH

o2::header::RAWDataHeader* o2::tof::compressed::Decoder::mRDH
protected

Definition at line 97 of file Decoder.h.

◆ mSize

long o2::tof::compressed::Decoder::mSize[NCRU]
protected

Definition at line 91 of file Decoder.h.

◆ mUnion

Union_t* o2::tof::compressed::Decoder::mUnion[NCRU]
protected

Definition at line 92 of file Decoder.h.

◆ mUnionEnd

Union_t* o2::tof::compressed::Decoder::mUnionEnd[NCRU]
protected

Definition at line 93 of file Decoder.h.

◆ mVerbose

bool o2::tof::compressed::Decoder::mVerbose = false
protected

Definition at line 86 of file Decoder.h.

◆ NCRU

const int o2::tof::compressed::Decoder::NCRU = 4
staticprotected

Definition at line 79 of file Decoder.h.


The documentation for this class was generated from the following files: