ATLAS Offline Software
EMBDetDescr.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_EMBDETDESCR_H
6 #define LARREADOUTGEOMETRY_EMBDETDESCR_H
7 #include <vector>
8 #include "GeoModelKernel/CellBinning.h"
9 #include "GeoModelKernel/RCBase.h"
10 class EMBDetectorManager;
26 class EMBDetDescr : public RCBase
27 {
28 
29 
30 
31  public:
32 
33 
37  EMBDetDescr (const EMBDetectorManager *detManager, unsigned int sampling, unsigned int region, const CellBinning &phiBinning);
38 
39 
44 
45 
46 
52  double getOffset (unsigned int etaIndex) const;
53 
54 
58  double getHalfLength (unsigned int etaIndex) const;
59 
63  const EMBDetectorManager * getManager () const;
64 
65 
69  unsigned int getSamplingIndex () const;
70 
71 
75  unsigned int getRegionIndex () const;
76 
77 
81  const CellBinning& getPhiBinning () const;
82 
83 
87  const CellBinning& getEtaBinning () const;
88 
89  private:
90 
91  EMBDetDescr(const EMBDetDescr &right);
93 
95  unsigned int m_samplingIndex;
96  unsigned int m_regionIndex;
97  CellBinning m_phiBinning;
98  CellBinning m_etaBinning;
99 
100 
101 
106  std::vector<double> m_halfLength;
107 
108 
124  std::vector<double> m_offset;
125 
126 
127 
128 
129 
130 };
131 
132 
133 
134 
135 
136 
137 
138 inline double EMBDetDescr::getOffset (unsigned int etaIndex) const
139 {
140 
141  if (m_offset.size()==1) return m_offset[0];
142  return m_offset[etaIndex];
143 
144 }
145 
146 inline double EMBDetDescr::getHalfLength (unsigned int etaIndex) const
147 {
148 
149  if (m_halfLength.size()==1) return m_halfLength[0];
150  return m_halfLength[etaIndex];
151 
152 }
153 
154 
155 
157 {
158 
159  return m_manager;
160 
161 }
162 
163 inline unsigned int EMBDetDescr::getSamplingIndex () const
164 {
165 
166  return m_samplingIndex;
167 
168 }
169 
170 inline unsigned int EMBDetDescr::getRegionIndex () const
171 {
172 
173  return m_regionIndex;
174 
175 }
176 
177 inline const CellBinning& EMBDetDescr::getPhiBinning () const
178 {
179 
180  return m_phiBinning;
181 
182 }
183 
184 inline const CellBinning& EMBDetDescr::getEtaBinning () const
185 {
186 
187  return m_etaBinning;
188 
189 }
190 
191 
192 
193 
194 
195 #endif
EMBDetDescr
Descriptor for regions of the electromagnetic barrel calorimeter.
Definition: EMBDetDescr.h:27
EMBDetDescr::operator=
EMBDetDescr & operator=(const EMBDetDescr &right)
EMBDetDescr::m_manager
const EMBDetectorManager * m_manager
Definition: EMBDetDescr.h:94
EMBDetDescr::m_halfLength
std::vector< double > m_halfLength
Vector of half-lengths for the cells, one for each eta index.
Definition: EMBDetDescr.h:106
EMBDetDescr::m_regionIndex
unsigned int m_regionIndex
Definition: EMBDetDescr.h:96
EMBDetDescr::~EMBDetDescr
~EMBDetDescr()
Destructor.
EMBDetDescr::getManager
const EMBDetectorManager * getManager() const
The manager.
Definition: EMBDetDescr.h:156
EMBDetDescr::getPhiBinning
const CellBinning & getPhiBinning() const
The Binning in Phi.
Definition: EMBDetDescr.h:177
EMBDetDescr::EMBDetDescr
EMBDetDescr(const EMBDetectorManager *detManager, unsigned int sampling, unsigned int region, const CellBinning &phiBinning)
Constructor.
Definition: EMBDetDescr.cxx:32
EMBDetectorManager
A manager class providing access to readout geometry information for the electromagnetic barrel calor...
Definition: EMBDetectorManager.h:32
EMBDetDescr::getHalfLength
double getHalfLength(unsigned int etaIndex) const
gets the cell half-length in z.
Definition: EMBDetDescr.h:146
EMBDetDescr::m_etaBinning
CellBinning m_etaBinning
Definition: EMBDetDescr.h:98
EMBDetDescr::getEtaBinning
const CellBinning & getEtaBinning() const
The Binning in Eta.
Definition: EMBDetDescr.h:184
EMBDetDescr::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: EMBDetDescr.h:138
EMBDetDescr::getSamplingIndex
unsigned int getSamplingIndex() const
The sampling index.
Definition: EMBDetDescr.h:163
EMBDetDescr::m_phiBinning
CellBinning m_phiBinning
Definition: EMBDetDescr.h:97
EMBDetDescr::m_offset
std::vector< double > m_offset
Vector of cell center positions for the cells, one for each eta index.
Definition: EMBDetDescr.h:124
EMBDetDescr::EMBDetDescr
EMBDetDescr(const EMBDetDescr &right)
EMBDetDescr::getRegionIndex
unsigned int getRegionIndex() const
The region index.
Definition: EMBDetDescr.h:170
EMBDetDescr::m_samplingIndex
unsigned int m_samplingIndex
Definition: EMBDetDescr.h:95