5#ifndef LARREADOUTGEOMETRY_EMECDETECTORMANAGER_H
6#define LARREADOUTGEOMETRY_EMECDETECTORMANAGER_H
8#include "GeoModelKernel/GeoVDetectorManager.h"
77 virtual PVConstLink
getTreeTop (
unsigned int i)
const override;
133 double getZIW (
unsigned int i)
const;
Cached pointer with atomic update.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Descriptor for regions of the electromagnetic endcap calorimeter.
This is a collection of numbers used to specify the construction of the electromagnetic endcap calori...
double refToPresampler
Distance from reference plane to presampler.
double refToActive
Distance from reference plane to active volume.
double focalToRef
Distance from focal length to reference plane.
double activeLength
Total active length.
double presamplerLength
Overall length of the presampler.
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
EMECDetectorManager & operator=(const EMECDetectorManager &right)
CxxUtils::CachedPointer< const EMECPresamplerHVManager > m_presamplerHVManager
const EMECDetectorRegion * getDetectorRegion(unsigned int endcap, unsigned int sampling, unsigned int region, bool inner) const
Random Access to detector regions.
const EMECPresamplerHVManager & getPresamplerHVManager() const
Get the HV Manager (presampler)
double getFocalToRef() const
This provides the distance in CLHEP::mm from the Focal Plane to the reference plane.
EMECDetRegionArray m_DetRegionsRandom
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegi...
virtual PVConstLink getTreeTop(unsigned int i) const override
Gets the ith tree top.
unsigned int getNumZSEP12() const
Gets the length of the ZSEP12 Array.
double getZSEP12(unsigned int i) const
This method provides access to the Array ZSEP12, which in turn comes from the database (EmecSamplingS...
virtual unsigned int getNumTreeTops() const override
Gets the total number of tree tops.
EMECDetectorRegion const * EMECDetRegionArray[6][4][2][2]
EMECDetectorManager(const EMECDetectorManager &right)
CxxUtils::CachedPointer< const EMECHVManager > m_HVManager[2]
The HV Managers for the emec;.
void addTreeTop(const PVLink &treeTop)
Add a Tree Top.
double getRefToActive() const
This provides the distance in CLHEP::mm from the Active EMEC volume to the reference plane.
EMECDetectorManager::DetectorRegionConstIterator endDetectorRegion() const
Iterate over detector regions.
double getZIW(unsigned int i) const
This method provides access to the Array ZIW, which in turn comes from the database.
double getPresamplerFullLength() const
Gives the overall active length of the presampler volume.
EMECMagicNumbers * m_MagicNumbers
Clockwork for the EMECDetectorManager.
void addDetectorRegion(const EMECDetectorRegion *region)
Add a new HEC Detector Region.
std::vector< double > m_zsep23
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sa...
std::vector< double > m_zsep12
A vector of doubles used to hold an array of sampling separations for the EMEC outer wheel between sa...
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
EMECDetectorManager(const EMECHVManager *hvManagerInner=nullptr, const EMECHVManager *hvManagerOuter=nullptr, const EMECPresamplerHVManager *presamplerHVManager=nullptr)
Constructor.
virtual ~EMECDetectorManager() override
Destructor.
std::vector< double > m_ziw
A vector of doubles used to hold an array of sampling separations for the EMEC inner wheel.
const EMECHVManager & getHVManager(EMECHVManager::IOType io) const
Get the HV Managers.
std::vector< PVLink > m_treeTop
This is the set of tree tops managed by this detector node.
std::vector< const EMECDetectorRegion * > m_DetRegionsIterative
A vector of Region pointers which exists in order to provide iterative access to any EMECDetectorRegi...
EMECDetectorManager::DetectorRegionConstIterator beginDetectorRegion() const
Iterate over detector regions.
unsigned int getNumZSEP23() const
Gets the length of the ZSEP23Array.
unsigned int getNumZIW() const
Gets the length of the ZIW Array.
double getRefToPresampler() const
This provides the distance in CLHEP::mm from the Active Endcap Presampler volume (center) to the refe...
std::vector< constEMECDetectorRegion * >::const_iterator DetectorRegionConstIterator
double getZSEP23(unsigned int i) const
This method provides access to the Array ZSEP23, which in turn comes from the database (EmecSamplingS...
double getActiveLength() const
Gives the overall active length of the EMEC outer and inner wheel volumes.
This class provides direct access to information on the HV electrodes within the EMEC.
EMECHVModule::IOType IOType
This class provides direct access to information on the HV electrodes within the EMEC.
Cached pointer with atomic update.