ATLAS Offline Software
SCT_CablingData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SCT_CablingData_h
6 #define SCT_CablingData_h
7 
15 // STL includes
16 #include <array>
17 #include <map>
18 #include <set>
19 
20 // uint32 in std namespace
21 #include <cstdint>
22 
23 // Athena includes
27 
36  public:
40  ~SCT_CablingData() = default;
41 
43  SCT_CablingData(const SCT_CablingData&) = default;
50 
52  void invalidate();
53 
57  bool setHashForOnlineId(const IdentifierHash& hash, const SCT_OnlineId& onlineId);
59  IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId) const;
60 
64  bool setOnlineIdForHash(const SCT_OnlineId& onlineId, const IdentifierHash& hash);
67 
74 
81 
83  void invalidateRods();
85  void setRod(const std::uint32_t& rod);
87  void getRods(std::vector<std::uint32_t>& usersVector) const;
88 
90  unsigned int getHashEntries() const;
91 
92  enum {NUMBER_OF_HASHES=8176}; // In SCT, we have 8176 wafers.
93 
94  private:
95  std::array<IdentifierHash, SCT_OnlineId::NUMBER_OF_INDICES> m_onlineId2HashArray;
96  std::array<SCT_OnlineId, NUMBER_OF_HASHES> m_hash2OnlineIdArray;
97  std::map<SCT_SerialNumber, IdentifierHash> m_sn2HashMap;
98  std::array<SCT_SerialNumber, NUMBER_OF_HASHES> m_hash2SnArray;
99  std::set<std::uint32_t> m_rodIdSet;
100 
102  static const SCT_OnlineId s_invalidId;
104 };
105 
106 // Class definition
107 #include "AthenaKernel/CLASS_DEF.h"
108 CLASS_DEF( SCT_CablingData , 42909094 , 1 )
109 
110 #include "AthenaKernel/CondCont.h"
112 
113 #endif // SCT_CablingData_h
SCT_CablingData::m_hash2SnArray
std::array< SCT_SerialNumber, NUMBER_OF_HASHES > m_hash2SnArray
Array for hash to serial number.
Definition: SCT_CablingData.h:98
SCT_CablingData::s_invalidSn
static const SCT_SerialNumber s_invalidSn
Invalid SCT_SerialNumber.
Definition: SCT_CablingData.h:103
SCT_CablingData::getHashFromSerialNumber
IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber &sn) const
Get IdentifierHash from SCT_SerialNumber.
Definition: SCT_CablingData.cxx:77
SCT_CablingData::setRod
void setRod(const std::uint32_t &rod)
Set m_rodIdSet.
Definition: SCT_CablingData.cxx:102
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
SCT_CablingData::getHashFromOnlineId
IdentifierHash getHashFromOnlineId(const SCT_OnlineId &onlineId) const
Get IdentifierHash from SCT_OnlineId.
Definition: SCT_CablingData.cxx:46
SCT_OnlineId
Definition: SCT_OnlineId.h:22
SCT_CablingData::setSerialNumberForHash
bool setSerialNumberForHash(const SCT_SerialNumber &sn, const IdentifierHash &hash)
Set m_hash2SnArray.
Definition: SCT_CablingData.cxx:87
SCT_CablingData::~SCT_CablingData
~SCT_CablingData()=default
destructor
SCT_CablingData::invalidateHashesForOnlineIds
void invalidateHashesForOnlineIds()
Invalidate m_onlineId2HashArray.
Definition: SCT_CablingData.cxx:34
SCT_CablingData::m_onlineId2HashArray
std::array< IdentifierHash, SCT_OnlineId::NUMBER_OF_INDICES > m_onlineId2HashArray
Array for onlineId to hash.
Definition: SCT_CablingData.h:95
SCT_CablingData::setHashForSerialNumber
bool setHashForSerialNumber(const IdentifierHash &hash, const SCT_SerialNumber &sn)
Set m_sn2HashMap.
Definition: SCT_CablingData.cxx:73
SCT_CablingData::operator=
SCT_CablingData & operator=(const SCT_CablingData &)=default
Default assignment operator.
SCT_CablingData::setOnlineIdForHash
bool setOnlineIdForHash(const SCT_OnlineId &onlineId, const IdentifierHash &hash)
Set m_hash2OnlineIdArray.
Definition: SCT_CablingData.cxx:58
SCT_CablingData::operator=
SCT_CablingData & operator=(SCT_CablingData &&)=default
Default move assignment operator.
SCT_CablingData::invalidateSerialNumbersForHashes
void invalidateSerialNumbersForHashes()
Invalidate m_hash2SnArray.
Definition: SCT_CablingData.cxx:83
SCT_CablingData::m_rodIdSet
std::set< std::uint32_t > m_rodIdSet
Set of robIds.
Definition: SCT_CablingData.h:99
SCT_CablingData::NUMBER_OF_HASHES
@ NUMBER_OF_HASHES
Definition: SCT_CablingData.h:92
SCT_CablingData::invalidateOnlineIdsForHashes
void invalidateOnlineIdsForHashes()
Invalidate m_hash2OnlineIdArray.
Definition: SCT_CablingData.cxx:54
SCT_CablingData::m_sn2HashMap
std::map< SCT_SerialNumber, IdentifierHash > m_sn2HashMap
Data map for serial number to hash.
Definition: SCT_CablingData.h:97
CONDCONT_DEF
CONDCONT_DEF(SCT_CablingData, 160983208)
SCT_CablingData::invalidateRods
void invalidateRods()
Invalidate m_rodIdSet.
Definition: SCT_CablingData.cxx:98
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
SCT_CablingData::SCT_CablingData
SCT_CablingData(const SCT_CablingData &)=default
Default copy constructor.
IdentifierHash.h
SCT_CablingData::s_invalidId
static const SCT_OnlineId s_invalidId
Invalid SCT_OnlineId.
Definition: SCT_CablingData.h:102
SCT_CablingData::SCT_CablingData
SCT_CablingData()
constructor
Definition: SCT_CablingData.cxx:22
SCT_CablingData::invalidate
void invalidate()
Invalidate all data members.
Definition: SCT_CablingData.cxx:26
SCT_CablingData::invalidateHashesForSerialNumbers
void invalidateHashesForSerialNumbers()
Invalidate m_sn2HashMap.
Definition: SCT_CablingData.cxx:69
SCT_SerialNumber
Definition: SCT_SerialNumber.h:22
SCT_CablingData
Definition: SCT_CablingData.h:35
SCT_CablingData::getRods
void getRods(std::vector< std::uint32_t > &usersVector) const
Get a vector of all RODs.
Definition: SCT_CablingData.cxx:106
SCT_CablingData::m_hash2OnlineIdArray
std::array< SCT_OnlineId, NUMBER_OF_HASHES > m_hash2OnlineIdArray
Array for hash to onlineId; hash goes from 0-8175.
Definition: SCT_CablingData.h:96
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
SCT_SerialNumber.h
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:64
SCT_CablingData::getOnlineIdFromHash
SCT_OnlineId getOnlineIdFromHash(const IdentifierHash &hash) const
Get SCT_OnlineId from IdentifierHash.
Definition: SCT_CablingData.cxx:65
SCT_CablingData::SCT_CablingData
SCT_CablingData(SCT_CablingData &&)=default
Default move constructor.
SCT_OnlineId.h
SCT_CablingData::s_invalidHash
static const IdentifierHash s_invalidHash
Invalid IdentifierHash.
Definition: SCT_CablingData.h:101
IdentifierHash
Definition: IdentifierHash.h:38
SCT_CablingData::getSerialNumberFromHash
SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash &hash) const
Get SCT_SerialNumber from IdentifierHash.
Definition: SCT_CablingData.cxx:94
SCT_CablingData::getHashEntries
unsigned int getHashEntries() const
Return the size of m_sn2HashMap.
Definition: SCT_CablingData.cxx:110
CLASS_DEF.h
macros to associate a CLID to a type
SCT_CablingData::setHashForOnlineId
bool setHashForOnlineId(const IdentifierHash &hash, const SCT_OnlineId &onlineId)
Set m_onlineId2HashArray.
Definition: SCT_CablingData.cxx:38