ATLAS Offline Software
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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< const EMBDetectorRegion * >::const_iterator DetectorRegionConstIterator
 
typedef EMBDetectorRegion constEMBDetRegionArray[6][4][2]
 

Public Member Functions

 EMBDetectorManager (const EMBHVManager &hvManager, const EMBPresamplerHVManager &presamplerHVManager)
 Constructor. More...
 
virtual ~EMBDetectorManager () override
 Destructor. More...
 
EMBDetectorManager::DetectorRegionConstIterator beginDetectorRegion () const
 Iterate over detector regions. More...
 
EMBDetectorManager::DetectorRegionConstIterator endDetectorRegion () const
 Iterate over detector regions. More...
 
const EMBDetectorRegiongetDetectorRegion (unsigned int endcap, unsigned int sampling, unsigned int region) 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...
 
void addDetectorRegion (const EMBDetectorRegion *region)
 Add a new Detector Region. More...
 
void addTreeTop (const PVLink &treeTop)
 Add a Tree Top. More...
 
const EMBBasicReadoutNumbersgetBasicReadoutNumbers () const
 Collection of useful numerical data for the description of the barrel cells. More...
 
const EMBAccordionDetailsgetAccordionDetails () const
 Get accordion details class. More...
 
const EMBHVManagergetHVManager () const
 Get the HV Manager. More...
 
const EMBPresamplerHVManagergetPresamplerHVManager () const
 Get the HV Manager (Presampler) More...
 

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. More...
 
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. More...
 
EMBDetRegionArray m_DetRegionsRandom {}
 A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegion held by this manager. More...
 
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

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 }

◆ ~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 }

◆ 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 
86 
87 }

◆ 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 }

◆ 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 }

◆ 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 {
102  return m_presamplerHVManager;
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.

◆ 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:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
beamspotman.r
def r
Definition: beamspotman.py:676
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
OrderBySampling
Definition: EMBDetectorManager.cxx:12
EMBDetectorManager::m_hvManager
const EMBHVManager & m_hvManager
Definition: EMBDetectorManager.h:135
EMBDetectorRegion::getSamplingIndex
unsigned int getSamplingIndex() const
Returns the Sampling Layer Index.
Definition: EMBDetectorRegion.h:119
EMBDetectorManager::m_treeTop
std::vector< PVLink > m_treeTop
This is the set of tree tops managed by this detector node.
Definition: EMBDetectorManager.h:120
lumiFormat.i
int i
Definition: lumiFormat.py:85
mc.order
order
Configure Herwig7.
Definition: mc.Herwig7_Dijet.py:12
EMBDetectorManager::m_basicReadoutNumbers
std::unique_ptr< const EMBBasicReadoutNumbers > m_basicReadoutNumbers
Definition: EMBDetectorManager.h:133
EMBDetectorManager::m_DetRegionsRandom
EMBDetRegionArray m_DetRegionsRandom
A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegio...
Definition: EMBDetectorManager.h:132
EMBDetectorRegion::getEndcapIndex
EMBDetectorRegion::DetectorSide getEndcapIndex() const
The endcap index.
Definition: EMBDetectorRegion.h:163
EMBDetectorRegion::getRegionIndex
unsigned int getRegionIndex() const
Returns the Region Index.
Definition: EMBDetectorRegion.h:126
EMBDetectorManager::m_DetRegionsIterative
std::vector< const EMBDetectorRegion * > m_DetRegionsIterative
A vector of Region pointers which exists in order to provide iterative access to any EMBDetectorRegio...
Definition: EMBDetectorManager.h:126
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623
EMBDetectorManager::m_presamplerHVManager
const EMBPresamplerHVManager & m_presamplerHVManager
Definition: EMBDetectorManager.h:136
EMBDetectorManager::m_accordionDetails
CxxUtils::CachedUniquePtr< EMBAccordionDetails > m_accordionDetails
Definition: EMBDetectorManager.h:134
EMBDetectorManager::getNumDetectorRegions
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
Definition: EMBDetectorManager.cxx:62