Project
Loading...
Searching...
No Matches
o2::itsmft::RawPixelReader< Mapping > Class Template Reference

#include <RawPixelReader.h>

Inherits o2::itsmft::PixelReader.

Public Member Functions

 RawPixelReader ()
 
 ~RawPixelReader () override
 
bool isPadding128 () const
 do we interpred GBT words as padded to 128 bits?
 
bool isMaxPageImposed () const
 do we treat CRU pages as having max size?
 
int getGBTWordSize () const
 assumed GBT word size (accounting for eventual padding)
 
void setPadding128 (bool v)
 impose padding model for GBT words
 
void setMinTriggersToCache (int n)
 set min number of triggers to cache per frame
 
int getMinTriggersToCache () const
 
void imposeMaxPage (bool v)
 CRU pages are of max size of 8KB.
 
ChipPixelDatagetNextChipData (std::vector< ChipPixelData > &chipDataVec) override
 
void init () override
 
void clear (bool resetStat=true)
 
int digits2raw (const std::vector< o2::itsmft::Digit > &digiVec, int from, int ndig, const o2::InteractionRecord &bcData, uint8_t ruSWMin=0, uint8_t ruSWMax=0xff)
 ================================== Encoding methods ========================
 
void convertChip (o2::itsmft::ChipPixelData &chipData)
 
void convertEmptyChips (int fromChip, int uptoChip)
 
int fillGBTLinks ()
 
int flushSuperPages (int maxPages, PayLoadCont &sink, bool unusedToHead=true)
 
size_t cacheLinksData (PayLoadCont &buffer)
 ================================== Decoding methods ========================
 
int decodeNextTrigger () final
 
int decodeNextRUData (RUDecodeData &ruDecData)
 
bool findNextRDH (PayLoadCont &buffer)
 
uint8_t * decodeRUData (uint8_t *raw, RUDecodeData &ruDecData, bool &aborted)
 
int skimNextRUData (PayLoadCont &outBuffer)
 
uint8_t * skimPaddedRUData (uint8_t *raw, PayLoadCont &outBuffer, bool &aborted)
 
bool isSameRUandTrigger (const o2::header::RAWDataHeader *rdhOld, const o2::header::RAWDataHeader *rdhNew) const
 
int decodeAlpideData (RUDecodeData &decData)
 
bool getNextChipData (ChipPixelData &chipData) override
 
void openInput (const std::string filename)
 
size_t loadInput (PayLoadCont &buffer)
 
const GBTLinkDecodingStatgetGBTLinkDecodingStatSW (uint16_t idSW, int ruLink) const
 
const GBTLinkDecodingStatgetGBTLinkDecodingStatHW (uint16_t idHW, int ruLink) const
 
const GBTLinkDecodingStatgetRUDecodingStatSW (uint16_t idSW, int ruLink=0) const
 
const GBTLinkDecodingStatgetRUDecodingStatHW (uint16_t idHW, int ruLink=0) const
 
const RawDecodingStatgetDecodingStat () const
 
void setVerbosity (int v)
 
int getVerbosity () const
 
MappinggetMapping ()
 
const RUDecodeDatagetCurrRUDecodeData () const
 
PayLoadContgetRawBuffer ()
 
int getNLinks () const
 
int getNRUs () const
 
const std::array< RUDecodeData, Mapping::getNRUs()> & getRUDecodeVec () const
 
const std::array< int, Mapping::getNRUs()> & getRUEntries () const
 
const RUDecodeDatagetRUDecode (int ruSW) const
 
RUDecodeDatagetCreateRUDecode (int ruSW)
 
int addGBTLink ()
 
GBTLinkgetGBTLink (int i)
 
const GBTLinkgetGBTLink (int i) const
 
- Public Member Functions inherited from o2::itsmft::PixelReader
 PixelReader ()=default
 Transient data for single fired pixel.
 
virtual ~PixelReader ()=default
 
 PixelReader (const PixelReader &cluster)=delete
 
PixelReaderoperator= (const PixelReader &src)=delete
 
virtual const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > * getDigitsMCTruth () const
 
const o2::InteractionRecordgetInteractionRecordHB () const
 
const o2::InteractionRecordgetInteractionRecord () const
 
uint32_t getTrigger () const
 
bool getDecodeNextAuto () const
 
void setDecodeNextAuto (bool v)
 

Additional Inherited Members

