ATLAS Offline Software
Loading...
Searching...
No Matches
EMBDetectorManager Class Reference

A manager class providing access to readout geometry information for the electromagnetic barrel calorimeter. More...

#include <EMBDetectorManager.h>

Inheritance diagram for EMBDetectorManager:
Collaboration diagram for EMBDetectorManager:

Public Types

typedef std::vector< constEMBDetectorRegion * >::const_iterator DetectorRegionConstIterator
typedef EMBDetectorRegion const * EMBDetRegionArray[6][4][2]

Public Member Functions

 EMBDetectorManager (const EMBHVManager &hvManager, const EMBPresamplerHVManager &presamplerHVManager)
 Constructor.
virtual ~EMBDetectorManager () override
 Destructor.
EMBDetectorManager::DetectorRegionConstIterator beginDetectorRegion () const
 Iterate over detector regions.
EMBDetectorManager::DetectorRegionConstIterator endDetectorRegion () const
 Iterate over detector regions.
const EMBDetectorRegiongetDetectorRegion (unsigned int endcap, unsigned int sampling, unsigned int region) const
 Random Access to detector regions.
unsigned int getNumDetectorRegions () const
 Gets the number of detectors in the set of detector regions.
virtual PVConstLink getTreeTop (unsigned int i) const override
 Gets the ith tree top.
virtual unsigned int getNumTreeTops () const override
 Gets the total number of tree tops.
void addDetectorRegion (const EMBDetectorRegion *region)
 Add a new Detector Region.
void addTreeTop (const PVLink &treeTop)
 Add a Tree Top.
const EMBBasicReadoutNumbersgetBasicReadoutNumbers () const
 Collection of useful numerical data for the description of the barrel cells.
const EMBAccordionDetailsgetAccordionDetails () const
 Get accordion details class.
const EMBHVManagergetHVManager () const
 Get the HV Manager.
const EMBPresamplerHVManagergetPresamplerHVManager () const
 Get the HV Manager (Presampler)

Private Member Functions

 EMBDetectorManager (const EMBDetectorManager &right)
EMBDetectorManageroperator= (const EMBDetectorManager &right)

Private Attributes

std::vector< PVLink > m_treeTop
 This is the set of tree tops managed by this detector node.
std::vector< const EMBDetectorRegion * > m_DetRegionsIterative
 A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegion held by this manager.
EMBDetRegionArray m_DetRegionsRandom {}
 A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegion held by this manager.
std::unique_ptr< const EMBBasicReadoutNumbersm_basicReadoutNumbers
CxxUtils::CachedUniquePtr< EMBAccordionDetailsm_accordionDetails
const EMBHVManagerm_hvManager
const EMBPresamplerHVManagerm_presamplerHVManager

Detailed Description

A manager class providing access to readout geometry information for the electromagnetic barrel calorimeter.

The EMBDetectorManager provides access to EMB Regions, to Descriptors for EMB regions, to the physical volumes (tree tops) within the EMB, and to a number of important engineering numbers within the EMB.

Definition at line 31 of file EMBDetectorManager.h.

Member Typedef Documentation

◆ DetectorRegionConstIterator

typedef std::vector<constEMBDetectorRegion*>::const_iterator EMBDetectorManager::DetectorRegionConstIterator

Definition at line 35 of file EMBDetectorManager.h.

◆ EMBDetRegionArray

typedef EMBDetectorRegion const* EMBDetectorManager::EMBDetRegionArray[6][4][2]

Definition at line 36 of file EMBDetectorManager.h.

Constructor & Destructor Documentation

◆ EMBDetectorManager() [1/2]

EMBDetectorManager::EMBDetectorManager ( const EMBHVManager & hvManager,
const EMBPresamplerHVManager & presamplerHVManager )

Constructor.

Definition at line 22 of file EMBDetectorManager.cxx.

24 : m_basicReadoutNumbers (std::make_unique<EMBBasicReadoutNumbers>())
25 , m_hvManager(hvManager)
26 , m_presamplerHVManager(presamplerHVManager)
27{
28 setName("LArEMB");
29
30
31 for (unsigned int r=0;r<2;r++) {
32 for (unsigned int s=0;s<4;s++) {
33 for (unsigned int e=0;e<2;e++) {
34 m_DetRegionsRandom[r][s][e]=nullptr;
35 }
36 }
37 }
38}
const EMBPresamplerHVManager & m_presamplerHVManager
EMBDetRegionArray m_DetRegionsRandom
A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegio...
const EMBHVManager & m_hvManager
std::unique_ptr< const EMBBasicReadoutNumbers > m_basicReadoutNumbers
int r
Definition globals.cxx:22

◆ ~EMBDetectorManager()

EMBDetectorManager::~EMBDetectorManager ( )
overridevirtual

Destructor.

Definition at line 41 of file EMBDetectorManager.cxx.

41 {
42 for (unsigned int i=0;i<getNumDetectorRegions();i++) delete m_DetRegionsIterative[i];
43}
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
std::vector< const EMBDetectorRegion * > m_DetRegionsIterative
A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegio...

◆ EMBDetectorManager() [2/2]

EMBDetectorManager::EMBDetectorManager ( const EMBDetectorManager & right)
private

Member Function Documentation

◆ addDetectorRegion()

void EMBDetectorManager::addDetectorRegion ( const EMBDetectorRegion * region)

Add a new Detector Region.

Definition at line 77 of file EMBDetectorManager.cxx.

