ATLAS Offline Software
EMECConstruction.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
13 #ifndef LARGEOENDCAP_EMECCONSTRUCTION_H
14 #define LARGEOENDCAP_EMECCONSTRUCTION_H
15 
17 #include<vector>
18 #include <string>
19 class GeoFullPhysVol;
20 class GeoMaterial;
21 
22 namespace LArGeo {
23 
28  : public AthMessaging
29  {
30  public:
31 
32  EMECConstruction(bool is_tb = false, bool has_inner = true, bool has_outer = true);
33  virtual ~EMECConstruction();
34 
35  // Get the envelope containing this detector.
36  virtual GeoIntrusivePtr<GeoFullPhysVol> GetEnvelope(bool bPos = true);
37 
38  // Set fullGeo flag
39  void setFullGeo(bool flag);
40 
41  void setInnerVariant(const std::string &v){ m_innerWheelVariant = v; }
42  void setOuterVariant(const std::string &v){ m_outerWheelVariant = v; }
43 
44  private:
45  bool m_fullGeo; // true->FULL, false->RECO
46 
47  bool m_isTB;
50 
51  std::string m_innerWheelVariant;
52  std::string m_outerWheelVariant;
53 
54  static void place_custom_solids(
55  GeoIntrusivePtr<GeoFullPhysVol>fullPV,
56  std::vector<std::string> &absorbers,
57  std::vector<std::string> &electrodes,
58  int multilayered_absorbers,
59  const GeoMaterial *Absorber, const GeoMaterial *Electrode,
60  const GeoMaterial *Glue, const GeoMaterial *Lead
61  );
62 
63  };
64 
65 } // namespace LArGeo
66 
67 #endif // __EMECConstruction_H__
LArGeo
Definition: LArDetectorFactory.h:26
LArGeo::EMECConstruction::m_innerWheelVariant
std::string m_innerWheelVariant
Definition: EMECConstruction.h:51
LArGeo::EMECConstruction::m_outerWheelVariant
std::string m_outerWheelVariant
Definition: EMECConstruction.h:52
LArGeo::EMECConstruction::~EMECConstruction
virtual ~EMECConstruction()
LArGeo::EMECConstruction::setOuterVariant
void setOuterVariant(const std::string &v)
Definition: EMECConstruction.h:42
LArGeo::EMECConstruction::m_hasOuterWheel
bool m_hasOuterWheel
Definition: EMECConstruction.h:49
LArGeo::EMECConstruction::GetEnvelope
virtual GeoIntrusivePtr< GeoFullPhysVol > GetEnvelope(bool bPos=true)
Definition: EMECConstruction.cxx:100
master.flag
bool flag
Definition: master.py:29
LArGeo::EMECConstruction::setFullGeo
void setFullGeo(bool flag)
Definition: EMECConstruction.cxx:604
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
LArGeo::EMECConstruction
GeoModel description of the LAr EMEC envelope and the active part (custom shapes)
Definition: EMECConstruction.h:29
LArGeo::EMECConstruction::setInnerVariant
void setInnerVariant(const std::string &v)
Definition: EMECConstruction.h:41
LArGeo::EMECConstruction::EMECConstruction
EMECConstruction(bool is_tb=false, bool has_inner=true, bool has_outer=true)
Definition: EMECConstruction.cxx:86
python.PyAthena.v
v
Definition: PyAthena.py:154
LArGeo::EMECConstruction::m_isTB
bool m_isTB
Definition: EMECConstruction.h:47
AthMessaging.h
LArGeo::EMECConstruction::place_custom_solids
static void place_custom_solids(GeoIntrusivePtr< GeoFullPhysVol >fullPV, std::vector< std::string > &absorbers, std::vector< std::string > &electrodes, int multilayered_absorbers, const GeoMaterial *Absorber, const GeoMaterial *Electrode, const GeoMaterial *Glue, const GeoMaterial *Lead)
Definition: EMECConstruction.cxx:610
LArGeo::EMECConstruction::m_hasInnerWheel
bool m_hasInnerWheel
Definition: EMECConstruction.h:48
LArGeo::EMECConstruction::m_fullGeo
bool m_fullGeo
Definition: EMECConstruction.h:45