ATLAS Offline Software
LArDetectorFactory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
17 #ifndef LARGEOALGSNV_LARDETECTORFACTORY_H
18 #define LARGEOALGSNV_LARDETECTORFACTORY_H
20 #include "GeoModelKernel/GeoVDetectorFactory.h"
22 
23 class StoreGateSvc;
24 class LArHVManager;
25 
26 namespace LArGeo {
27  class VDetectorParameters;
28 
29  class LArDetectorFactory : public GeoVDetectorFactory, public AthMessaging {
30 
31  public:
32 
33  // Constructor:
35  , const LArHVManager* hvManager
36  , int testbeam
37  , bool fullGeo);
38 
39  // Destructor:
41 
42  // Creation of geometry:
43  virtual void create(GeoPhysVol* world) override;
44 
45  // Access to the results:
46  virtual const LArDetectorManager* getDetectorManager() const override;
47 
48  std::unique_ptr<LArGeo::VDetectorParameters> moveParameters();
49 
50 
51  // Set parameters:
52 
58  void setEMECVariant(const std::string &inner, const std::string &outer)
59  {
60  m_EMECVariantInner = inner;
61  m_EMECVariantOuter = outer;
62  }
63  void setActivateFT(bool flag) { m_activateFT = flag; }
64  void setEnableMBTS(bool flag) { m_enableMBTS = flag; }
65 
66  private:
67 
68  // Illegal operations:
71 
72  // The manager:
79 
82 
84 
85  bool m_fullGeo; // true->FULL, false->RECO
86  std::string m_EMECVariantInner;
87  std::string m_EMECVariantOuter;
88 
91 
92  std::unique_ptr<VDetectorParameters> m_parameters;
93  };
94 
95 } // namespace LArGeo
96 
97 #endif
98 
LArGeo::LArDetectorFactory::LArDetectorFactory
LArDetectorFactory(StoreGateSvc *detStore, const LArHVManager *hvManager, int testbeam, bool fullGeo)
Definition: LArDetectorFactory.cxx:42
LArGeo::LArDetectorFactory::m_hvManager
const LArHVManager * m_hvManager
Definition: LArDetectorFactory.h:75
LArGeo::VDetectorParameters
Definition: VDetectorParameters.h:29
LArGeo
Definition: LArDetectorFactory.h:26
LArGeo::LArDetectorFactory::getDetectorManager
virtual const LArDetectorManager * getDetectorManager() const override
Definition: LArDetectorFactory.cxx:306
LArGeo::LArDetectorFactory::m_EMECVariantOuter
std::string m_EMECVariantOuter
Definition: LArDetectorFactory.h:87
LArGeo::LArDetectorFactory::m_buildBarrel
bool m_buildBarrel
Definition: LArDetectorFactory.h:80
LArGeo::LArDetectorFactory::m_barrelSagging
bool m_barrelSagging
Definition: LArDetectorFactory.h:76
LArGeo::LArDetectorFactory::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactory.h:73
LArGeo::LArDetectorFactory::m_testbeam
int m_testbeam
Definition: LArDetectorFactory.h:83
LArGeo::LArDetectorFactory::m_EMECVariantInner
std::string m_EMECVariantInner
Definition: LArDetectorFactory.h:86
LArGeo::LArDetectorFactory::moveParameters
std::unique_ptr< LArGeo::VDetectorParameters > moveParameters()
Definition: LArDetectorFactory.cxx:311
LArGeo::LArDetectorFactory::~LArDetectorFactory
virtual ~LArDetectorFactory()
LArGeo::LArDetectorFactory::m_parameters
std::unique_ptr< VDetectorParameters > m_parameters
Definition: LArDetectorFactory.h:92
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
LArGeo::LArDetectorFactory::setBarrelCellVisLimit
void setBarrelCellVisLimit(int maxCell)
Definition: LArDetectorFactory.h:54
LArGeo::LArDetectorFactory::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorFactory.h:78
LArGeo::LArDetectorFactory::operator=
const LArDetectorFactory & operator=(const LArDetectorFactory &right)
LArGeo::LArDetectorFactory::create
virtual void create(GeoPhysVol *world) override
Definition: LArDetectorFactory.cxx:67
master.flag
bool flag
Definition: master.py:29
LArGeo::LArDetectorFactory::setEMECVariant
void setEMECVariant(const std::string &inner, const std::string &outer)
Definition: LArDetectorFactory.h:58
LArGeo::LArDetectorFactory::m_buildEndcap
bool m_buildEndcap
Definition: LArDetectorFactory.h:81
LArGeo::LArDetectorFactory::setBuildEndcap
void setBuildEndcap(bool flag)
Definition: LArDetectorFactory.h:57
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LArDetectorManager
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
Definition: LArDetectorManager.h:26
LArGeo::LArDetectorFactory::LArDetectorFactory
LArDetectorFactory(const LArDetectorFactory &right)
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LArDetectorManager.h
LArGeo::LArDetectorFactory::m_barrelVisLimit
int m_barrelVisLimit
Definition: LArDetectorFactory.h:77
LArGeo::LArDetectorFactory::m_detStore
StoreGateSvc * m_detStore
Definition: LArDetectorFactory.h:74
LArHVManager
This class provides access to the High Voltage throughout the LAr. High voltage conditions can also b...
Definition: LArHVManager.h:24
LArGeo::LArDetectorFactory::m_enableMBTS
bool m_enableMBTS
Definition: LArDetectorFactory.h:90
LArGeo::LArDetectorFactory::m_fullGeo
bool m_fullGeo
Definition: LArDetectorFactory.h:85
LArGeo::LArDetectorFactory::setActivateFT
void setActivateFT(bool flag)
Definition: LArDetectorFactory.h:63
AthMessaging.h
LArGeo::LArDetectorFactory::setBarrelSagging
void setBarrelSagging(bool flag)
Definition: LArDetectorFactory.h:53
LArGeo::LArDetectorFactory::m_activateFT
bool m_activateFT
Definition: LArDetectorFactory.h:89
LArGeo::LArDetectorFactory::setEnableMBTS
void setEnableMBTS(bool flag)
Definition: LArDetectorFactory.h:64
LArGeo::LArDetectorFactory::setFCALVisLimit
void setFCALVisLimit(int maxCell)
Definition: LArDetectorFactory.h:55
maxCell
#define maxCell
LArGeo::LArDetectorFactory::setBuildBarrel
void setBuildBarrel(bool flag)
Definition: LArDetectorFactory.h:56
LArGeo::LArDetectorFactory
LArDetectorFactory builds GeoModel description of LAr calorimeter by calling relevant 'Construction' ...
Definition: LArDetectorFactory.h:29