- Protected Member Functions inherited from o2::itsmft::PixelReader
 ClassDef (PixelReader, 1)
 
- Protected Attributes inherited from o2::itsmft::PixelReader
o2::InteractionRecord mInteractionRecord = {}
 
o2::InteractionRecord mInteractionRecordHB = {}
 
uint32_t mTrigger = 0
 
bool mDecodeNextAuto = true
 

Detailed Description

template<class Mapping = o2::itsmft::ChipMappingITS>
class o2::itsmft::RawPixelReader< Mapping >

Used both for encoding to and decoding from the alpide raw data format Requires as a template parameter a helper class for detector-specific mapping between the software global chip ID and HW module ID and chip ID within the module, see for example ChipMappingITS class. Similar helper class must be provided for the MFT

Definition at line 120 of file RawPixelReader.h.

Constructor & Destructor Documentation

◆ RawPixelReader()

template<class Mapping = o2::itsmft::ChipMappingITS>
o2::itsmft::RawPixelReader< Mapping >::RawPixelReader ( )
inline

Definition at line 125 of file RawPixelReader.h.

◆ ~RawPixelReader()

template<class Mapping = o2::itsmft::ChipMappingITS>
o2::itsmft::RawPixelReader< Mapping >::~RawPixelReader ( )
inlineoverride

Definition at line 130 of file RawPixelReader.h.

Member Function Documentation

◆ addGBTLink()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::addGBTLink ( )
inline

Definition at line 1428 of file RawPixelReader.h.

◆ cacheLinksData()

template<class Mapping = o2::itsmft::ChipMappingITS>
size_t o2::itsmft::RawPixelReader< Mapping >::cacheLinksData ( PayLoadCont buffer)
inline

================================== Decoding methods ========================

Definition at line 499 of file RawPixelReader.h.

◆ clear()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::clear ( bool  resetStat = true)
inline

Definition at line 199 of file RawPixelReader.h.

◆ convertChip()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::convertChip ( o2::itsmft::ChipPixelData chipData)
inline

< convert digits of single chip to Alpide format.

Definition at line 293 of file RawPixelReader.h.

◆ convertEmptyChips()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::convertEmptyChips ( int  fromChip,
int  uptoChip 
)
inline

Definition at line 318 of file RawPixelReader.h.

◆ decodeAlpideData()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::decodeAlpideData ( RUDecodeData decData)
inline

decode the ALPIDE data from the buffer of single lane

Definition at line 1230 of file RawPixelReader.h.

◆ decodeNextRUData()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::decodeNextRUData ( RUDecodeData ruDecData)
inline

Definition at line 654 of file RawPixelReader.h.

◆ decodeNextTrigger()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::decodeNextTrigger ( )
inlinefinalvirtual

Implements o2::itsmft::PixelReader.

Definition at line 617 of file RawPixelReader.h.

◆ decodeRUData()

template<class Mapping = o2::itsmft::ChipMappingITS>
uint8_t * o2::itsmft::RawPixelReader< Mapping >::decodeRUData ( uint8_t *  raw,
RUDecodeData ruDecData,
bool &  aborted 
)
inline

Decode raw data of single RU (possibly in a few GBT packets), collecting raw data for every cable in the corresponding slot of the provided ruDecData. No check is done if the necessary data are fully contained in the raw buffer. Return the pointer on the last raw data byte after decoding the RU In case of unrecoverable error set aborted to true

Definition at line 715 of file RawPixelReader.h.

◆ digits2raw()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::digits2raw ( const std::vector< o2::itsmft::Digit > &  digiVec,
int  from,
int  ndig,
const o2::InteractionRecord bcData,
uint8_t  ruSWMin = 0,
uint8_t  ruSWMax = 0xff 
)
inline

================================== Encoding methods ========================


Definition at line 220 of file RawPixelReader.h.

◆ fillGBTLinks()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::fillGBTLinks ( )
inline

Definition at line 331 of file RawPixelReader.h.

◆ findNextRDH()

template<class Mapping = o2::itsmft::ChipMappingITS>
bool o2::itsmft::RawPixelReader< Mapping >::findNextRDH ( PayLoadCont buffer)
inline

Definition at line 683 of file RawPixelReader.h.

◆ flushSuperPages()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::flushSuperPages ( int  maxPages,
PayLoadCont sink,
bool  unusedToHead = true 
)
inline

Definition at line 459 of file RawPixelReader.h.

