|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef SCT_RAWDATABYTESTREAMCNV_SCT_RODENCODER_H
8 #define SCT_RAWDATABYTESTREAMCNV_SCT_RODENCODER_H
16 #include "GaudiKernel/ToolHandle.h"
67 virtual void fillROD(std::vector<uint32_t>& vec32Data,
const uint32_t& robID,
68 const std::vector<const SCT_RDORawData*>& vecRDOs)
const override;
97 void encodeData(
const std::vector<int>& vecTimeBins, std::vector<uint16_t>& vec16Words,
108 void packFragments(std::vector<uint16_t>& vec16Words, std::vector<uint32_t>& vec32Words)
const;
120 const unsigned short int* position,
121 const unsigned short int& numWords)
const;
152 const ErrorWords& errType, std::vector<uint16_t>& vec16Data)
const;
156 const ErrorWords& errType, std::vector<uint16_t>& vec16Data)
const;
160 const ErrorWords& errType, std::vector<uint16_t>& vec16Data)
const;
164 "SCT_ByteStreamErrorsTool",
165 "SCT_ByteStreamErrorsTool",
166 "Tool to retrieve SCT ByteStream Errors"};
172 "Tool to retrieve SCT Cabling"};
182 "Condensed mode (true) or Expanded mode (false)"};
188 #endif // SCT_RAWDATABYTESTREAMCNV_SCT_RODENCODER_H
void addSpecificErrors(const uint32_t &robID, const std::set< IdentifierHash > *errors, const ErrorWords &errType, std::vector< uint16_t > &vec16Data) const
Add specific errors for ROB to the vector of 16 bit words.
ToolHandle< ISCT_ByteStreamErrorsTool > m_bsErrTool
Tool that keeps track of modules that give rise to errors in the bytestream.
Identifier offlineID(const SCT_RDORawData *rdo) const
Get the offline Identifier from the RDO.
SCT_RodEncoder(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
uint16_t getHeaderUsingHash(const IdentifierHash &linkHash, const int &errorWord) const
Get the 16-bit word for a header for a link with a ByteStream error.
void addHeadersWithErrors(const uint32_t &robID, const std::set< IdentifierHash > *errors, const ErrorWords &errType, std::vector< uint16_t > &vec16Data) const
Add header with errors for ROB to the vector of 16 bit words.
virtual ~SCT_RodEncoder()=default
Destructor.
virtual StatusCode finalize() override
Finalize.
int side(const SCT_RDORawData *rdo) const
Get the side info from the RDO.
int getStrip(const SCT_RDORawData *rdo) const
Get the strip number info from the RDO.
void addTrailersWithErrors(const uint32_t &robID, const std::set< IdentifierHash > *errors, const ErrorWords &errType, std::vector< uint16_t > &vec16Data) const
Add trailers with errors for ROB to the vector of 16 bit words.
uint16_t getHeaderUsingRDO(const SCT_RDORawData *rdo) const
Get the 16-bit word for a header for a hit.
uint32_t set32Bits(const unsigned short int *arr16Words, const unsigned short int *position, const unsigned short int &numWords) const
@breif Method to set pairs of 16 bit words to a 32 bit word.
const SCT_ID * m_sctID
Identifier helper class for the SCT subdetector that creates compact Identifier objects and Identifie...
virtual void fillROD(std::vector< uint32_t > &vec32Data, const uint32_t &robID, const std::vector< const SCT_RDORawData * > &vecRDOs) const override
Main Convert method.
ToolHandle< ISCT_CablingTool > m_cabling
Providing mappings of online and offline identifiers and also serial numbers.
void encodeData(const std::vector< int > &vecTimeBins, std::vector< uint16_t > &vec16Words, const SCT_RDORawData *rdo, const int &groupSize, const int &strip) const
Method to encode RDO data to vector of 16 bin words.
void packFragments(std::vector< uint16_t > &vec16Words, std::vector< uint32_t > &vec32Words) const
Method to pack vector of 16 bit words intto a vector of 32 bit words.
int getRODLink(const SCT_RDORawData *rdo) const
Get the ROD link number info in the RDO header data.
::StatusCode StatusCode
StatusCode definition for legacy code.
Athena Algorithm Tool that provides conversion from SCT RDO to ROD format Bytestream.
ErrorWords
Definitions of enum error words to be retrived from SCT_ByteStreamErrorSvc in fillROD(....
uint32_t onlineID(const SCT_RDORawData *rdo) const
Get the online Identifier from the RDO.
std::set< Identifier > m_swapModuleID
Swap Module identifier, set by SCTRawContByteStreamTool.
BooleanProperty m_condensed
Boolean used to determine if fillROD(...) should use Condensed or Expanded mode when decoding.
int getTimeBin(const SCT_RDORawData *rdo) const
Get the time bin info from the RDO.
virtual StatusCode initialize() override
Initialize.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
uint16_t getTrailer(const int &errorWord) const
Get the 16-bit word for a trailer, with or without ByteStream errors.