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

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

#include <FCALDetectorManager.h>

Inheritance diagram for FCALDetectorManager:
Collaboration diagram for FCALDetectorManager:

Public Types

typedef std::vector< constFCALModule * >::const_iterator ConstIterator

Public Member Functions

 FCALDetectorManager (const FCALHVManager *hvManager=nullptr)
 Constructor.
virtual ~FCALDetectorManager () override
 Desctructor.
FCALDetectorManager::ConstIterator beginFCAL () const
 Iterate over FCAL Modules.
FCALDetectorManager::ConstIterator endFCAL () const
 Iterate over FCAL Modules.
const FCALModulegetFCAL (FCALModule::Module module, FCALModule::Endcap endcap) const
 Retreive a specific FCAL Module.
virtual unsigned int getNumTreeTops () const override
 Gets the number of tree tops.
virtual PVConstLink getTreeTop (unsigned int i) const override
 Gets the ith tree top.
const FCAL_ChannelMapgetChannelMap () const
 Returns the Channel Map.
void addModule (FCALModule *fcalModule)
 Adds an FCAL Module.
void addTreeTop (const PVLink &treeTop)
 Add a Tree Top.
const FCALHVManagergetHVManager () const
 Get the HV Manager:

Private Types

typedef const FCALModuleModulePtr

Private Member Functions

 FCALDetectorManager (const FCALDetectorManager &right)
FCALDetectorManageroperator= (const FCALDetectorManager &right)

Private Attributes

std::vector< PVLink > m_treeTop
 This is the set of tree tops managed by this detector node.
ModulePtr m_Module [2][3] {}
 This is the array in which three modules in two sides are kept.
std::vector< const FCALModule * > m_DetList
 Vector of FCAL Modules.
const FCAL_ChannelMapm_fcal_channel_map
const FCALHVManagerm_HVManager

Detailed Description

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

Manager class for the FCAL which provides access to the FCAL Modules, the Physical Volumes, and the FCAL Channel Map. The FCAL Channel Map is a descriptor for the FCAL.

Definition at line 28 of file FCALDetectorManager.h.

Member Typedef Documentation

◆ ConstIterator

typedef std::vector<constFCALModule*>::const_iterator FCALDetectorManager::ConstIterator

Definition at line 34 of file FCALDetectorManager.h.

◆ ModulePtr

Definition at line 32 of file FCALDetectorManager.h.

Constructor & Destructor Documentation

◆ FCALDetectorManager() [1/2]

FCALDetectorManager::FCALDetectorManager ( const FCALHVManager * hvManager = nullptr)

Constructor.

Definition at line 12 of file FCALDetectorManager.cxx.

13 : GeoVDetectorManager()
14 , m_HVManager(hvManager)
15{
16 setName("LArFCAL");
17 for (int s=0;s<2;s++) {
18 for (int m=0;m<3;m++) {
19 m_Module[s][m]=nullptr;
20 }
21 }
22
23 SmartIF<StoreGateSvc> detStore{Gaudi::svcLocator()->service("DetectorStore")};
24 if (!detStore.isValid()) {
25 throw std::runtime_error("Error in FCALDetectorManager: cannot access DetectorStore");
26 }
27
28 const FCAL_ChannelMap *cMap;
29 if (detStore->retrieve(cMap)==StatusCode::FAILURE) {
30 throw std::runtime_error("You must construct the GeoModel FCAL before instantiating FCALDetectorManager");
31 }
32
34
35}
ModulePtr m_Module[2][3]
This is the array in which three modules in two sides are kept.
const FCAL_ChannelMap * m_fcal_channel_map
const FCALHVManager * m_HVManager

◆ ~FCALDetectorManager()

FCALDetectorManager::~FCALDetectorManager ( )
overridevirtual

Desctructor.

Definition at line 38 of file FCALDetectorManager.cxx.

39{
40 for (int s=0;s<2;s++) {
41 for (int m=0;m<3;m++) {
42 delete m_Module[s][m];
43 }
44 }
45}