78{
79 m_DetRegionsIterative.push_back(region);
80 m_DetRegionsRandom[region->getRegionIndex()][region->getSamplingIndex()][region->getEndcapIndex()] = region;
81
82
83
84 OrderBySampling order;
86
87}
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
EMBDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
unsigned int getRegionIndex() const
Returns the Region Index.
order
Configure Herwig7.
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.

◆ addTreeTop()

void EMBDetectorManager::addTreeTop ( const PVLink & treeTop)

Add a Tree Top.

Definition at line 89 of file EMBDetectorManager.cxx.

90{
91 m_treeTop.push_back(treeTop);
92}
std::vector< PVLink > m_treeTop
This is the set of tree tops managed by this detector node.

◆ beginDetectorRegion()

EMBDetectorManager::DetectorRegionConstIterator EMBDetectorManager::beginDetectorRegion ( ) const

Iterate over detector regions.

Definition at line 47 of file EMBDetectorManager.cxx.

48{
49 return m_DetRegionsIterative.begin();
50}

◆ endDetectorRegion()

EMBDetectorManager::DetectorRegionConstIterator EMBDetectorManager::endDetectorRegion ( ) const

Iterate over detector regions.

Definition at line 52 of file EMBDetectorManager.cxx.

53{
54 return m_DetRegionsIterative.end();
55}

◆ getAccordionDetails()

const EMBAccordionDetails * EMBDetectorManager::getAccordionDetails ( ) const
inline

Get accordion details class.

Definition at line 140 of file EMBDetectorManager.h.

141{
142 if (!m_accordionDetails) {
143 m_accordionDetails.set (std::make_unique<EMBAccordionDetails>());
144 }
145 return m_accordionDetails.get();
146}
CxxUtils::CachedUniquePtr< EMBAccordionDetails > m_accordionDetails

◆ getBasicReadoutNumbers()

const EMBBasicReadoutNumbers * EMBDetectorManager::getBasicReadoutNumbers ( ) const
inline

Collection of useful numerical data for the description of the barrel cells.

Definition at line 149 of file EMBDetectorManager.h.

150{
151 return m_basicReadoutNumbers.get();
152}

◆ getDetectorRegion()

const EMBDetectorRegion * EMBDetectorManager::getDetectorRegion ( unsigned int endcap,
unsigned int sampling,
unsigned int region ) const

Random Access to detector regions.

Definition at line 57 of file EMBDetectorManager.cxx.

58{
59 return m_DetRegionsRandom[region][sampling][endcap];
60}

◆ getHVManager()

const EMBHVManager & EMBDetectorManager::getHVManager ( ) const

Get the HV Manager.

Definition at line 94 of file EMBDetectorManager.cxx.

95{
96 return m_hvManager;
97}

◆ getNumDetectorRegions()

unsigned int EMBDetectorManager::getNumDetectorRegions ( ) const

Gets the number of detectors in the set of detector regions.

Definition at line 62 of file EMBDetectorManager.cxx.

63{
64 return m_DetRegionsIterative.size();
65}

◆ getNumTreeTops()

unsigned int EMBDetectorManager::getNumTreeTops ( ) const
overridevirtual

Gets the total number of tree tops.

Definition at line 72 of file EMBDetectorManager.cxx.

73{
74 return m_treeTop.size();
75}

◆ getPresamplerHVManager()

const EMBPresamplerHVManager & EMBDetectorManager::getPresamplerHVManager ( ) const

Get the HV Manager (Presampler)

Definition at line 100 of file EMBDetectorManager.cxx.

101{
103}

◆ getTreeTop()

PVConstLink EMBDetectorManager::getTreeTop ( unsigned int i) const
overridevirtual

Gets the ith tree top.

Definition at line 67 of file EMBDetectorManager.cxx.

68{
69 return m_treeTop[i];
70}

◆ operator=()

EMBDetectorManager & EMBDetectorManager::operator= ( const EMBDetectorManager & right)
private

Member Data Documentation

◆ m_accordionDetails

CxxUtils::CachedUniquePtr<EMBAccordionDetails> EMBDetectorManager::m_accordionDetails
private

Definition at line 134 of file EMBDetectorManager.h.

◆ m_basicReadoutNumbers

std::unique_ptr<const EMBBasicReadoutNumbers> EMBDetectorManager::m_basicReadoutNumbers
private

Definition at line 133 of file EMBDetectorManager.h.

◆ m_DetRegionsIterative

std::vector<const EMBDetectorRegion *> EMBDetectorManager::m_DetRegionsIterative
private

A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegion held by this manager.

Definition at line 126 of file EMBDetectorManager.h.

◆ m_DetRegionsRandom

EMBDetRegionArray EMBDetectorManager::m_DetRegionsRandom {}
private

A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegion held by this manager.

Definition at line 132 of file EMBDetectorManager.h.

132{};

◆ m_hvManager

const EMBHVManager& EMBDetectorManager::m_hvManager
private

Definition at line 135 of file EMBDetectorManager.h.

◆ m_presamplerHVManager

const EMBPresamplerHVManager& EMBDetectorManager::m_presamplerHVManager
private

Definition at line 136 of file EMBDetectorManager.h.

◆ m_treeTop

std::vector<PVLink> EMBDetectorManager::m_treeTop
private

This is the set of tree tops managed by this detector node.

Definition at line 120 of file EMBDetectorManager.h.


The documentation for this class was generated from the following files: