ATLAS Offline Software
CscRawDataCollectionIdHash.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONRDO_CSCRDOIDHASH_H
6 #define MUONRDO_CSCRDOIDHASH_H
7 
8 #include <map>
9 #include <vector>
10 #include <inttypes.h>
11 
17 {
18 public:
19 
20  typedef uint16_t ID;
21 
24 
26  int operator() (const ID& id) const ;
27 
29  int max() const {return m_size;}
30 
32  ID identifier(int i) const;
33 
35  uint16_t subDetectorId(int i) const;
36  uint16_t rodId(unsigned int i) const;
37 
38  // return value definition
39  enum {INVALID_ID = 0xFFFF};
40 
41 private:
43  int m_size{0};
44 
47  std::map<ID,int> m_lookup;
48 
51  std::vector<ID> m_int2id;
52 
55  std::vector<uint16_t> m_int2subDetectorId;
56  std::vector<uint16_t> m_int2rodId;
57 };
58 
59 #endif
60 
61 
62 
CscRawDataCollectionIdHash::max
int max() const
return maximum number of IDs
Definition: CscRawDataCollectionIdHash.h:29
CscRawDataCollectionIdHash::operator()
int operator()(const ID &id) const
Convert ID to int.
Definition: CscRawDataCollectionIdHash.cxx:75
CscRawDataCollectionIdHash::rodId
uint16_t rodId(unsigned int i) const
reverse conversion : ROD ID
Definition: CscRawDataCollectionIdHash.cxx:62
CscRawDataCollectionIdHash::INVALID_ID
@ INVALID_ID
Definition: CscRawDataCollectionIdHash.h:39
CscRawDataCollectionIdHash::m_size
int m_size
total number of IDs
Definition: CscRawDataCollectionIdHash.h:43
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
CscRawDataCollectionIdHash::~CscRawDataCollectionIdHash
~CscRawDataCollectionIdHash()
Definition: CscRawDataCollectionIdHash.h:23
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
lumiFormat.i
int i
Definition: lumiFormat.py:85
CscRawDataCollectionIdHash::identifier
ID identifier(int i) const
reverse conversion
Definition: CscRawDataCollectionIdHash.cxx:40
CscRawDataCollectionIdHash::ID
uint16_t ID
Definition: CscRawDataCollectionIdHash.h:20
CscRawDataCollectionIdHash::CscRawDataCollectionIdHash
CscRawDataCollectionIdHash()
Definition: CscRawDataCollectionIdHash.cxx:11
CscRawDataCollectionIdHash::m_int2subDetectorId
std::vector< uint16_t > m_int2subDetectorId
reverse lookup for SubDetectorID and ROD ID
Definition: CscRawDataCollectionIdHash.h:55
CscRawDataCollectionIdHash::m_int2id
std::vector< ID > m_int2id
reverse lookup
Definition: CscRawDataCollectionIdHash.h:51
CscRawDataCollectionIdHash::m_int2rodId
std::vector< uint16_t > m_int2rodId
Definition: CscRawDataCollectionIdHash.h:56
CscRawDataCollectionIdHash::subDetectorId
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID
Definition: CscRawDataCollectionIdHash.cxx:51
CscRawDataCollectionIdHash
Hash function for CSC Raw Data Collection.
Definition: CscRawDataCollectionIdHash.h:17
CscRawDataCollectionIdHash::m_lookup
std::map< ID, int > m_lookup
lookup table
Definition: CscRawDataCollectionIdHash.h:47