◆ FCALDetectorManager() [2/2]

FCALDetectorManager::FCALDetectorManager ( const FCALDetectorManager & right)
private

Member Function Documentation

◆ addModule()

void FCALDetectorManager::addModule ( FCALModule * fcalModule)

Adds an FCAL Module.

Definition at line 74 of file FCALDetectorManager.cxx.

75{
76 int mod = fcalModule->getModuleIndex()-1;
77 int side = fcalModule->getEndcapIndex();
78 m_Module[side][mod]=fcalModule;
79 m_DetList.push_back(fcalModule);
80 fcalModule->setManager(this);
81}
std::vector< const FCALModule * > m_DetList
Vector of FCAL Modules.
FCALModule::Endcap getEndcapIndex() const
Returns the side (O=Negative, 1=Positive)
void setManager(FCALDetectorManager *fcalManager)
Sets the manager.
FCALModule::Module getModuleIndex() const
Returns the Module (1,2, or 3)

◆ addTreeTop()

void FCALDetectorManager::addTreeTop ( const PVLink & treeTop)

Add a Tree Top.

Definition at line 83 of file FCALDetectorManager.cxx.

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

◆ beginFCAL()

FCALDetectorManager::ConstIterator FCALDetectorManager::beginFCAL ( ) const

Iterate over FCAL Modules.

Definition at line 49 of file FCALDetectorManager.cxx.

50{
51 return m_DetList.begin();
52}

◆ endFCAL()

FCALDetectorManager::ConstIterator FCALDetectorManager::endFCAL ( ) const

Iterate over FCAL Modules.

Definition at line 54 of file FCALDetectorManager.cxx.

55{
56 return m_DetList.end();
57}

◆ getChannelMap()

const FCAL_ChannelMap * FCALDetectorManager::getChannelMap ( ) const
inline

Returns the Channel Map.

Definition at line 126 of file FCALDetectorManager.h.

127{
128
129 return m_fcal_channel_map;
130
131}

◆ getFCAL()

const FCALModule * FCALDetectorManager::getFCAL ( FCALModule::Module module,
FCALModule::Endcap endcap ) const

Retreive a specific FCAL Module.

Definition at line 59 of file FCALDetectorManager.cxx.

60{
61 return m_Module[endcap][module-1];
62}

◆ getHVManager()

const FCALHVManager & FCALDetectorManager::getHVManager ( ) const

Get the HV Manager:

Definition at line 88 of file FCALDetectorManager.cxx.

89{
90 return *m_HVManager;
91}

◆ getNumTreeTops()

unsigned int FCALDetectorManager::getNumTreeTops ( ) const
overridevirtual

Gets the number of tree tops.

Definition at line 64 of file FCALDetectorManager.cxx.

65{
66 return m_treeTop.size();
67}

◆ getTreeTop()

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

Gets the ith tree top.

Definition at line 69 of file FCALDetectorManager.cxx.

70{
71 return m_treeTop[i];
72}

◆ operator=()

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

Member Data Documentation

◆ m_DetList

std::vector<const FCALModule *> FCALDetectorManager::m_DetList
private

Vector of FCAL Modules.

This is for iterative access to the modules.

Definition at line 115 of file FCALDetectorManager.h.

◆ m_fcal_channel_map

const FCAL_ChannelMap* FCALDetectorManager::m_fcal_channel_map
private

Definition at line 117 of file FCALDetectorManager.h.

◆ m_HVManager

const FCALHVManager* FCALDetectorManager::m_HVManager
private

Definition at line 119 of file FCALDetectorManager.h.

◆ m_Module

ModulePtr FCALDetectorManager::m_Module[2][3] {}
private

This is the array in which three modules in two sides are kept.

This is for random access to the modules.

Definition at line 109 of file FCALDetectorManager.h.

109{};

◆ m_treeTop

std::vector<PVLink> FCALDetectorManager::m_treeTop
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 103 of file FCALDetectorManager.h.


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