Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
CSCcablingSvc.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 CSCCABLING_CSCCABLINGSVC_H
6 #define CSCCABLING_CSCCABLINGSVC_H
7 
8 /*----------------------------------------------------
9  * Ketevi A. Assamagan - May 2007
10  * CSC Cabling service to decode online-offline maps
11  *---------------------------------------------------*/
12 
14 
15 #include <inttypes.h>
16 
17 
18 class CSCcablingSvc : public AthService {
19 public:
21 
22  virtual StatusCode initialize() override;
23 
25  bool onlineId(const uint16_t subdetectorID, const uint16_t offlineID, uint32_t& rodId) const;
26  bool onlineId(const uint16_t offlineID, uint16_t& rodId) const;
27 
29  bool offlineId(const uint32_t onlineIdentifier, uint16_t& rodId ) const;
30 
32  bool is_rodId (const uint16_t rodId ) const;
33 
35  bool is_offlineRodId (const uint16_t rodId ) const;
36 
38  uint16_t collectionId(const uint16_t subdetectorId, const uint16_t rodId) const;
39 
40  unsigned int nSide () const { return m_side; }
41  unsigned int nROD () const { return m_rod; }
42  unsigned int maxId() const { return m_max; }
43 
45  void hash2Rob(const unsigned int&, uint32_t&) const;
46 
48  void hash2RobFull(const unsigned int&, uint32_t&) const;
49 
51  void hash2Rod(const unsigned int&, uint32_t&) const;
52 
54  void hash2SubdetectorId(const unsigned int&, uint32_t&) const;
55 
57  void hash2CollectionId(const unsigned int&, uint16_t&) const;
58 
59  private:
60 
61  unsigned int m_side{2};
62  unsigned int m_rod{16};
63  unsigned int m_max{32};
64 
65  Gaudi::Property<bool> m_run1{this, "Run1Cabling", false};
66 };
67 
68 #endif
AthService::AthService
AthService()
CSCcablingSvc::offlineId
bool offlineId(const uint32_t onlineIdentifier, uint16_t &rodId) const
reverse map of online ID into offline ROD ID
Definition: CSCcablingSvc.cxx:105
CSCcablingSvc::m_run1
Gaudi::Property< bool > m_run1
Definition: CSCcablingSvc.h:65
CSCcablingSvc::m_rod
unsigned int m_rod
Definition: CSCcablingSvc.h:62
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CSCcablingSvc::nSide
unsigned int nSide() const
Definition: CSCcablingSvc.h:40
CSCcablingSvc::onlineId
bool onlineId(const uint16_t subdetectorID, const uint16_t offlineID, uint32_t &rodId) const
map offline ROD identifier to online ID
Definition: CSCcablingSvc.cxx:54
CSCcablingSvc::m_max
unsigned int m_max
Definition: CSCcablingSvc.h:63
CSCcablingSvc::hash2Rod
void hash2Rod(const unsigned int &, uint32_t &) const
map PRD collection ID into offline ROD ID
Definition: CSCcablingSvc.cxx:326
CSCcablingSvc::maxId
unsigned int maxId() const
Definition: CSCcablingSvc.h:42
CSCcablingSvc::nROD
unsigned int nROD() const
Definition: CSCcablingSvc.h:41
CSCcablingSvc::is_rodId
bool is_rodId(const uint16_t rodId) const
check that we have the correct online ROD id
Definition: CSCcablingSvc.cxx:157
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
CSCcablingSvc
Definition: CSCcablingSvc.h:18
CSCcablingSvc::hash2Rob
void hash2Rob(const unsigned int &, uint32_t &) const
map PRD collection ID into short ROB ID, e.g.
Definition: CSCcablingSvc.cxx:196
CSCcablingSvc::collectionId
uint16_t collectionId(const uint16_t subdetectorId, const uint16_t rodId) const
calculate the collection Identifier
Definition: CSCcablingSvc.cxx:180
CSCcablingSvc::hash2SubdetectorId
void hash2SubdetectorId(const unsigned int &, uint32_t &) const
map PRD collection ID into subdetector ID, i.e.
Definition: CSCcablingSvc.cxx:340
CSCcablingSvc::hash2RobFull
void hash2RobFull(const unsigned int &, uint32_t &) const
map PRD collection ID into full ROB ID (with subdetector ID), e.g.
Definition: CSCcablingSvc.cxx:347
CSCcablingSvc::is_offlineRodId
bool is_offlineRodId(const uint16_t rodId) const
check that we have the correct offline ROD id
Definition: CSCcablingSvc.cxx:169
CSCcablingSvc::hash2CollectionId
void hash2CollectionId(const unsigned int &, uint16_t &) const
map PRD collection ID into RDO collection ID
Definition: CSCcablingSvc.cxx:357
AthService.h
CSCcablingSvc::m_side
unsigned int m_side
Definition: CSCcablingSvc.h:61
CSCcablingSvc::initialize
virtual StatusCode initialize() override
Definition: CSCcablingSvc.cxx:19