ATLAS Offline Software
LArDetectorFactory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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"
21 
22 class StoreGateSvc;
23 class LArHVManager;
24 
25 namespace LArGeo {
26  class VDetectorParameters;
27 
28  class LArDetectorFactory : public GeoVDetectorFactory {
29 
30  public:
31 
32  // Constructor:
34  , const LArHVManager* hvManager
35  , int testbeam
36  , bool fullGeo);
37 
38  // Destructor:
40 
41  // Creation of geometry:
42  virtual void create(GeoPhysVol* world);
43 
44  // Access to the results:
45  virtual const LArDetectorManager* getDetectorManager() const;
46 
47  std::unique_ptr<LArGeo::VDetectorParameters> moveParameters();
48 
49 
50  // Set parameters:
51 
57  void setEMECVariant(const std::string &inner, const std::string &outer)
58  {
59  m_EMECVariantInner = inner;
60  m_EMECVariantOuter = outer;
61  }
62  void setActivateFT(bool flag) { m_activateFT = flag; }
63  void setEnableMBTS(bool flag) { m_enableMBTS = flag; }
64 
65  private:
66 
67  // Illegal operations:
70 
71  // The manager:
78 
81 
83 
84  bool m_fullGeo; // true->FULL, false->RECO
85  std::string m_EMECVariantInner;
86  std::string m_EMECVariantOuter;
87 
90 
91  std::unique_ptr<VDetectorParameters> m_parameters;
92  };
93 
94 } // namespace LArGeo
95 
96 #endif
97 
LArGeo::LArDetectorFactory::LArDetectorFactory
LArDetectorFactory(StoreGateSvc *detStore, const LArHVManager *hvManager, int testbeam, bool fullGeo)
Definition: LArDetectorFactory.cxx:43
LArGeo::LArDetectorFactory::m_hvManager
const LArHVManager * m_hvManager
Definition: LArDetectorFactory.h:74
LArGeo::VDetectorParameters
Definition: VDetectorParameters.h:29
LArGeo
Definition: LArDetectorFactory.h:25
LArGeo::LArDetectorFactory::m_EMECVariantOuter
std::string m_EMECVariantOuter
Definition: LArDetectorFactory.h:86
LArGeo::LArDetectorFactory::m_buildBarrel
bool m_buildBarrel
Definition: LArDetectorFactory.h:79
LArGeo::LArDetectorFactory::m_barrelSagging
bool m_barrelSagging
Definition: LArDetectorFactory.h:75
LArGeo::LArDetectorFactory::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactory.h:72
LArGeo::LArDetectorFactory::m_testbeam
int m_testbeam
Definition: LArDetectorFactory.h:82
LArGeo::LArDetectorFactory::m_EMECVariantInner
std::string m_EMECVariantInner
Definition: LArDetectorFactory.h:85
LArGeo::LArDetectorFactory::moveParameters
std::unique_ptr< LArGeo::VDetectorParameters > moveParameters()
Definition: LArDetectorFactory.cxx:320
LArGeo::LArDetectorFactory::~LArDetectorFactory
virtual ~LArDetectorFactory()
LArGeo::LArDetectorFactory::m_parameters
std::unique_ptr< VDetectorParameters > m_parameters
Definition: LArDetectorFactory.h:91
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
LArGeo::LArDetectorFactory::setBarrelCellVisLimit
void setBarrelCellVisLimit(int maxCell)
Definition: LArDetectorFactory.h:53
LArGeo::LArDetectorFactory::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorFactory.h:77
LArGeo::LArDetectorFactory::operator=
const LArDetectorFactory & operator=(const LArDetectorFactory &right)
LArGeo::LArDetectorFactory::create
virtual void create(GeoPhysVol *world)
Definition: LArDetectorFactory.cxx:67
LArGeo::LArDetectorFactory::getDetectorManager
virtual const LArDetectorManager * getDetectorManager() const
Definition: LArDetectorFactory.cxx:315
master.flag
bool flag
Definition: master.py:29
LArGeo::LArDetectorFactory::setEMECVariant
void setEMECVariant(const std::string &inner, const std::string &outer)
Definition: LArDetectorFactory.h:57
LArGeo::LArDetectorFactory::m_buildEndcap
bool m_buildEndcap
Definition: LArDetectorFactory.h:80
LArGeo::LArDetectorFactory::setBuildEndcap
void setBuildEndcap(bool flag)
Definition: LArDetectorFactory.h:56
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:76
LArGeo::LArDetectorFactory::m_detStore
StoreGateSvc * m_detStore
Definition: LArDetectorFactory.h:73
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:89
LArGeo::LArDetectorFactory::m_fullGeo
bool m_fullGeo
Definition: LArDetectorFactory.h:84
LArGeo::LArDetectorFactory::setActivateFT
void setActivateFT(bool flag)
Definition: LArDetectorFactory.h:62
LArGeo::LArDetectorFactory::setBarrelSagging
void setBarrelSagging(bool flag)
Definition: LArDetectorFactory.h:52
LArGeo::LArDetectorFactory::m_activateFT
bool m_activateFT
Definition: LArDetectorFactory.h:88
LArGeo::LArDetectorFactory::setEnableMBTS
void setEnableMBTS(bool flag)
Definition: LArDetectorFactory.h:63
LArGeo::LArDetectorFactory::setFCALVisLimit
void setFCALVisLimit(int maxCell)
Definition: LArDetectorFactory.h:54
maxCell
#define maxCell
LArGeo::LArDetectorFactory::setBuildBarrel
void setBuildBarrel(bool flag)
Definition: LArDetectorFactory.h:55
LArGeo::LArDetectorFactory
LArDetectorFactory builds GeoModel description of LAr calorimeter by calling relevant 'Construction' ...
Definition: LArDetectorFactory.h:28