ATLAS Offline Software
OnlineIdGenerator.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 OnlineIdGenerator_h
6 #define OnlineIdGenerator_h
7 
16 #include <cstdint> //uint32_t
17 
18 
19 class ITkStripOnlineId;
20 class Identifier;
21 class SCT_ID;
22 
23 
24 
25 namespace ITkStripCabling{
27  public:
29  BARREL_A = 0x210000,
30  BARREL_C = 0x220000,
31  ENDCAP_A = 0x230000,
32  ENDCAP_C = 0x240000,
33  UNKNOWN = 0xFF0000
34  };
35  static constexpr std::uint32_t INVALID_LINK{0x0000FFFF};
36  OnlineIdGenerator(SCT_ID * pITkIdHelper);
37  ITkStripOnlineId operator()(const Identifier & offId);
38  //get rod by Identifier
39  std::uint32_t rod(const Identifier & offId) const;
40  //get rod by bec, layer_disk, eta
41  std::uint32_t rod32(int bec, int layer_disk, int phi, int eta=0) const;
42  //get link as lower 16 bits of 32 bit word
43  std::uint32_t barrelLink16(int eta) const;
44  std::uint32_t endcapLink16(int phi) const;
45 
46  private:
48 
49  };
50 }
51 
52 
53 
54 
55  #endif
ITkStripCabling::OnlineIdGenerator::OnlineIdGenerator
OnlineIdGenerator(SCT_ID *pITkIdHelper)
Definition: OnlineIdGenerator.cxx:16
ParticleGun_SamplingFraction.bec
int bec
Definition: ParticleGun_SamplingFraction.py:89
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ITkStripCabling::OnlineIdGenerator::m_pITkId
SCT_ID * m_pITkId
Definition: OnlineIdGenerator.h:47
ITkStripCabling::OnlineIdGenerator::endcapLink16
std::uint32_t endcapLink16(int phi) const
Definition: OnlineIdGenerator.cxx:47
ITkStripCabling::OnlineIdGenerator::INVALID_LINK
static constexpr std::uint32_t INVALID_LINK
Definition: OnlineIdGenerator.h:35
ITkStripCabling::OnlineIdGenerator
Definition: OnlineIdGenerator.h:26
ITkStripCabling::OnlineIdGenerator::ENDCAP_C
@ ENDCAP_C
Definition: OnlineIdGenerator.h:32
ITkStripCabling::OnlineIdGenerator::operator()
ITkStripOnlineId operator()(const Identifier &offId)
Definition: OnlineIdGenerator.cxx:52
ITkStripCabling::OnlineIdGenerator::rod32
std::uint32_t rod32(int bec, int layer_disk, int phi, int eta=0) const
Definition: OnlineIdGenerator.cxx:20
ITkStripCabling::OnlineIdGenerator::barrelLink16
std::uint32_t barrelLink16(int eta) const
Definition: OnlineIdGenerator.cxx:43
ITkStripCabling
Definition: OnlineIdGenerator.cxx:13
ITkStripCabling::OnlineIdGenerator::BARREL_A
@ BARREL_A
Definition: OnlineIdGenerator.h:29
ITkStripCabling::OnlineIdGenerator::RodId
RodId
Definition: OnlineIdGenerator.h:28
ITkStripCabling::OnlineIdGenerator::BARREL_C
@ BARREL_C
Definition: OnlineIdGenerator.h:30
ITkStripCabling::OnlineIdGenerator::rod
std::uint32_t rod(const Identifier &offId) const
Definition: OnlineIdGenerator.cxx:34
SCT_ID
Definition: SCT_ID.h:68
ITkStripOnlineId
Definition: ITkStripOnlineId.h:16
ITkStripCabling::OnlineIdGenerator::UNKNOWN
@ UNKNOWN
Definition: OnlineIdGenerator.h:33
ITkStripCabling::OnlineIdGenerator::ENDCAP_A
@ ENDCAP_A
Definition: OnlineIdGenerator.h:31
Identifier
Definition: IdentifierFieldParser.cxx:14