ATLAS Offline Software
CscRawDataCollectionIdHash.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONRDO_CSCRDOIDHASH_H
6 #define MUONRDO_CSCRDOIDHASH_H
7 
8 
9 
11 
12 #include <map>
13 #include <vector>
14 #include <inttypes.h>
15 
21 {
22 public:
23 
24  typedef uint16_t ID;
25 
28 
30  int operator() (const ID& id) const ;
31 
33  int max() const {return m_size;}
34 
36  ID identifier(int i) const;
37 
39  uint16_t subDetectorId(int i) const;
40  uint16_t rodId(unsigned int i) const;
41 
42  // return value definition
43  enum {INVALID_ID = 0xFFFF};
44 
45 private:
47  int m_size;
48 
51  std::map<ID,int> m_lookup;
52 
55  std::vector<ID> m_int2id;
56 
59  std::vector<uint16_t> m_int2subDetectorId;
60  std::vector<uint16_t> m_int2rodId;
61 
62  CSCcablingSvc * m_cabling = nullptr;
63 
64 };
65 
66 #endif
67 
68 
69 
CscRawDataCollectionIdHash::max
int max() const
return maximum number of IDs
Definition: CscRawDataCollectionIdHash.h:33
CscRawDataCollectionIdHash::operator()
int operator()(const ID &id) const
Convert ID to int.
Definition: CscRawDataCollectionIdHash.cxx:91
CscRawDataCollectionIdHash::rodId
uint16_t rodId(unsigned int i) const
reverse conversion : ROD ID
Definition: CscRawDataCollectionIdHash.cxx:78
CscRawDataCollectionIdHash::m_size
int m_size
total number of IDs
Definition: CscRawDataCollectionIdHash.h:47
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
CscRawDataCollectionIdHash::m_cabling
CSCcablingSvc * m_cabling
Definition: CscRawDataCollectionIdHash.h:62
CscRawDataCollectionIdHash::~CscRawDataCollectionIdHash
~CscRawDataCollectionIdHash()
Definition: CscRawDataCollectionIdHash.h:27
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
lumiFormat.i
int i
Definition: lumiFormat.py:92
CSCcablingSvc
Definition: CSCcablingSvc.h:23
CscRawDataCollectionIdHash::identifier
ID identifier(int i) const
reverse conversion
Definition: CscRawDataCollectionIdHash.cxx:56
CscRawDataCollectionIdHash::ID
uint16_t ID
Definition: CscRawDataCollectionIdHash.h:24
CscRawDataCollectionIdHash::CscRawDataCollectionIdHash
CscRawDataCollectionIdHash()
Definition: CscRawDataCollectionIdHash.cxx:15
CscRawDataCollectionIdHash::m_int2subDetectorId
std::vector< uint16_t > m_int2subDetectorId
reverse lookup for SubDetectorID and ROD ID
Definition: CscRawDataCollectionIdHash.h:59
CscRawDataCollectionIdHash::m_int2id
std::vector< ID > m_int2id
reverse lookup
Definition: CscRawDataCollectionIdHash.h:55
CscRawDataCollectionIdHash::INVALID_ID
@ INVALID_ID
Definition: CscRawDataCollectionIdHash.h:43
CscRawDataCollectionIdHash::m_int2rodId
std::vector< uint16_t > m_int2rodId
Definition: CscRawDataCollectionIdHash.h:60
CscRawDataCollectionIdHash::subDetectorId
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID
Definition: CscRawDataCollectionIdHash.cxx:67
CscRawDataCollectionIdHash
Hash function for CSC Raw Data Collection.
Definition: CscRawDataCollectionIdHash.h:21
CscRawDataCollectionIdHash::m_lookup
std::map< ID, int > m_lookup
lookup table
Definition: CscRawDataCollectionIdHash.h:51
CSCcablingSvc.h