ATLAS Offline Software
Loading...
Searching...
No Matches
HECDetectorManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARREADOUTGEOMETRY_HECDETECTORMANAGER_H
6#define LARREADOUTGEOMETRY_HECDETECTORMANAGER_H
7
10#include "LArHV/HECHVManager.h"
11#include "GeoModelKernel/GeoVDetectorManager.h"
12
13class HECDetDescr;
15
26
27class HECDetectorManager : public GeoVDetectorManager
28{
29
30 public:
31
32 typedef std::vector<const HECLongBlock *>::const_iterator BlockConstIterator;
33 typedef std::vector<const HECDetectorRegion *>::const_iterator DetectorRegionConstIterator;
34 typedef HECDetectorRegion const * HECDetRegionArray[2][4][2];
35
36
37 public:
38
39
43 HECDetectorManager(const HECHVManager* hvManager=nullptr, bool isTestBeam=false);
44
48 virtual ~HECDetectorManager() override;
49
54
59
63 const HECDetectorRegion * getDetectorRegion (unsigned int endcap, unsigned int sampling, unsigned int region) const;
64
68 unsigned int getNumDetectorRegions () const;
69
73 virtual PVConstLink getTreeTop (unsigned int i) const override;
74
78 virtual unsigned int getNumTreeTops () const override;
79
84
89
93 const HECLongBlock * getBlock (unsigned int i) const;
94
98 unsigned int getNumBlocks () const;
99
103 void addDetectorRegion (const HECDetectorRegion *region);
104
108 void addTreeTop (const PVLink& treeTop);
109
110
117 double getFocalToRef1 () const;
118
125 double getFocalToRef2 () const;
126
130 const HECHVManager& getHVManager() const;
131
132
133 private:
134
137 std::vector<const HECLongBlock *> m_HecLongBlock;
138
143 std::vector<PVLink> m_treeTop;
144
145
146
153
154
155
161 std::vector<const HECDetectorRegion *> m_DetRegionsIterative;
162
165
167
169
170};
171
172
173
174
176{
177
178 return m_focalToRef1;
179
180}
181
183{
184
185 return m_focalToRef2;
186
187}
188
189
190CLASS_DEF(HECDetectorManager, 132338641, 1)
191
192
193
194#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Descriptor for regions of the hadronic endcap calorimeter.
Definition HECDetDescr.h:30
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
void addTreeTop(const PVLink &treeTop)
Add a Tree Top.
virtual ~HECDetectorManager() override
Destructor.
HECDetectorManager::DetectorRegionConstIterator endDetectorRegion() const
Iterate over detector regions.
const HECDetectorRegion * getDetectorRegion(unsigned int endcap, unsigned int sampling, unsigned int region) const
Random Access to detector regions.
std::vector< constHECLongBlock * >::const_iterator BlockConstIterator
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
HECDetectorManager::BlockConstIterator endBlock() const
Iterate over blocks.
std::vector< const HECDetectorRegion * > m_DetRegionsIterative
A vector of Region pointer which exists in order to provide iterative access to any HECDetectorRegion...
std::vector< const HECLongBlock * > m_HecLongBlock
double getFocalToRef2() const
unsigned int getNumBlocks() const
Gets the number of blocks in the set of blocks.
virtual PVConstLink getTreeTop(unsigned int i) const override
Gets the ith tree top.
virtual unsigned int getNumTreeTops() const override
Gets the total number of tree tops.
void addDetectorRegion(const HECDetectorRegion *region)
Add a new HEC Detector Region.
HECDetectorManager::BlockConstIterator beginBlock() const
Iterate over blocks.
HECDetectorManager(const HECDetectorManager &right)
HECDetRegionArray m_DetRegionsRandom
An array of Region pointers which exists in order to provide random access to any HECDetectorRegion h...
std::vector< PVLink > m_treeTop
This is the set of tree tops managed by this detector node.
const HECLongBlock * getBlock(unsigned int i) const
Random Access to Blocks.
HECDetectorManager::DetectorRegionConstIterator beginDetectorRegion() const
Iterate over detector regions.
std::vector< constHECDetectorRegion * >::const_iterator DetectorRegionConstIterator
HECDetectorManager(const HECHVManager *hvManager=nullptr, bool isTestBeam=false)
Constructor.
double getFocalToRef1() const
HECDetectorManager & operator=(const HECDetectorManager &right)
const HECHVManager * m_HVManager
HECDetectorRegion const * HECDetRegionArray[2][4][2]
const HECHVManager & getHVManager() const
Get the HV Manager.
Description of a region of homogenous granularity in the hadronic endcap calorimeter.
This class provides direct access to information on the HV electrodes within the barrels.