ATLAS Offline Software
|
A manager class providing access to readout geometry information for the electromagnetic endcap calorimeter. More...
#include <EMECDetectorManager.h>
Classes | |
class | EMECMagicNumbers |
This is a collection of numbers used to specify the construction of the electromagnetic endcap calorimeter and its cells. More... | |
Public Types | |
typedef std::vector< const EMECDetectorRegion * >::const_iterator | DetectorRegionConstIterator |
typedef EMECDetectorRegion const * | EMECDetRegionArray[6][4][2][2] |
Public Member Functions | |
EMECDetectorManager (const EMECHVManager *hvManagerInner=nullptr, const EMECHVManager *hvManagerOuter=nullptr, const EMECPresamplerHVManager *presamplerHVManager=nullptr) | |
Constructor. More... | |
virtual | ~EMECDetectorManager () override |
Destructor. More... | |
EMECDetectorManager::DetectorRegionConstIterator | beginDetectorRegion () const |
Iterate over detector regions. More... | |
EMECDetectorManager::DetectorRegionConstIterator | endDetectorRegion () const |
Iterate over detector regions. More... | |
const EMECDetectorRegion * | getDetectorRegion (unsigned int endcap, unsigned int sampling, unsigned int region, bool inner) const |
Random Access to detector regions. More... | |
unsigned int | getNumDetectorRegions () const |
Gets the number of detectors in the set of detector regions. More... | |
virtual PVConstLink | getTreeTop (unsigned int i) const override |
Gets the ith tree top. More... | |
virtual unsigned int | getNumTreeTops () const override |
Gets the total number of tree tops. More... | |
double | getFocalToRef () const |
This provides the distance in CLHEP::mm from the Focal Plane to the reference plane. More... | |
double | getRefToActive () const |
This provides the distance in CLHEP::mm from the Active EMEC volume to the reference plane. More... | |
double | getActiveLength () const |
Gives the overall active length of the EMEC outer and inner wheel volumes. More... | |
double | getRefToPresampler () const |
This provides the distance in CLHEP::mm from the Active Endcap Presampler volume (center) to the reference plane. More... | |
double | getPresamplerFullLength () const |
Gives the overall active length of the presampler volume. More... | |
unsigned int | getNumZIW () const |
Gets the length of the ZIW Array. More... | |
double | getZIW (unsigned int i) const |
This method provides access to the Array ZIW, which in turn comes from the database. More... | |
unsigned int | getNumZSEP12 () const |
Gets the length of the ZSEP12 Array. More... | |
double | getZSEP12 (unsigned int i) const |
This method provides access to the Array ZSEP12, which in turn comes from the database (EmecSamplingSep table). More... | |
unsigned int | getNumZSEP23 () const |
Gets the length of the ZSEP23Array. More... | |
double | getZSEP23 (unsigned int i) const |
This method provides access to the Array ZSEP23, which in turn comes from the database (EmecSamplingSep table). More... | |
void | addDetectorRegion (const EMECDetectorRegion *region) |
Add a new HEC Detector Region. More... | |
void | addTreeTop (const PVLink &treeTop) |
Add a Tree Top. More... | |
const EMECHVManager & | getHVManager (EMECHVManager::IOType io) const |
Get the HV Managers. More... | |
const EMECPresamplerHVManager & | getPresamplerHVManager () const |
Get the HV Manager (presampler) More... | |
Private Member Functions | |
EMECDetectorManager (const EMECDetectorManager &right) | |
EMECDetectorManager & | operator= (const EMECDetectorManager &right) |
Private Attributes | |
std::vector< PVLink > | m_treeTop |
This is the set of tree tops managed by this detector node. More... | |
std::vector< const EMECDetectorRegion * > | m_DetRegionsIterative |
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegion held by this manager. More... | |
EMECDetRegionArray | m_DetRegionsRandom {} |
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegion held by this manager. More... | |
std::vector< double > | m_ziw |
A vector of doubles used to hold an array of sampling separations for the EMEC inner wheel. More... | |
std::vector< double > | m_zsep12 |
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sampling layer 1 and 2. More... | |
std::vector< double > | m_zsep23 |
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sampling layer 2 and 3. More... | |
EMECMagicNumbers * | m_MagicNumbers |
Clockwork for the EMECDetectorManager. More... | |
CxxUtils::CachedPointer< const EMECHVManager > | m_HVManager [2] |
The HV Managers for the emec;. More... | |
CxxUtils::CachedPointer< const EMECPresamplerHVManager > | m_presamplerHVManager |
A manager class providing access to readout geometry information for the electromagnetic endcap calorimeter.
The EMECDetectorManager provides access to EMEC Regions, to Descriptors for EMEC regions, to the physical volumes (tree tops) within the EMEC, and to a number of important engineering numbers (like the focal lengths) within the EMEC.
The ownership of EMECHVManager pointers NOT trasferred to EMECDetectorManager
Definition at line 30 of file EMECDetectorManager.h.
typedef std::vector<const EMECDetectorRegion *>::const_iterator EMECDetectorManager::DetectorRegionConstIterator |
Definition at line 34 of file EMECDetectorManager.h.
typedef EMECDetectorRegion const* EMECDetectorManager::EMECDetRegionArray[6][4][2][2] |
Definition at line 35 of file EMECDetectorManager.h.
EMECDetectorManager::EMECDetectorManager | ( | const EMECHVManager * | hvManagerInner = nullptr , |
const EMECHVManager * | hvManagerOuter = nullptr , |
||
const EMECPresamplerHVManager * | presamplerHVManager = nullptr |
||
) |
Constructor.
Definition at line 24 of file EMECDetectorManager.cxx.
|
overridevirtual |
|
private |
void EMECDetectorManager::addDetectorRegion | ( | const EMECDetectorRegion * | region | ) |
Add a new HEC Detector Region.
Definition at line 128 of file EMECDetectorManager.cxx.
void EMECDetectorManager::addTreeTop | ( | const PVLink & | treeTop | ) |
Add a Tree Top.
Definition at line 134 of file EMECDetectorManager.cxx.
EMECDetectorManager::DetectorRegionConstIterator EMECDetectorManager::beginDetectorRegion | ( | ) | const |
Iterate over detector regions.
Definition at line 98 of file EMECDetectorManager.cxx.
EMECDetectorManager::DetectorRegionConstIterator EMECDetectorManager::endDetectorRegion | ( | ) | const |
Iterate over detector regions.
Definition at line 103 of file EMECDetectorManager.cxx.
|
inline |
Gives the overall active length of the EMEC outer and inner wheel volumes.
Definition at line 299 of file EMECDetectorManager.h.
const EMECDetectorRegion * EMECDetectorManager::getDetectorRegion | ( | unsigned int | endcap, |
unsigned int | sampling, | ||
unsigned int | region, | ||
bool | inner | ||
) | const |
Random Access to detector regions.
Definition at line 108 of file EMECDetectorManager.cxx.
|
inline |
This provides the distance in CLHEP::mm from the Focal Plane to the reference plane.
The reference plane is at the back of the transverse bar. The Focal distance is the point where cell boundaries cross. It is an engineering number used in the fabrication of the emec. Its value is 3689.5.
Definition at line 285 of file EMECDetectorManager.h.
const EMECHVManager & EMECDetectorManager::getHVManager | ( | EMECHVManager::IOType | io | ) | const |
Get the HV Managers.
Definition at line 139 of file EMECDetectorManager.cxx.
unsigned int EMECDetectorManager::getNumDetectorRegions | ( | ) | const |
Gets the number of detectors in the set of detector regions.
Definition at line 113 of file EMECDetectorManager.cxx.
|
overridevirtual |
Gets the total number of tree tops.
Definition at line 123 of file EMECDetectorManager.cxx.
|
inline |
Gets the length of the ZIW Array.
Definition at line 320 of file EMECDetectorManager.h.
|
inline |
Gets the length of the ZSEP12 Array.
Definition at line 334 of file EMECDetectorManager.h.
|
inline |
Gets the length of the ZSEP23Array.
Definition at line 348 of file EMECDetectorManager.h.
|
inline |
Gives the overall active length of the presampler volume.
Definition at line 313 of file EMECDetectorManager.h.
const EMECPresamplerHVManager & EMECDetectorManager::getPresamplerHVManager | ( | ) | const |
Get the HV Manager (presampler)
Definition at line 157 of file EMECDetectorManager.cxx.
|
inline |
This provides the distance in CLHEP::mm from the Active EMEC volume to the reference plane.
The reference plane is at the back of the transverse bar. Active EMEC volume is called LArOuterWheel or LArInnerWheel. Its value is 11 CLHEP::mm.
Definition at line 292 of file EMECDetectorManager.h.
|
inline |
This provides the distance in CLHEP::mm from the Active Endcap Presampler volume (center) to the reference plane.
The reference plane is at the back of the transverse bar.
Definition at line 306 of file EMECDetectorManager.h.
|
overridevirtual |
Gets the ith tree top.
Definition at line 118 of file EMECDetectorManager.cxx.
|
inline |
This method provides access to the Array ZIW, which in turn comes from the database.
This array provides a list of positions where the two sampling layers in the inner wheel of the EMEC separate. These positions are measured from the focal plane.
Definition at line 327 of file EMECDetectorManager.h.
|
inline |
This method provides access to the Array ZSEP12, which in turn comes from the database (EmecSamplingSep table).
This array provides a list of positions where the first two sampling layers in the outer wheel of the EMEC separate. These positions are measured from the focal plane.
Definition at line 341 of file EMECDetectorManager.h.
|
inline |
This method provides access to the Array ZSEP23, which in turn comes from the database (EmecSamplingSep table).
This array provides a list of positions where the second two sampling layers in the outer wheel of the EMEC separate. These positions are measured from the focal plane.
Definition at line 355 of file EMECDetectorManager.h.
|
private |
|
private |
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegion held by this manager.
Definition at line 201 of file EMECDetectorManager.h.
|
private |
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegion held by this manager.
Definition at line 208 of file EMECDetectorManager.h.
|
private |
The HV Managers for the emec;.
Definition at line 243 of file EMECDetectorManager.h.
|
private |
Clockwork for the EMECDetectorManager.
Definition at line 238 of file EMECDetectorManager.h.
|
private |
Definition at line 245 of file EMECDetectorManager.h.
|
private |
This is the set of tree tops managed by this detector node.
The tree top is a toplevel FCAL or Cryostat.
Definition at line 194 of file EMECDetectorManager.h.
|
private |
A vector of doubles used to hold an array of sampling separations for the EMEC inner wheel.
Note, these separations are relative to the focal point of the EMEC.
Definition at line 215 of file EMECDetectorManager.h.
|
private |
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sampling layer 1 and 2.
Note, these separations are relative to the focal point of the EMEC.
Definition at line 225 of file EMECDetectorManager.h.
|
private |
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sampling layer 2 and 3.
Note, these separations are relative to the focal point of the EMEC.
Definition at line 233 of file EMECDetectorManager.h.