Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ITkStripCablingData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef ITkStripCablingData_h
5 #define ITkStripCablingData_h
6 
14 
15 // Athena includes
17 #include "Identifier/Identifier.h"
18 #include "AthenaKernel/CLASS_DEF.h"
19 #include "AthenaKernel/CondCont.h"
20 //STL
21 #include <unordered_map>
22 #include <iosfwd>
23 
25 public:
27  friend std::istream& operator>>(std::istream & is, ITkStripCablingData & cabling);
29  friend std::ostream& operator<<(std::ostream & os, const ITkStripCablingData & cabling);
30  bool empty() const;
31  std::size_t size() const;
32  ITkStripOnlineId onlineId(const Identifier & id) const;
33 
35  void getRods(std::vector<std::uint32_t>& usersVector) const;
36 
39 
40  enum {NUMBER_OF_HASHES=49536}; // In ITk, we have 49536 sensors.
41 
42 private:
43  std::unordered_map<Identifier, ITkStripOnlineId> m_offline2OnlineMap;
44  std::set<std::uint32_t> m_rodIdSet;
45  std::array<ITkStripOnlineId, NUMBER_OF_HASHES> m_hash2OnlineIdArray;
46 
49 
50 };
51 // Magic "CLassID" for storage/retrieval in StoreGate
52 // These values produced using clid script.
53 // "clid ITkStripCablingData"
54 // 92425761 ITkStripCablingData
55 CLASS_DEF( ITkStripCablingData , 92425761 , 1 )
56 //"clid -cs ITkStripCablingData"
57 // 133529577
59 #endif
CondCont.h
Hold mappings of ranges to condition objects.
ITkStripCablingData::empty
bool empty() const
Definition: ITkStripCablingData.cxx:19
ITkStripCablingData::m_rodIdSet
std::set< std::uint32_t > m_rodIdSet
Set of robIds.
Definition: ITkStripCablingData.h:44
ITkStripCablingData::getRods
void getRods(std::vector< std::uint32_t > &usersVector) const
Get a vector of all RODs.
Definition: ITkStripCablingData.cxx:82
ITkStripCablingData::s_invalidId
static const ITkStripOnlineId s_invalidId
Invalid SCT_OnlineId
Definition: ITkStripCablingData.h:48
ITkStripCablingData::m_offline2OnlineMap
std::unordered_map< Identifier, ITkStripOnlineId > m_offline2OnlineMap
Definition: ITkStripCablingData.h:43
ITkStripCablingData::size
std::size_t size() const
Definition: ITkStripCablingData.cxx:24
ITkStripCablingData
Definition: ITkStripCablingData.h:24
ITkStripCablingData::m_hash2OnlineIdArray
std::array< ITkStripOnlineId, NUMBER_OF_HASHES > m_hash2OnlineIdArray
Array for hash to onlineId; hash goes from 0-49536.
Definition: ITkStripCablingData.h:45
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
CONDCONT_DEF
CONDCONT_DEF(ITkStripCablingData, 133529577)
ITkStripCablingData::onlineId
ITkStripOnlineId onlineId(const Identifier &id) const
Definition: ITkStripCablingData.cxx:29
ITkStripCablingData::operator<<
friend std::ostream & operator<<(std::ostream &os, const ITkStripCablingData &cabling)
stream insertion for debugging
Definition: ITkStripCablingData.cxx:70
ITkStripCablingData::s_invalidHash
static const IdentifierHash s_invalidHash
Invalid IdentifierHash.
Definition: ITkStripCablingData.h:47
ITkStripOnlineId.h
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
ITkStripCablingData::NUMBER_OF_HASHES
@ NUMBER_OF_HASHES
Definition: ITkStripCablingData.h:40
IdentifierHash.h
ITkStripCablingData::getOnlineIdFromHash
ITkStripOnlineId getOnlineIdFromHash(const IdentifierHash &hash) const
Get ITkStripOnlineId from IdentifierHash.
Definition: ITkStripCablingData.cxx:78
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
ITkStripCablingData::operator>>
friend std::istream & operator>>(std::istream &is, ITkStripCablingData &cabling)
stream extraction to read value from stream into ITkStripCablingData
Definition: ITkStripCablingData.cxx:38
ITkStripOnlineId
Definition: ITkStripOnlineId.h:16
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
CLASS_DEF.h
macros to associate a CLID to a type
Identifier
Definition: IdentifierFieldParser.cxx:14