ATLAS Offline Software
HGTD_DetectorManager.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 HGTD_READOUTGEOMETRY_HGTD_DETECTORMANAGER_H
6 #define HGTD_READOUTGEOMETRY_HGTD_DETECTORMANAGER_H
7 
9 
10 #include "GeoModelKernel/GeoVPhysVol.h"
11 #include "GeoModelKernel/GeoVDetectorManager.h"
12 
15 
17 
19 
20 // Message Stream Member
22 
23 class StoreGateSvc;
24 
33 class HGTD_DetectorManager : public GeoVDetectorManager, public AthMessaging {
34 public:
35 
38 
41 
43  virtual unsigned int getNumTreeTops() const override;
44  virtual PVConstLink getTreeTop(unsigned int i) const override;
45 
47  void addTreeTop (PVConstLink treeTop);
48 
49  //
50  // Access Readout Elements
51  //
52 
55 
58 
61  int layer,
62  int phi_module,
63  int eta_module) const;
64 
67  InDetDD::HGTD_DetectorElementCollection::const_iterator getDetectorElementBegin() const;
68  InDetDD::HGTD_DetectorElementCollection::const_iterator getDetectorElementEnd() const;
69 
72 
74  void invalidateAll() const;
75 
77  void updateAll() const;
78 
80  void setCommonItems(std::unique_ptr<const InDetDD::SiCommonItems>&& commonItems);
81 
82 private:
83 
87 
88  const HGTD_ID * getIdHelper() const;
89 
90  // Private member data
91  std::vector<PVConstLink> m_volume;
94 
95  std::unique_ptr<const InDetDD::SiCommonItems> m_commonItems;
96 
97 };
98 
99 #ifndef GAUDI_NEUTRAL
100 #include "AthenaKernel/CLASS_DEF.h"
101 CLASS_DEF(HGTD_DetectorManager, 73488296, 1)
102 #endif
103 
104 #endif // HGTD_READOUTGEOMETRY_HGTD_DETECTORMANAGER_H
HGTD_DetectorManager::m_commonItems
std::unique_ptr< const InDetDD::SiCommonItems > m_commonItems
Definition: HGTD_DetectorManager.h:95
HGTD_DetectorManager::updateAll
void updateAll() const
Update all caches.
Definition: HGTD_DetectorManager.cxx:118
HGTD_DetectorManager::m_idHelper
const HGTD_ID * m_idHelper
Definition: HGTD_DetectorManager.h:93
InDetDD::HGTD_DetectorElement
Definition: HGTD_DetectorElement.h:40
HGTD_DetectorManager::getDetectorElementCollection
const InDetDD::HGTD_DetectorElementCollection * getDetectorElementCollection() const
access to whole collection via Iterators
Definition: HGTD_DetectorManager.cxx:79
HGTD_DetectorManager::getDetectorElementBegin
InDetDD::HGTD_DetectorElementCollection::const_iterator getDetectorElementBegin() const
Definition: HGTD_DetectorManager.cxx:84
GeoPrimitives.h
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
lumiFormat.i
int i
Definition: lumiFormat.py:92
HGTD_DetectorManager::getNumTreeTops
virtual unsigned int getNumTreeTops() const override
Access to raw geometry:
Definition: HGTD_DetectorManager.cxx:43
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
SiCommonItems.h
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
HGTD_DetectorManager::getDetectorElementEnd
InDetDD::HGTD_DetectorElementCollection::const_iterator getDetectorElementEnd() const
Definition: HGTD_DetectorManager.cxx:89
HGTD_DetectorElement.h
HGTD_DetectorManager::addTreeTop
void addTreeTop(PVConstLink treeTop)
Add a Tree top:
Definition: HGTD_DetectorManager.cxx:53
HGTD_DetectorManager::~HGTD_DetectorManager
~HGTD_DetectorManager()
Destructor.
Definition: HGTD_DetectorManager.cxx:34
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
HGTD_ID
Definition: HGTD_ID.h:47
HGTD_DetectorManager::m_volume
std::vector< PVConstLink > m_volume
Definition: HGTD_DetectorManager.h:91
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
HGTD_DetectorManager::getTreeTop
virtual PVConstLink getTreeTop(unsigned int i) const override
Definition: HGTD_DetectorManager.cxx:48
HGTD_DetectorManager::HGTD_DetectorManager
HGTD_DetectorManager(StoreGateSvc *detStore)
Constructor.
Definition: HGTD_DetectorManager.cxx:14
HGTD_DetectorElementCollection.h
HGTD_DetectorManager::addDetectorElement
void addDetectorElement(InDetDD::HGTD_DetectorElement *element)
Add elememts.
Definition: HGTD_DetectorManager.cxx:94
HGTD_ID.h
HGTD_DetectorManager::getIdHelper
const HGTD_ID * getIdHelper() const
Definition: HGTD_DetectorManager.cxx:102
HGTD_DetectorManager::getDetectorElement
InDetDD::HGTD_DetectorElement * getDetectorElement(const Identifier &id) const
access to individual elements : via Identifier
Definition: HGTD_DetectorManager.cxx:57
HGTD_DetectorManager::setCommonItems
void setCommonItems(std::unique_ptr< const InDetDD::SiCommonItems > &&commonItems)
Set SiCommonItems.
Definition: HGTD_DetectorManager.cxx:129
HGTD_DetectorManager::m_elementCollection
InDetDD::HGTD_DetectorElementCollection m_elementCollection
Definition: HGTD_DetectorManager.h:92
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
AthMessaging.h
HGTD_DetectorManager::HGTD_DetectorManager
HGTD_DetectorManager(const HGTD_DetectorManager &right)
HGTD_DetectorManager
Definition: HGTD_DetectorManager.h:33
IdentifierHash
Definition: IdentifierHash.h:38
InDetDD::HGTD_DetectorElementCollection
Definition: HGTD_DetectorElementCollection.h:29
CLASS_DEF.h
macros to associate a CLID to a type
HGTD_DetectorManager::invalidateAll
void invalidateAll() const
Invalidate cache for all detector elements.
Definition: HGTD_DetectorManager.cxx:107
HGTD_DetectorManager::operator=
const HGTD_DetectorManager & operator=(const HGTD_DetectorManager &right)
Prevent copy and assignment.