◆ getCreateRUDecode()

template<class Mapping = o2::itsmft::ChipMappingITS>
RUDecodeData & o2::itsmft::RawPixelReader< Mapping >::getCreateRUDecode ( int  ruSW)
inline

Definition at line 1415 of file RawPixelReader.h.

◆ getCurrRUDecodeData()

template<class Mapping = o2::itsmft::ChipMappingITS>
const RUDecodeData * o2::itsmft::RawPixelReader< Mapping >::getCurrRUDecodeData ( ) const
inline

Definition at line 1393 of file RawPixelReader.h.

◆ getDecodingStat()

template<class Mapping = o2::itsmft::ChipMappingITS>
const RawDecodingStat & o2::itsmft::RawPixelReader< Mapping >::getDecodingStat ( ) const
inline

Definition at line 1385 of file RawPixelReader.h.

◆ getGBTLink() [1/2]

template<class Mapping = o2::itsmft::ChipMappingITS>
GBTLink * o2::itsmft::RawPixelReader< Mapping >::getGBTLink ( int  i)
inline

Definition at line 1436 of file RawPixelReader.h.

◆ getGBTLink() [2/2]

template<class Mapping = o2::itsmft::ChipMappingITS>
const GBTLink * o2::itsmft::RawPixelReader< Mapping >::getGBTLink ( int  i) const
inline

Definition at line 1437 of file RawPixelReader.h.

◆ getGBTLinkDecodingStatHW()

template<class Mapping = o2::itsmft::ChipMappingITS>
const GBTLinkDecodingStat * o2::itsmft::RawPixelReader< Mapping >::getGBTLinkDecodingStatHW ( uint16_t  idHW,
int  ruLink 
) const
inline

Definition at line 1373 of file RawPixelReader.h.

◆ getGBTLinkDecodingStatSW()

template<class Mapping = o2::itsmft::ChipMappingITS>
const GBTLinkDecodingStat * o2::itsmft::RawPixelReader< Mapping >::getGBTLinkDecodingStatSW ( uint16_t  idSW,
int  ruLink 
) const
inline

Definition at line 1363 of file RawPixelReader.h.

◆ getGBTWordSize()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::getGBTWordSize ( ) const
inline

assumed GBT word size (accounting for eventual padding)

Definition at line 147 of file RawPixelReader.h.

◆ getMapping()

template<class Mapping = o2::itsmft::ChipMappingITS>
Mapping & o2::itsmft::RawPixelReader< Mapping >::getMapping ( )
inline

Definition at line 1390 of file RawPixelReader.h.

◆ getMinTriggersToCache()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::getMinTriggersToCache ( ) const
inline

Definition at line 159 of file RawPixelReader.h.

◆ getNextChipData() [1/2]

template<class Mapping = o2::itsmft::ChipMappingITS>
bool o2::itsmft::RawPixelReader< Mapping >::getNextChipData ( ChipPixelData chipData)
inlineoverridevirtual

read single chip data to the provided container

Implements o2::itsmft::PixelReader.

Definition at line 1293 of file RawPixelReader.h.

◆ getNextChipData() [2/2]

template<class Mapping = o2::itsmft::ChipMappingITS>
ChipPixelData * o2::itsmft::RawPixelReader< Mapping >::getNextChipData ( std::vector< ChipPixelData > &  chipDataVec)
inlineoverridevirtual

Implements o2::itsmft::PixelReader.

Definition at line 165 of file RawPixelReader.h.

◆ getNLinks()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::getNLinks ( ) const
inline

Definition at line 1398 of file RawPixelReader.h.

◆ getNRUs()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::getNRUs ( ) const
inline

Definition at line 1401 of file RawPixelReader.h.

◆ getRawBuffer()

template<class Mapping = o2::itsmft::ChipMappingITS>
PayLoadCont & o2::itsmft::RawPixelReader< Mapping >::getRawBuffer ( )
inline

Definition at line 1395 of file RawPixelReader.h.

◆ getRUDecode()

template<class Mapping = o2::itsmft::ChipMappingITS>
const RUDecodeData * o2::itsmft::RawPixelReader< Mapping >::getRUDecode ( int  ruSW) const
inline

Definition at line 1409 of file RawPixelReader.h.

◆ getRUDecodeVec()

template<class Mapping = o2::itsmft::ChipMappingITS>
const std::array< RUDecodeData, Mapping::getNRUs()> & o2::itsmft::RawPixelReader< Mapping >::getRUDecodeVec ( ) const
inline

