![]() |
ATLAS Offline Software
|
Tool to perform ROB fragments to CPM towers, CMX-CP TOBs and CMX-CP hits, and CP container to raw data conversions. More...
#include <CpByteStreamV2Tool.h>
Classes | |
| struct | CmxCpHitsData |
| struct | CmxCpTobData |
| struct | CpByteStreamToolData |
| struct | CpmTowerData |
| struct | LocalData |
Public Member Functions | |
| CpByteStreamV2Tool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~CpByteStreamV2Tool () |
| virtual StatusCode | initialize () override |
| StatusCode | convert (const std::string &sgKey, DataVector< LVL1::CPMTower > *ttCollection) const |
| Convert ROB fragments to CPM towers. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CPMTower > *ttCollection) const |
| StatusCode | convert (const std::string &sgKey, DataVector< LVL1::CMXCPTob > *tobCollection) const |
| Convert ROB fragments to CMX-CP TOBs. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMXCPTob > *tobCollection) const |
| StatusCode | convert (const std::string &sgKey, DataVector< LVL1::CMXCPHits > *hitCollection) const |
| Convert ROB fragments to CMX-CP hits. | |
| StatusCode | convert (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, DataVector< LVL1::CMXCPHits > *hitCollection) const |
| StatusCode | convert (const LVL1::CPBSCollectionV2 *cp) const |
| Convert CP Container to bytestream. | |
| const std::vector< uint32_t > & | sourceIDs () const |
| Return reference to vector with all possible Source Identifiers. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| AlgTool InterfaceID. | |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| enum | CollectionType { CPM_TOWERS , CMX_CP_TOBS , CMX_CP_HITS } |
| typedef DataVector< LVL1::CPMTower > | CpmTowerCollection |
| typedef DataVector< LVL1::CMXCPTob > | CmxCpTobCollection |
| typedef DataVector< LVL1::CMXCPHits > | CmxCpHitsCollection |
| typedef std::map< unsigned int, LVL1::CPMTower * > | CpmTowerMap |
| typedef std::map< unsigned int, const LVL1::CPMTower * > | ConstCpmTowerMap |
| typedef std::map< int, LVL1::CMXCPTob * > | CmxCpTobMap |
| typedef std::map< int, const LVL1::CMXCPTob * > | ConstCmxCpTobMap |
| typedef std::map< int, LVL1::CMXCPHits * > | CmxCpHitsMap |
| typedef std::map< int, const LVL1::CMXCPHits * > | ConstCmxCpHitsMap |
| typedef IROBDataProviderSvc::VROBFRAG::const_iterator | ROBIterator |
| typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType | ROBPointer |
| typedef OFFLINE_FRAGMENTS_NAMESPACE::PointerType | RODPointer |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| std::vector< uint32_t > | makeSourceIDs () const |
| Create list of all source IDs. | |
| StatusCode | convertBs (const std::string &sgKey, const IROBDataProviderSvc::VROBFRAG &robFrags, CpByteStreamToolData &data) const |
| Convert bytestream to given container type. | |
| void | decodeCmxCp (CmxCpSubBlock *subBlock, int trigCpm, CpByteStreamToolData &data, LocalData &ld) const |
| Unpack CMX-CP sub-block. | |
| void | decodeCpm (CpmSubBlockV2 *subBlock, int trigCpm, CpmTowerData &data, LocalData &ld) const |
| Unpack CPM sub-block. | |
| const LVL1::CPMTower * | findCpmTower (unsigned int key, const ConstCpmTowerMap &ttMap) const |
| Find a CPM tower for given key. | |
| LVL1::CPMTower * | findCpmTower (const CpmTowerData &data, unsigned int key) const |
| const LVL1::CMXCPTob * | findCmxCpTob (int key, const ConstCmxCpTobMap &tobMap) const |
| Find CMX-CP TOB for given key. | |
| LVL1::CMXCPTob * | findCmxCpTob (const CmxCpTobData &data, int key) const |
| const LVL1::CMXCPHits * | findCmxCpHits (int key, const ConstCmxCpHitsMap &hitsMap) const |
| Find CMX-CP hits for given key. | |
| LVL1::CMXCPHits * | findCmxCpHits (const CmxCpHitsData &data, int key) const |
| void | setupCpmTowerMap (const CpmTowerCollection *ttCollection, ConstCpmTowerMap &ttMap, LVL1::TriggerTowerKey &towerKey) const |
| Set up CPM tower map. | |
| void | setupCmxCpTobMap (const CmxCpTobCollection *tobCollection, ConstCmxCpTobMap &tobMap) const |
| Set up CMX-CP TOB map. | |
| void | setupCmxCpHitsMap (const CmxCpHitsCollection *hitCollection, ConstCmxCpHitsMap &hitsMap) const |
| Set up CMX-CP hits map. | |
| int | tobKey (int crate, int cmx, int cpm, int chip, int loc) const |
| Key for TOBs. | |
| int | hitsKey (int crate, int cmx, int source) const |
| Key for Hits. | |
| bool | slinkSlices (int crate, int module, int modulesPerSlink, int ×lices, int &trigJem, const ConstCpmTowerMap &ttMap, const ConstCmxCpTobMap &tobMap, const ConstCmxCpHitsMap &hitsMap, LVL1::TriggerTowerKey &towerKey) const |
| Get number of slices and triggered slice offset for next slink. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| Gaudi::Property< bool > | m_enableEncoding |
| SmartIF< IByteStreamCnvSvc > | m_byteStreamCnvSvc |
| ToolHandle< LVL1::IL1CaloMappingTool > | m_cpmMaps |
| Channel mapping tool. | |
| ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > | m_errorTool |
| Error collection tool. | |
| ServiceHandle< IROBDataProviderSvc > | m_robDataProvider |
| int | m_crateOffsetHw |
| Property: Hardware crate number offset. | |
| int | m_crateOffsetSw |
| Property: Software crate number offset. | |
| int | m_version |
| Property: Sub_block header version. | |
| int | m_dataFormat |
| Property: Data compression format. | |
| const int | m_channels |
| Number of channels per module. | |
| int | m_crates |
| Property: Number of crates. | |
| const int | m_modules |
| Number of CPM modules per crate. | |
| const int | m_cmxs |
| Number of CMXs per crate. | |
| const int | m_maxTobs |
| Maximum number of TOBS per module. | |
| const int | m_chips |
| Number of chips. | |
| const int | m_locs |
| Number of Local coordinates. | |
| int | m_slinks |
| Property: Number of slinks per crate when writing out bytestream. | |
| int | m_dfltSlices |
| Property: Default number of slices in simulation. | |
| int | m_forceSlices |
| Property: Force number of slices in bytestream. | |
| int | m_crateMin |
| Property: Minimum crate number when writing out bytestream. | |
| int | m_crateMax |
| Property: Maximum crate number when writing out bytestream. | |
| const eformat::SubDetector | m_subDetector |
| Sub-detector type. | |
| const L1CaloSrcIdMap | m_srcIdMap |
| Source ID converter. | |
| std::vector< uint32_t > | m_sourceIDsProp |
| Property: ROB source IDs. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Tool to perform ROB fragments to CPM towers, CMX-CP TOBs and CMX-CP hits, and CP container to raw data conversions.
Based on ROD document version X_xxx.
Definition at line 54 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 135 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 140 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 134 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 138 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 141 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 139 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 137 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 133 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 136 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 142 of file CpByteStreamV2Tool.h.
Definition at line 143 of file CpByteStreamV2Tool.h.
Definition at line 144 of file CpByteStreamV2Tool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| LVL1BS::CpByteStreamV2Tool::CpByteStreamV2Tool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 49 of file CpByteStreamV2Tool.cxx.
|
virtual |
Definition at line 96 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const LVL1::CPBSCollectionV2 * | cp | ) | const |
Convert CP Container to bytestream.
Definition at line 186 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMXCPHits > * | hitCollection ) const |
Definition at line 175 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CMXCPTob > * | tobCollection ) const |
Definition at line 153 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| const IROBDataProviderSvc::VROBFRAG & | robFrags, | ||
| DataVector< LVL1::CPMTower > * | ttCollection ) const |
Definition at line 131 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| DataVector< LVL1::CMXCPHits > * | hitCollection ) const |
Convert ROB fragments to CMX-CP hits.
Definition at line 163 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| DataVector< LVL1::CMXCPTob > * | tobCollection ) const |
Convert ROB fragments to CMX-CP TOBs.
Definition at line 141 of file CpByteStreamV2Tool.cxx.
| StatusCode LVL1BS::CpByteStreamV2Tool::convert | ( | const std::string & | sgKey, |
| DataVector< LVL1::CPMTower > * | ttCollection ) const |
Convert ROB fragments to CPM towers.
Definition at line 119 of file CpByteStreamV2Tool.cxx.
|
private |
Convert bytestream to given container type.
Definition at line 524 of file CpByteStreamV2Tool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
private |
Unpack CMX-CP sub-block.
Definition at line 733 of file CpByteStreamV2Tool.cxx.
|
private |
Unpack CPM sub-block.
Definition at line 960 of file CpByteStreamV2Tool.cxx.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
private |
Definition at line 1175 of file CpByteStreamV2Tool.cxx.
|
private |
Find CMX-CP hits for given key.
Definition at line 1167 of file CpByteStreamV2Tool.cxx.
|
private |
Definition at line 1156 of file CpByteStreamV2Tool.cxx.
|
private |
Find CMX-CP TOB for given key.
Definition at line 1148 of file CpByteStreamV2Tool.cxx.
|
private |
Definition at line 1137 of file CpByteStreamV2Tool.cxx.
|
private |
Find a CPM tower for given key.
Definition at line 1129 of file CpByteStreamV2Tool.cxx.
|
private |
Key for Hits.
Definition at line 1262 of file CpByteStreamV2Tool.cxx.
|
overridevirtual |
Definition at line 103 of file CpByteStreamV2Tool.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
static |
AlgTool InterfaceID.
Definition at line 42 of file CpByteStreamV2Tool.cxx.
|
private |
Create list of all source IDs.
Definition at line 491 of file CpByteStreamV2Tool.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
private |
Set up CMX-CP hits map.
Definition at line 1231 of file CpByteStreamV2Tool.cxx.
|
private |
Set up CMX-CP TOB map.
Definition at line 1206 of file CpByteStreamV2Tool.cxx.
|
private |
Set up CPM tower map.
Definition at line 1185 of file CpByteStreamV2Tool.cxx.
|
private |
Get number of slices and triggered slice offset for next slink.
Definition at line 1270 of file CpByteStreamV2Tool.cxx.
| const std::vector< uint32_t > & LVL1BS::CpByteStreamV2Tool::sourceIDs | ( | ) | const |
Return reference to vector with all possible Source Identifiers.
Definition at line 516 of file CpByteStreamV2Tool.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
private |
Key for TOBs.
Definition at line 1254 of file CpByteStreamV2Tool.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 95 of file CpByteStreamV2Tool.h.
|
private |
Number of channels per module.
Definition at line 239 of file CpByteStreamV2Tool.h.
|
private |
Number of chips.
Definition at line 249 of file CpByteStreamV2Tool.h.
|
private |
Number of CMXs per crate.
Definition at line 245 of file CpByteStreamV2Tool.h.
|
private |
Channel mapping tool.
Definition at line 226 of file CpByteStreamV2Tool.h.
|
private |
Property: Maximum crate number when writing out bytestream.
Definition at line 261 of file CpByteStreamV2Tool.h.
|
private |
Property: Minimum crate number when writing out bytestream.
Definition at line 259 of file CpByteStreamV2Tool.h.
|
private |
Property: Hardware crate number offset.
Definition at line 231 of file CpByteStreamV2Tool.h.
|
private |
Property: Software crate number offset.
Definition at line 233 of file CpByteStreamV2Tool.h.
|
private |
Property: Number of crates.
Definition at line 241 of file CpByteStreamV2Tool.h.
|
private |
Property: Data compression format.
Definition at line 237 of file CpByteStreamV2Tool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Property: Default number of slices in simulation.
Definition at line 255 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 93 of file CpByteStreamV2Tool.h.
|
private |
Error collection tool.
Definition at line 228 of file CpByteStreamV2Tool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Property: Force number of slices in bytestream.
Definition at line 257 of file CpByteStreamV2Tool.h.
|
private |
Number of Local coordinates.
Definition at line 251 of file CpByteStreamV2Tool.h.
|
private |
Maximum number of TOBS per module.
Definition at line 247 of file CpByteStreamV2Tool.h.
|
private |
Number of CPM modules per crate.
Definition at line 243 of file CpByteStreamV2Tool.h.
|
private |
Definition at line 229 of file CpByteStreamV2Tool.h.
|
private |
Property: Number of slinks per crate when writing out bytestream.
Definition at line 253 of file CpByteStreamV2Tool.h.
|
private |
Property: ROB source IDs.
Definition at line 267 of file CpByteStreamV2Tool.h.
|
private |
Source ID converter.
Definition at line 265 of file CpByteStreamV2Tool.h.
|
private |
Sub-detector type.
Definition at line 263 of file CpByteStreamV2Tool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
private |
Property: Sub_block header version.
Definition at line 235 of file CpByteStreamV2Tool.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.