ATLAS Offline Software
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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< const FCALModule * >::const_iterator ConstIterator
 

Public Member Functions

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

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. More...
 
ModulePtr m_Module [2][3] {}
 This is the array in which three modules in two sides are kept. More...
 
std::vector< const FCALModule * > m_DetList
 Vector of FCAL Modules. More...
 
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<const FCALModule *>::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  ISvcLocator *svcLocator = Gaudi::svcLocator();
24 
26  if (svcLocator->service("DetectorStore", detStore, false )==StatusCode::FAILURE) {
27  throw std::runtime_error("Error in FCALDetectorManager: cannot access DetectorStore");
28  }
29 
30  const FCAL_ChannelMap *cMap;
31  if (detStore->retrieve(cMap)==StatusCode::FAILURE) {
32  throw std::runtime_error("You must construct the GeoModel FCAL before instantiating FCALDetectorManager");
33  }
34 
35  m_fcal_channel_map=cMap;
36 
37 }

◆ ~FCALDetectorManager()

FCALDetectorManager::~FCALDetectorManager ( )
overridevirtual

Desctructor.

Definition at line 40 of file FCALDetectorManager.cxx.

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

◆ 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 76 of file FCALDetectorManager.cxx.

77 {
78  int mod = fcalModule->getModuleIndex()-1;
79  int side = fcalModule->getEndcapIndex();
80  m_Module[side][mod]=fcalModule;
81  m_DetList.push_back(fcalModule);
82  fcalModule->setManager(this);
83 }

◆ addTreeTop()

void FCALDetectorManager::addTreeTop ( const PVLink &  treeTop)

Add a Tree Top.

Definition at line 85 of file FCALDetectorManager.cxx.

86 {
87  m_treeTop.push_back(treeTop);
88 }

◆ beginFCAL()

FCALDetectorManager::ConstIterator FCALDetectorManager::beginFCAL ( ) const

Iterate over FCAL Modules.

Definition at line 51 of file FCALDetectorManager.cxx.

52 {
53  return m_DetList.begin();
54 }

◆ endFCAL()

FCALDetectorManager::ConstIterator FCALDetectorManager::endFCAL ( ) const

Iterate over FCAL Modules.

Definition at line 56 of file FCALDetectorManager.cxx.

57 {
58  return m_DetList.end();
59 }

◆ 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 61 of file FCALDetectorManager.cxx.

62 {
63  return m_Module[endcap][module-1];
64 }

◆ getHVManager()

const FCALHVManager & FCALDetectorManager::getHVManager ( ) const

Get the HV Manager:

Definition at line 90 of file FCALDetectorManager.cxx.

91 {
92  return *m_HVManager;
93 }

◆ getNumTreeTops()

unsigned int FCALDetectorManager::getNumTreeTops ( ) const
overridevirtual

Gets the number of tree tops.

Definition at line 66 of file FCALDetectorManager.cxx.

67 {
68  return m_treeTop.size();
69 }

◆ getTreeTop()

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

Gets the ith tree top.

Definition at line 71 of file FCALDetectorManager.cxx.

72 {
73  return m_treeTop[i];
74 }

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

◆ 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:
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
FCALDetectorManager::m_DetList
std::vector< const FCALModule * > m_DetList
Vector of FCAL Modules.
Definition: FCALDetectorManager.h:115
FCAL_ChannelMap
This class contains the tube and tile maps for the FCAL A tile is of a set of FCAL tubes.
Definition: LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCAL_ChannelMap.h:34
FCALDetectorManager::m_HVManager
const FCALHVManager * m_HVManager
Definition: FCALDetectorManager.h:119
FCALDetectorManager::m_fcal_channel_map
const FCAL_ChannelMap * m_fcal_channel_map
Definition: FCALDetectorManager.h:117
TRT::Hit::side
@ side
Definition: HitInfo.h:83
python.PyAthena.module
module
Definition: PyAthena.py:131
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
maskDeadModules.mod
mod
Definition: maskDeadModules.py:36
lumiFormat.i
int i
Definition: lumiFormat.py:85
FCALDetectorManager::m_treeTop
std::vector< PVLink > m_treeTop
This is the set of tree tops managed by this detector node.
Definition: FCALDetectorManager.h:103
FCALDetectorManager::m_Module
ModulePtr m_Module[2][3]
This is the array in which three modules in two sides are kept.
Definition: FCALDetectorManager.h:109
FCALModule::getModuleIndex
FCALModule::Module getModuleIndex() const
Returns the Module (1,2, or 3)
Definition: FCALModule.cxx:74
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
FCALModule::setManager
void setManager(FCALDetectorManager *fcalManager)
Sets the manager.
Definition: FCALModule.cxx:110
FCALModule::getEndcapIndex
FCALModule::Endcap getEndcapIndex() const
Returns the side (O=Negative, 1=Positive)
Definition: FCALModule.cxx:69