ATLAS Offline Software
FCALDetectorManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARREADOUTGEOMETRY_FCALDETECTORMANAGER_H
6 #define LARREADOUTGEOMETRY_FCALDETECTORMANAGER_H
7 
8 #include "LArReadoutGeometry/FCAL_ChannelMap.h"
10 #include "LArHV/FCALHVManager.h"
11 #include "GeoModelKernel/GeoVDetectorManager.h"
12 #include "AthenaKernel/CLASS_DEF.h"
13 #include <vector>
14 
15 class IMessageSvc;
16 
28 class FCALDetectorManager : public GeoVDetectorManager
29 {
30 
31  private:
32  typedef const FCALModule * ModulePtr;
33  public:
34  typedef std::vector<const FCALModule *>::const_iterator ConstIterator;
35 
36 
37  public:
38 
42  FCALDetectorManager (const FCALHVManager* hvManager=nullptr);
43 
47  virtual ~FCALDetectorManager() override;
48 
53 
58 
63 
67  virtual unsigned int getNumTreeTops () const override;
68 
72  virtual PVConstLink getTreeTop (unsigned int i) const override;
73 
77  const FCAL_ChannelMap * getChannelMap () const;
78 
82  void addModule (FCALModule* fcalModule);
83 
87  void addTreeTop (const PVLink& treeTop);
88 
92  const FCALHVManager& getHVManager() const;
93 
94  private:
95 
98 
103  std::vector<PVLink> m_treeTop;
104 
110 
115  std::vector<const FCALModule *> m_DetList;
116 
118 
120 
121 };
122 
123 
124 
125 
127 {
128 
129  return m_fcal_channel_map;
130 
131 }
132 
133 
134 CLASS_DEF(FCALDetectorManager, 12868358, 1)
135 
136 
137 
138 #endif
FCALDetectorManager::~FCALDetectorManager
virtual ~FCALDetectorManager() override
Desctructor.
Definition: FCALDetectorManager.cxx:38
FCALDetectorManager
A manager class providing access to readout geometry information for the forward calorimeter.
Definition: FCALDetectorManager.h:29
FCALDetectorManager::ConstIterator
std::vector< const FCALModule * >::const_iterator ConstIterator
Definition: FCALDetectorManager.h:34
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::getFCAL
const FCALModule * getFCAL(FCALModule::Module module, FCALModule::Endcap endcap) const
Retreive a specific FCAL Module.
Definition: FCALDetectorManager.cxx:59
FCALDetectorManager::getNumTreeTops
virtual unsigned int getNumTreeTops() const override
Gets the number of tree tops.
Definition: FCALDetectorManager.cxx:64
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
FCALDetectorManager::FCALDetectorManager
FCALDetectorManager(const FCALDetectorManager &right)
FCALDetectorManager::ModulePtr
const FCALModule * ModulePtr
Definition: FCALDetectorManager.h:32
python.PyAthena.module
module
Definition: PyAthena.py:131
lumiFormat.i
int i
Definition: lumiFormat.py:85
FCALDetectorManager::getHVManager
const FCALHVManager & getHVManager() const
Get the HV Manager:
Definition: FCALDetectorManager.cxx:88
FCALDetectorManager::operator=
FCALDetectorManager & operator=(const FCALDetectorManager &right)
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
FCALDetectorManager::addTreeTop
void addTreeTop(const PVLink &treeTop)
Add a Tree Top.
Definition: FCALDetectorManager.cxx:83
FCALModule::Endcap
Endcap
Definition: FCALModule.h:38
FCALDetectorManager::addModule
void addModule(FCALModule *fcalModule)
Adds an FCAL Module.
Definition: FCALDetectorManager.cxx:74
FCALModule
Definition: FCALModule.h:33
FCALDetectorManager::beginFCAL
FCALDetectorManager::ConstIterator beginFCAL() const
Iterate over FCAL Modules.
Definition: FCALDetectorManager.cxx:49
FCALDetectorManager::FCALDetectorManager
FCALDetectorManager(const FCALHVManager *hvManager=nullptr)
Constructor.
Definition: FCALDetectorManager.cxx:12
FCALHVManager.h
FCALDetectorManager::getChannelMap
const FCAL_ChannelMap * getChannelMap() const
Returns the Channel Map.
Definition: FCALDetectorManager.h:126
FCALDetectorManager::endFCAL
FCALDetectorManager::ConstIterator endFCAL() const
Iterate over FCAL Modules.
Definition: FCALDetectorManager.cxx:54
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
FCALModule::Module
Module
Definition: FCALModule.h:37
FCALHVManager
This class provides direct access to information on the HV electrodes within the barrels....
Definition: FCALHVManager.h:35
CLASS_DEF.h
macros to associate a CLID to a type
FCALModule.h
FCALDetectorManager::getTreeTop
virtual PVConstLink getTreeTop(unsigned int i) const override
Gets the ith tree top.
Definition: FCALDetectorManager.cxx:69