ATLAS Offline Software
Loading...
Searching...
No Matches
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
12
14
15// Athena includes
17#include "Identifier/Identifier.h"
20//STL
21#include <unordered_map>
22#include <iosfwd>
23
25public:
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
42private:
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
47 static const IdentifierHash s_invalidHash;
48 static const ITkStripOnlineId s_invalidId;
49
50};
51// Magic "CLassID" for storage/retrieval in StoreGate
52// These values produced using clid script.
53// "clid ITkStripCablingData"
54// 92425761 ITkStripCablingData
55CLASS_DEF( ITkStripCablingData , 92425761 , 1 )
56//"clid -cs ITkStripCablingData"
57// 133529577
59#endif
Hold mappings of ranges to condition objects.
#define CONDCONT_DEF(...)
Definition CondCont.h:1413
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
std::set< std::uint32_t > m_rodIdSet
Set of robIds.
static const ITkStripOnlineId s_invalidId
Invalid SCT_OnlineId.
void getRods(std::vector< std::uint32_t > &usersVector) const
Get a vector of all RODs.
std::unordered_map< Identifier, ITkStripOnlineId > m_offline2OnlineMap
friend std::istream & operator>>(std::istream &is, ITkStripCablingData &cabling)
stream extraction to read value from stream into ITkStripCablingData
std::array< ITkStripOnlineId, NUMBER_OF_HASHES > m_hash2OnlineIdArray
Array for hash to onlineId; hash goes from 0-49536.
std::size_t size() const
ITkStripOnlineId getOnlineIdFromHash(const IdentifierHash &hash) const
Get ITkStripOnlineId from IdentifierHash.
ITkStripOnlineId onlineId(const Identifier &id) const
friend std::ostream & operator<<(std::ostream &os, const ITkStripCablingData &cabling)
stream insertion for debugging
static const IdentifierHash s_invalidHash
Invalid IdentifierHash.
This is a "hash" representation of an Identifier.