ATLAS Offline Software
Loading...
Searching...
No Matches
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"
14
25
26class 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
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
124inline 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
132inline 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
149inline unsigned int EMECDetDescr::getSamplingIndex () const
150{
151
152 return m_samplingIndex;
153
154}
155
156inline unsigned int EMECDetDescr::getRegionIndex () const
157{
158
159 return m_regionIndex;
160
161}
162
163inline unsigned int EMECDetDescr::getRadialIndex () const
164{
165
166 return m_radialIndex;
167
168}
169
170inline const CellBinning& EMECDetDescr::getPhiBinning () const
171{
172
173 return m_phiBinning;
174
175}
176
177inline const CellBinning& EMECDetDescr::getEtaBinning () const
178{
179
180 return m_etaBinning;
181
182}
183
184
185
186
187
188#endif
unsigned int getSamplingIndex() const
The sampling index.
CellBinning m_phiBinning
std::vector< double > m_offset
Vector of cell center positions for the cells, one for each eta index.
unsigned int getRegionIndex() const
The region index.
double getHalfLength(unsigned int etaIndex) const
gets the cell half-length in z.
EMECDetDescr(const EMECDetDescr &right)
const CellBinning & getEtaBinning() const
The Binning in Eta.
~EMECDetDescr()
Destructor.
unsigned int getRadialIndex() const
The radial index of this cell (0=Outer Wheel, 1=Inner Wheel).
unsigned int m_regionIndex
const EMECDetectorManager * m_manager
unsigned int m_radialIndex
CellBinning m_etaBinning
std::vector< double > m_halfLength
Vector of half-lengths for the cells, one for each eta index.
EMECDetDescr(const EMECDetectorManager *detManager, unsigned int sampling, unsigned int region, unsigned int radialPart, const CellBinning &phiBinning)
Constructor.
const CellBinning & getPhiBinning() const
The Binning in Phi.
const EMECDetectorManager * getManager() const
The manager.
unsigned int m_samplingIndex
double getOffset(unsigned int etaIndex) const
Gets the offset position (cell centers with respect to the position of the front of the active volume...
A manager class providing access to readout geometry information for the electromagnetic endcap calor...