ATLAS Offline Software
Loading...
Searching...
No Matches
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{
18public:
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
41private:
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
std::vector< Identifier > ID
std::vector< uint16_t > m_int2subDetectorId
reverse lookup for SubDetectorID and ROD ID
int operator()(const ID &id) const
Convert ID to int.
ID identifier(int i) const
reverse conversion
std::vector< ID > m_int2id
reverse lookup
uint16_t rodId(unsigned int i) const
reverse conversion : ROD ID
std::map< ID, int > m_lookup
lookup table
int max() const
return maximum number of IDs
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID