![]() |
ATLAS Offline Software
|
#include <ITkStripsRodDecoder.h>
Classes | |
| struct | CacheHelper |
| Temp object to help with trigger caching. More... | |
| struct | SharedData |
| Struct to hold data shared in methods used in fillCollection method. More... | |
Public Member Functions | |
| virtual | ~ITkStripsRodDecoder ()=default |
| Destructor. | |
| virtual StatusCode | initialize () override |
| Initialize. | |
| virtual StatusCode | fillCollection (const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment &robFrag, SCT_RDO_Container &rdoIDCont, IDCInDetBSErrContainer &errs, DataPool< SCT3_RawData > *dataItemsPool, const EventContext &ctx, const std::vector< IdentifierHash > *vecHash=nullptr) const override |
| Fill SCT RDO Collection with decoded ROB data. | |
Private Types | |
| enum | ITk_DecoderNumbers { N_SIDES = 2 , N_CHIPS_PER_SIDE = 6 , N_STRIPS_PER_CHIP = 128 , N_STRIPS_PER_SIDE = N_CHIPS_PER_SIDE*N_STRIPS_PER_CHIP } |
| Define frequently used magic numbers. More... | |
Private Member Functions | |
| int | makeRDO (const bool isOld, SharedData &data, CacheHelper &cache, DataPool< SCT3_RawData > *dataItemsPool) const |
| Builds RawData RDO and adds to RDO container. | |
| StatusCode | addRODError (uint32_t rodID, SCT_ByteStreamErrors::ErrorType error, SCT_RodDecoderErrorsHelper &errs, const std::unordered_set< IdentifierHash > *foundHashes=nullptr) const |
| Add an error for each wafer in the problematic ROD. | |
| StatusCode | addSingleError (const IdentifierHash &hashID, SCT_ByteStreamErrors::ErrorType error, SCT_RodDecoderErrorsHelper &errs) const |
| Add single eror. | |
| StatusCode | processHeader (const uint16_t inData, const uint32_t robID, SharedData &data, SCT_RDO_Container &rdoIDCont, DataPool< SCT3_RawData > *dataItemsPool, CacheHelper &cache, SCT_RodDecoderErrorsHelper &errs, bool &hasError, bool &breakNow, const EventContext &ctx) const |
| Process header word. | |
| StatusCode | processHccHeader (const uint16_t inData, const uint8_t data8, uint8_t &isHCCHeader, const uint32_t robID, SharedData &data, SCT_RDO_Container &rdoIDCont, DataPool< SCT3_RawData > *dataItemsPool, CacheHelper &cache, SCT_RodDecoderErrorsHelper &errs, bool &hasError, bool &breakNow, const EventContext &ctx) const |
| Process header word. | |
| StatusCode | processHits (const uint16_t inData, const uint32_t robID, SharedData &data, SCT_RDO_Container &rdoIDCont, DataPool< SCT3_RawData > *dataItemsPool, CacheHelper &cache, SCT_RodDecoderErrorsHelper &errs, bool &hasError, const EventContext &ctx) const |
| Process raw data word. | |
Private Attributes | |
| const SCT_ID * | m_itkStripsID {nullptr} |
| Identifier helper class for the SCT subdetector that creates compact Identifier objects and IdentifierHash or hash IDs. | |
| IdContext | m_contextITk |
| "Context" of an expanded identifier (ExpandedIdentifier) for compact or hash versions (Identifier32 or IdentifierHash) | |
| ToolHandle< IITkStripCablingTool > | m_cabling |
| Providing mappings of online and offline identifiers and also serial numbers. | |
| ToolHandle< ISCT_ConfigurationConditionsTool > | m_configTool |
| Service that keeps track of configuration conditions. | |
| std::atomic_uint | m_singleCondHitNumber {0} |
| Total number of single strips with hit decoded in condensed mode. | |
| std::atomic_uint | m_pairedCondHitNumber {0} |
| Total number of paired strips with hit decoded in condensed mode. | |
| std::atomic_uint | m_firstExpHitNumber {0} |
| Total number of first strips with hit decoded in expanded mode. | |
| std::atomic_uint | m_evenExpHitNumber {0} |
| Total number of consecutive paired strips with hit decoded in expanded mode. | |
| std::atomic_uint | m_lastExpHitNumber {0} |
| Total number of last consecutive strips with hit decoded in expanded mode. | |
| std::atomic_uint | m_headNumber {0} |
| Total number of decoded header data. | |
| std::atomic_uint | m_trailerNumber {0} |
| Total number of decoded trailer data. | |
| std::atomic_uint | m_headErrorBCID {0} |
| Total number of BCID errors in the header data. | |
| std::atomic_uint | m_headErrorLvl1ID {0} |
| Total number of Lvl1ID errors in the header data. | |
| std::atomic_uint | m_headErrorTimeout {0} |
| Total number of timeout errors in the header data. | |
| std::atomic_uint | m_headErrorFormatter {0} |
| Total number of formatter errors in the header data. | |
| std::atomic_uint | m_headErrorPreamble {0} |
| Total number of preamble errors in the header data. | |
| std::atomic_uint | m_trailerErrorOverflow {0} |
| Total number of overflow errors in the trailer data. | |
| std::atomic_uint | m_trailerErrorLimit {0} |
| Total number of header trailer limit errors in the trailer data. | |
| std::atomic_uint | m_trailerErrorBit {0} |
| Total number of trailer bit errors. | |
| std::atomic_uint | m_configDataBit {0} |
| Total number of configuration data for raw data. | |
| std::atomic_uint | m_flagErrorBit {0} |
| Total number of flag error data. | |
| std::atomic_uint | m_condHit1Error {0} |
| Total number of first hit data errors. | |
| std::atomic_uint | m_condHit2Error {0} |
| Total number second hit data errors. | |
| std::atomic_uint | m_chipNumberError {0} |
| Total number of chip number errors. | |
| std::atomic_uint | m_unknownDataFormat {0} |
| Total number of unknown data formats. | |
| std::atomic_uint | m_nHits {0} |
| Total number of SCT hits in ByteStream. | |
| std::atomic_uint | m_nRDOs {0} |
| Total number of SCT RDOs created. | |
| std::atomic_uint | m_maskedLinkNumber {0} |
| Total number of masked links in the header data. | |
| std::atomic_uint | m_maskedRODNumber {0} |
| Total number of masked RDOs. | |
| std::atomic_uint | m_rodClockErrorNumber {0} |
| Total number of ROD clock errors. | |
| std::atomic_uint | m_truncatedRODNumber {0} |
| Total number of truncated ROBFragments. | |
| std::atomic_uint | m_numMissingLinkHeader {0} |
| Total number of missing link headers. | |
| std::vector< bool > | m_swapPhiReadoutDirection {} |
| Swap phi readout direction. | |
Definition at line 73 of file ITkStripsRodDecoder.h.
|
private |
Define frequently used magic numbers.
| Enumerator | |
|---|---|
| N_SIDES | |
| N_CHIPS_PER_SIDE | |
| N_STRIPS_PER_CHIP | |
| N_STRIPS_PER_SIDE | |
Definition at line 115 of file ITkStripsRodDecoder.h.
|
virtualdefault |
Destructor.
|
private |
Add an error for each wafer in the problematic ROD.
| rodID | Identifer of ROD. |
| errorType | Error type info. |
| errs | Byte stream error container. |
| foundHashes | FE-links whose headers are found. Used only for MissingLinkHeaderError. |
Definition at line 256 of file ITkStripsRodDecoder.cxx.
|
private |
Add single eror.
| hashID | Identifier for hash. |
| bsErrorType | Byte Stream error type info. |
| errs | Byte stream error container. |
Definition at line 265 of file ITkStripsRodDecoder.cxx.
|
overridevirtual |
Fill SCT RDO Collection with decoded ROB data.
Decode the rob data fragment and fill the collection SCT_RDO_Collection with the RDO built by the makeRDO(..) method. rdoIdc, and errs are updated based on robFrag and vecHash.
| robFrag | ROB fragment. |
| rdoIDCont | RDO ID Container to be filled. |
| errs | Byte stream error container. |
| vecHash | Vector of hashes. |
Definition at line 43 of file ITkStripsRodDecoder.cxx.
|
overridevirtual |
Initialize.
Definition at line 20 of file ITkStripsRodDecoder.cxx.
|
private |
Builds RawData RDO and adds to RDO container.
Method that builds the RawData RDO and add it to the collection rdoIdc and cache are updated based on other arguments.
| isOld | if true use data.oldStrip, otherwise use data.strip. |
| data | Struct to hold data shared in methods used in fillCollection method |
| cache | Cache. |
Definition at line 186 of file ITkStripsRodDecoder.cxx.
|
private |
Process header word.
| inData | input 16 bit data word for header |
| robID | ROB ID |
| data | Struct to hold data shared in methods used in fillCollection method |
| rdoIDCont | RDO ID Container to be filled. |
| cache | Cache. |
| errs | SCT_RodDecoderErrorsHelper to fill IDCInDetBSErrContainer |
| hasError | false means no error, true means at least one error |
| breakNow | to tell if need to break after this method execution. |
Definition at line 273 of file ITkStripsRodDecoder.cxx.
|
private |
Process header word.
| inData | input 16 bit data word for header |
| robID | ROB ID |
| data | Struct to hold data shared in methods used in fillCollection method |
| rdoIDCont | RDO ID Container to be filled. |
| cache | Cache. |
| errs | SCT_RodDecoderErrorsHelper to fill IDCInDetBSErrContainer |
| hasError | false means no error, true means at least one error |
| breakNow | to tell if need to break after this method execution. |
Definition at line 332 of file ITkStripsRodDecoder.cxx.
|
private |
Process raw data word.
| inData | input 16 bit data word for header |
| robID | ROB ID |
| data | Struct to hold data shared in methods used in fillCollection method |
| errs | SCT_RodDecoderErrorsHelper to fill IDCInDetBSErrContainer |
| hasError | false means no error, true means at least one error |
Definition at line 424 of file ITkStripsRodDecoder.cxx.
|
private |
Providing mappings of online and offline identifiers and also serial numbers.
Definition at line 346 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of first hit data errors.
Definition at line 409 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of configuration data for raw data.
Definition at line 403 of file ITkStripsRodDecoder.h.
|
private |
Service that keeps track of configuration conditions.
Definition at line 352 of file ITkStripsRodDecoder.h.
|
private |
"Context" of an expanded identifier (ExpandedIdentifier) for compact or hash versions (Identifier32 or IdentifierHash)
Definition at line 343 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of consecutive paired strips with hit decoded in expanded mode.
Definition at line 367 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of first strips with hit decoded in expanded mode.
Definition at line 364 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of BCID errors in the header data.
Definition at line 379 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of formatter errors in the header data.
Definition at line 388 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of Lvl1ID errors in the header data.
Definition at line 382 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of preamble errors in the header data.
Definition at line 391 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of timeout errors in the header data.
Definition at line 385 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
private |
Identifier helper class for the SCT subdetector that creates compact Identifier objects and IdentifierHash or hash IDs.
Also allows decoding of these IDs.
Definition at line 339 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of last consecutive strips with hit decoded in expanded mode.
Definition at line 370 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of masked links in the header data.
Definition at line 427 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of SCT hits in ByteStream.
Definition at line 421 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
Total number of paired strips with hit decoded in condensed mode.
Definition at line 361 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of single strips with hit decoded in condensed mode.
Definition at line 358 of file ITkStripsRodDecoder.h.
|
private |
|
mutableprivate |
|
mutableprivate |
Total number of header trailer limit errors in the trailer data.
Definition at line 397 of file ITkStripsRodDecoder.h.
|
mutableprivate |
Total number of overflow errors in the trailer data.
Definition at line 394 of file ITkStripsRodDecoder.h.
|
mutableprivate |
|
mutableprivate |
Total number of truncated ROBFragments.
Definition at line 436 of file ITkStripsRodDecoder.h.
|
mutableprivate |