ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
17#ifndef LARGEOALGSNV_LARDETECTORFACTORY_H
18#define LARGEOALGSNV_LARDETECTORFACTORY_H
20#include "GeoModelKernel/GeoVDetectorFactory.h"
22
23class StoreGateSvc;
24class LArHVManager;
25
26namespace LArGeo {
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
53 void setBarrelSagging(bool flag) {m_barrelSagging = flag;}
56 void setBuildBarrel(bool flag) {m_buildBarrel = flag;}
57 void setBuildEndcap(bool flag) {m_buildEndcap = flag;}
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
#define maxCell
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Stored in storegate.
LArDetectorManager * m_detectorManager
void setFCALVisLimit(int maxCell)
std::unique_ptr< VDetectorParameters > m_parameters
std::unique_ptr< LArGeo::VDetectorParameters > moveParameters()
LArDetectorFactory(StoreGateSvc *detStore, const LArHVManager *hvManager, int testbeam, bool fullGeo)
virtual void create(GeoPhysVol *world) override
LArDetectorFactory(const LArDetectorFactory &right)
const LArHVManager * m_hvManager
const LArDetectorFactory & operator=(const LArDetectorFactory &right)
void setEMECVariant(const std::string &inner, const std::string &outer)
void setBarrelCellVisLimit(int maxCell)
virtual const LArDetectorManager * getDetectorManager() const override
This class provides access to the High Voltage throughout the LAr.
The Athena Transient Store API.