ATLAS Offline Software
EMECDetDescr.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARREADOUTGEOMETRY_EMECDETDESCR_H
6 #define LARREADOUTGEOMETRY_EMECDETDESCR_H
7 #include "GeoModelKernel/CellBinning.h"
8 #include <vector>
9 #include "GeoModelKernel/RCBase.h"
26 class EMECDetDescr : public RCBase
27 {
28 
29 
30 
31  public:
32 
33 
37  EMECDetDescr (const EMECDetectorManager *detManager, unsigned int sampling, unsigned int region, unsigned int radialPart, const CellBinning &phiBinning);
38 
43 
49  double getOffset (unsigned int etaIndex) const;
50 
54  double getHalfLength (unsigned int etaIndex) const;
55 
59  const EMECDetectorManager * getManager () const;
60 
64  unsigned int getSamplingIndex () const;
65 
69  unsigned int getRegionIndex () const;
70 
74  unsigned int getRadialIndex () const;
75 
79  const CellBinning& getPhiBinning () const;
80 
84  const CellBinning& getEtaBinning () const;
85 
86  private:
87 
88  EMECDetDescr(const EMECDetDescr &right);
90  unsigned int m_samplingIndex;
91  unsigned int m_regionIndex;
92  unsigned int m_radialIndex;
93  CellBinning m_phiBinning;
94  CellBinning m_etaBinning;
100  std::vector<double> m_halfLength;
116  std::vector<double> m_offset;
117 
118 
119 
120 
121 };
122 
123 
124 inline double EMECDetDescr::getOffset (unsigned int etaIndex) const
125 {
126 
127  if (m_offset.size()==1) return m_offset[0];
128  return m_offset[etaIndex];
129 
130 }
131 
132 inline double EMECDetDescr::getHalfLength (unsigned int etaIndex) const
133 {
134 
135  if (m_halfLength.size()==1) return m_halfLength[0];
136  return m_halfLength[etaIndex];
137 
138 }
139 
140 
141 
143 {
144 
145  return m_manager;
146 
147 }
148 
149 inline unsigned int EMECDetDescr::getSamplingIndex () const
150 {
151 
152  return m_samplingIndex;
153 
154 }
155 
156 inline unsigned int EMECDetDescr::getRegionIndex () const
157 {
158 
159  return m_regionIndex;
160 
161 }
162 
163 inline unsigned int EMECDetDescr::getRadialIndex () const
164 {
165 
166  return m_radialIndex;
167 
168 }
169 
170 inline const CellBinning& EMECDetDescr::getPhiBinning () const
171 {
172 
173  return m_phiBinning;
174 
175 }
176 
177 inline const CellBinning& EMECDetDescr::getEtaBinning () const
178 {
179 
180  return m_etaBinning;
181 
182 }
183 
184 
185 
186 
187 
188 #endif
EMECDetDescr::getManager
const EMECDetectorManager * getManager() const
The manager.
Definition: EMECDetDescr.h:142
EMECDetDescr::getOffset
double getOffset(unsigned int etaIndex) const
Gets the offset position (cell centers with respect to the position of the front of the active volume...
Definition: EMECDetDescr.h:124
EMECDetectorManager
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
Definition: EMECDetectorManager.h:31
EMECDetDescr::getPhiBinning
const CellBinning & getPhiBinning() const
The Binning in Phi.
Definition: EMECDetDescr.h:170
EMECDetDescr::m_offset
std::vector< double > m_offset
Vector of cell center positions for the cells, one for each eta index.
Definition: EMECDetDescr.h:116
EMECDetDescr
Descriptor for regions of the electromagnetic endcap calorimeter.
Definition: EMECDetDescr.h:27
EMECDetDescr::getHalfLength
double getHalfLength(unsigned int etaIndex) const
gets the cell half-length in z.
Definition: EMECDetDescr.h:132
EMECDetDescr::m_etaBinning
CellBinning m_etaBinning
Definition: EMECDetDescr.h:94
EMECDetDescr::m_halfLength
std::vector< double > m_halfLength
Vector of half-lengths for the cells, one for each eta index.
Definition: EMECDetDescr.h:100
EMECDetDescr::~EMECDetDescr
~EMECDetDescr()
Destructor
EMECDetDescr::EMECDetDescr
EMECDetDescr(const EMECDetectorManager *detManager, unsigned int sampling, unsigned int region, unsigned int radialPart, const CellBinning &phiBinning)
Constructor.
Definition: EMECDetDescr.cxx:35
EMECDetDescr::getRegionIndex
unsigned int getRegionIndex() const
The region index.
Definition: EMECDetDescr.h:156
EMECDetDescr::getEtaBinning
const CellBinning & getEtaBinning() const
The Binning in Eta.
Definition: EMECDetDescr.h:177
EMECDetDescr::m_radialIndex
unsigned int m_radialIndex
Definition: EMECDetDescr.h:92
EMECDetDescr::m_regionIndex
unsigned int m_regionIndex
Definition: EMECDetDescr.h:91
EMECDetDescr::m_samplingIndex
unsigned int m_samplingIndex
Definition: EMECDetDescr.h:90
EMECDetDescr::getRadialIndex
unsigned int getRadialIndex() const
The radial index of this cell (0=Outer Wheel, 1=Inner Wheel).
Definition: EMECDetDescr.h:163
EMECDetDescr::m_manager
const EMECDetectorManager * m_manager
Definition: EMECDetDescr.h:89
EMECDetDescr::getSamplingIndex
unsigned int getSamplingIndex() const
The sampling index.
Definition: EMECDetDescr.h:149
EMECDetDescr::EMECDetDescr
EMECDetDescr(const EMECDetDescr &right)
EMECDetDescr::m_phiBinning
CellBinning m_phiBinning
Definition: EMECDetDescr.h:93