ATLAS Offline Software
Loading...
Searching...
No Matches
EMBDetectorRegion.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_EMBDETECTORREGION_H
6#define LARREADOUTGEOMETRY_EMBDETECTORREGION_H
9#include "GeoModelKernel/GeoVDetectorElement.h"
10#include "GeoModelKernel/GeoDefinitions.h"
12
24
26
27class EMBDetectorRegion : public GeoVDetectorElement
28{
29
30 public:
31
32 typedef enum {NEG=0,POS=1} DetectorSide;
33
34
38 EMBDetectorRegion (const GeoVFullPhysVol *physVol, const EMBDetDescr *embDescriptor, DetectorSide endcap);
39
44
48 EMBCellConstLink getEMBCell (unsigned int ieta, unsigned int iphi) const;
49
53 const EMBDetDescr * getDescriptor () const;
54
58 unsigned int getSamplingIndex () const;
59
63 unsigned int getRegionIndex () const;
64
68 unsigned int beginPhiIndex () const;
69
73 unsigned int endPhiIndex () const;
74
78 unsigned int beginEtaIndex () const;
79
83 unsigned int endEtaIndex () const;
84
88 const Amg::Transform3D& getAbsoluteTransform (const GeoAlignmentStore* alignStore=nullptr) const;
89
93 const Amg::Transform3D& getDefAbsoluteTransform (const GeoAlignmentStore* alignStore=nullptr) const;
94
99
100 private:
101
104 GeoIntrusivePtr<const EMBDetDescr> m_descriptor{};
106};
107
108
109
110
111
113{
114
115 return m_descriptor;
116
117}
118
119inline unsigned int EMBDetectorRegion::getSamplingIndex () const
120{
121
122 return m_descriptor->getSamplingIndex();
123
124}
125
126inline unsigned int EMBDetectorRegion::getRegionIndex () const
127{
128
129 return m_descriptor->getRegionIndex();
130
131}
132
133inline unsigned int EMBDetectorRegion::beginPhiIndex () const
134{
135
136 return m_descriptor->getPhiBinning().getFirstDivisionNumber();
137
138}
139
140inline unsigned int EMBDetectorRegion::endPhiIndex () const
141{
142
143 return m_descriptor->getPhiBinning().getFirstDivisionNumber() + m_descriptor->getPhiBinning().getNumDivisions();
144
145}
146
147inline unsigned int EMBDetectorRegion::beginEtaIndex () const
148{
149
150 return m_descriptor->getEtaBinning().getFirstDivisionNumber();
151
152}
153
154inline unsigned int EMBDetectorRegion::endEtaIndex () const
155{
156
157 return m_descriptor->getEtaBinning().getFirstDivisionNumber() + m_descriptor->getEtaBinning().getNumDivisions();
158
159}
160
161
162
169
170
171
172
173
174#endif
Descriptor for regions of the electromagnetic barrel calorimeter.
Definition EMBDetDescr.h:27
const EMBDetDescr * getDescriptor() const
Returns the Descriptor for this region.
unsigned int beginPhiIndex() const
Returns the first phi index in the region.
EMBCellConstLink getEMBCell(unsigned int ieta, unsigned int iphi) const
Access to Cells.
GeoIntrusivePtr< const EMBDetDescr > m_descriptor
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
EMBDetectorRegion & operator=(const EMBDetectorRegion &right)
EMBDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
EMBDetectorRegion(const GeoVFullPhysVol *physVol, const EMBDetDescr *embDescriptor, DetectorSide endcap)
Constructor.
unsigned int getRegionIndex() const
Returns the Region Index.
unsigned int beginEtaIndex() const
Returns the first eta index in the region.
const Amg::Transform3D & getDefAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
unsigned int endEtaIndex() const
Returns the end eta index in the region.
EMBDetectorRegion::DetectorSide m_endcapIndex
EMBDetectorRegion(const EMBDetectorRegion &right)
const Amg::Transform3D & getAbsoluteTransform(const GeoAlignmentStore *alignStore=nullptr) const
Returns the absolute transform of this element.
unsigned int endPhiIndex() const
Returns the end phi index in the region.
~EMBDetectorRegion()
Destructor.
Ensure that the extensions for the Vector3D are properly loaded.
Eigen::Affine3d Transform3D