Definition at line 1404 of file RawPixelReader.h.

◆ getRUDecodingStatHW()

template<class Mapping = o2::itsmft::ChipMappingITS>
const GBTLinkDecodingStat * o2::itsmft::RawPixelReader< Mapping >::getRUDecodingStatHW ( uint16_t  idHW,
int  ruLink = 0 
) const
inline

Definition at line 1382 of file RawPixelReader.h.

◆ getRUDecodingStatSW()

template<class Mapping = o2::itsmft::ChipMappingITS>
const GBTLinkDecodingStat * o2::itsmft::RawPixelReader< Mapping >::getRUDecodingStatSW ( uint16_t  idSW,
int  ruLink = 0 
) const
inline

Definition at line 1381 of file RawPixelReader.h.

◆ getRUEntries()

template<class Mapping = o2::itsmft::ChipMappingITS>
const std::array< int, Mapping::getNRUs()> & o2::itsmft::RawPixelReader< Mapping >::getRUEntries ( ) const
inline

Definition at line 1406 of file RawPixelReader.h.

◆ getVerbosity()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::getVerbosity ( ) const
inline

Definition at line 1388 of file RawPixelReader.h.

◆ imposeMaxPage()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::imposeMaxPage ( bool  v)
inline

CRU pages are of max size of 8KB.

Definition at line 162 of file RawPixelReader.h.

◆ init()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::init ( )
inlineoverridevirtual

Implements o2::itsmft::PixelReader.

Definition at line 196 of file RawPixelReader.h.

◆ isMaxPageImposed()

template<class Mapping = o2::itsmft::ChipMappingITS>
bool o2::itsmft::RawPixelReader< Mapping >::isMaxPageImposed ( ) const
inline

do we treat CRU pages as having max size?

Definition at line 144 of file RawPixelReader.h.

◆ isPadding128()

template<class Mapping = o2::itsmft::ChipMappingITS>
bool o2::itsmft::RawPixelReader< Mapping >::isPadding128 ( ) const
inline

do we interpred GBT words as padded to 128 bits?

Definition at line 141 of file RawPixelReader.h.

◆ isSameRUandTrigger()

template<class Mapping = o2::itsmft::ChipMappingITS>
bool o2::itsmft::RawPixelReader< Mapping >::isSameRUandTrigger ( const o2::header::RAWDataHeader rdhOld,
const o2::header::RAWDataHeader rdhNew 
) const
inline

check if the rdhNew is just a continuation of the data described by the rdhOld

Definition at line 1217 of file RawPixelReader.h.

◆ loadInput()

template<class Mapping = o2::itsmft::ChipMappingITS>
size_t o2::itsmft::RawPixelReader< Mapping >::loadInput ( PayLoadCont buffer)
inline

assure the buffers are large enough

Definition at line 1339 of file RawPixelReader.h.

◆ openInput()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::openInput ( const std::string  filename)
inline

Definition at line 1324 of file RawPixelReader.h.

◆ setMinTriggersToCache()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::setMinTriggersToCache ( int  n)
inline

set min number of triggers to cache per frame

Definition at line 157 of file RawPixelReader.h.

◆ setPadding128()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::setPadding128 ( bool  v)
inline

impose padding model for GBT words

Definition at line 150 of file RawPixelReader.h.

◆ setVerbosity()

template<class Mapping = o2::itsmft::ChipMappingITS>
void o2::itsmft::RawPixelReader< Mapping >::setVerbosity ( int  v)
inline

Definition at line 1387 of file RawPixelReader.h.

◆ skimNextRUData()

template<class Mapping = o2::itsmft::ChipMappingITS>
int o2::itsmft::RawPixelReader< Mapping >::skimNextRUData ( PayLoadCont outBuffer)
inline

Definition at line 948 of file RawPixelReader.h.

◆ skimPaddedRUData()

template<class Mapping = o2::itsmft::ChipMappingITS>
uint8_t * o2::itsmft::RawPixelReader< Mapping >::skimPaddedRUData ( uint8_t *  raw,
PayLoadCont outBuffer,
bool &  aborted 
)
inline

Skim CRU data with 128b-padded GBT words and fixed 8KB pages to 80b-GBT words and page size corresponding to real payload.

Definition at line 979 of file RawPixelReader.h.


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