ATLAS Offline Software
MdtCsmIdHash.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONDIGITCONATINER_MDTCSMIDHASH_H
6 #define MUONDIGITCONATINER_MDTCSMIDHASH_H
7 
8 #include "Identifier/Identifier.h"
9 #include <map>
10 #include <vector>
11 
12 
18 class MdtCsmIdHash {
19 
20  public:
21 
22  typedef Identifier ID;
23 
24  MdtCsmIdHash ();
25  virtual ~MdtCsmIdHash() { };
26 
27 
29  int operator() (const ID& id) const ;
30 
32  int max() const;
33 
35  ID identifier(int i) const;
36 
38  static int offset() ;
39 
40  private:
42  int m_size; // total number of IDs
43 
46  std::map<Identifier,int> m_lookup;
47 
50  std::vector<ID> m_int2id;
51 
52 };
53 
54 #endif
55 
MdtCsmIdHash::MdtCsmIdHash
MdtCsmIdHash()
Definition: MdtCsmIdHash.cxx:26
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
MdtCsmIdHash::m_size
int m_size
total number of IDs
Definition: MdtCsmIdHash.h:42
MdtCsmIdHash::~MdtCsmIdHash
virtual ~MdtCsmIdHash()
Definition: MdtCsmIdHash.h:25
MdtCsmIdHash::m_int2id
std::vector< ID > m_int2id
reverse lookup
Definition: MdtCsmIdHash.h:50
MdtCsmIdHash::ID
Identifier ID
Definition: MdtCsmIdHash.h:22
MdtCsmIdHash
Hash function for Mdt module Identifier to be used in MdtDigitContainer (IdentifiableContainer)
Definition: MdtCsmIdHash.h:18
lumiFormat.i
int i
Definition: lumiFormat.py:85
MdtCsmIdHash::max
int max() const
return maximum number of IDs
Definition: MdtCsmIdHash.cxx:83
MdtCsmIdHash::offset
static int offset()
return offset
Definition: MdtCsmIdHash.cxx:89
MdtCsmIdHash::operator()
int operator()(const ID &id) const
Convert ID to int.
Definition: MdtCsmIdHash.cxx:71
MdtCsmIdHash::m_lookup
std::map< Identifier, int > m_lookup
lookup table
Definition: MdtCsmIdHash.h:46
MdtCsmIdHash::identifier
ID identifier(int i) const
reverse conversion
Definition: MdtCsmIdHash.cxx:59
Identifier
Definition: IdentifierFieldParser.cxx:14