ATLAS Offline Software
EMECSupportConstruction.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 // EMECSupportConstruction
14 // construct EMEC support structures
15 // 20-May-2003 AMS
16 // 06-Oct-2003 JT, modified for using GeoModel
17 #ifndef LARGEOENDCAP_EMECSUPPORTCONSTRUCTION_H
18 #define LARGEOENDCAP_EMECSUPPORTCONSTRUCTION_H
19 
21 
22 class GeoPhysVol;
23 class GeoElement;
24 class GeoMaterial;
25 class GeoPcon;
26 
27 /*
28 types:
29  0 - front
30  1 - back
31  2 - outer
32  3 - inner
33  4 - middle
34 
35  10 - front only in region of inner wheel
36  11 - back only in region of inner wheel
37  12 - front only in region of outer wheel
38  13 - back only in region of outer wheel
39 */
40 
41 namespace LArGeo {
42 
47 {
48  public:
49  typedef enum {
51  FrontInner = 10, BackInner = 11,
52  FrontOuter = 12, BackOuter = 13,
53  } type_t;
54 
56  type_t type,
57  bool pos_zside = true,
58  bool is_module = false,
59  std::string basename = "LAr::EMEC::",
60  double position = 0.
61  );
63 
64  // Get the envelope containing this detector.
65  virtual GeoIntrusivePtr<GeoPhysVol> GetEnvelope(void) const;
66 
67  private:
68  GeoIntrusivePtr<GeoPhysVol>front_envelope(void) const;
69  GeoIntrusivePtr<GeoPhysVol>back_envelope(void) const;
70  GeoIntrusivePtr<GeoPhysVol>outer_envelope(void) const;
71  GeoIntrusivePtr<GeoPhysVol>inner_envelope(void) const;
72  GeoIntrusivePtr<GeoPhysVol>middle_envelope(void) const;
73  GeoIntrusivePtr<GeoPhysVol>front_inner_envelope(void) const;
74  GeoIntrusivePtr<GeoPhysVol>back_inner_envelope(void) const;
75  GeoIntrusivePtr<GeoPhysVol>front_outer_envelope(void) const;
76  GeoIntrusivePtr<GeoPhysVol>back_outer_envelope(void) const;
77 
78  void put_front_outer_extracyl(GeoIntrusivePtr<GeoPhysVol>) const;
79 
80  void put_front_inner_barettes(GeoIntrusivePtr<GeoPhysVol>) const;
81  void put_front_inner_longbar(GeoIntrusivePtr<GeoPhysVol>) const;
82  void put_front_inner_ring(GeoIntrusivePtr<GeoPhysVol>) const;
83  void put_front_middle_ring(GeoIntrusivePtr<GeoPhysVol>) const;
84  void put_back_middle_ring(GeoIntrusivePtr<GeoPhysVol>) const;
85  void put_back_inner_ring(GeoIntrusivePtr<GeoPhysVol>) const;
86  void put_back_inner_longbar(GeoIntrusivePtr<GeoPhysVol>) const;
87  void put_back_inner_barettes(GeoIntrusivePtr<GeoPhysVol>) const;
88  void put_front_outer_ring(GeoIntrusivePtr<GeoPhysVol>) const;
89  void put_front_indexing_rings(GeoIntrusivePtr<GeoPhysVol>) const;
90  void put_front_outer_longbar(GeoIntrusivePtr<GeoPhysVol>) const;
91  void put_front_outer_barettes(GeoIntrusivePtr<GeoPhysVol>) const;
92  void put_back_outer_ring(GeoIntrusivePtr<GeoPhysVol>) const;
93  void put_back_indexing_rings(GeoIntrusivePtr<GeoPhysVol>) const;
94  void put_back_outer_longbar(GeoIntrusivePtr<GeoPhysVol>) const;
95  void put_back_outer_barettes(GeoIntrusivePtr<GeoPhysVol>) const;
96  void put_front_outer_electronics(GeoIntrusivePtr<GeoPhysVol>) const;
97 
98  GeoPcon* getPcon(const std::string&) const;
99 
103  std::string m_BaseName;
105 
106  const GeoMaterial* m_LAr;
107  const GeoMaterial* m_Alu;
108  const GeoMaterial* m_Gten;
109  const GeoMaterial* m_PermaliE730;
110  const GeoMaterial* m_G10FeInner;
111  const GeoMaterial* m_G10FeOuter;
112  const GeoMaterial* m_Kapton_Cu;
113  const GeoMaterial* m_Cable;
114  const GeoMaterial* m_Copper;
115  const GeoMaterial* m_Lead;
116 
121 };
122 
123 } // namespace LArGeo
124 
125 #endif // LARGEOENDCAP_EMECSUPPORTCONSTRUCTION_H
LArGeo::EMECSupportConstruction::FrontOuter
@ FrontOuter
Definition: EMECSupportConstruction.h:52
LArGeo::EMECSupportConstruction::m_G10FeInner
const GeoMaterial * m_G10FeInner
Definition: EMECSupportConstruction.h:110
LArGeo::EMECSupportConstruction::middle_envelope
GeoIntrusivePtr< GeoPhysVol > middle_envelope(void) const
!!!
Definition: EMECSupportConstruction.cxx:1343
LArGeo::EMECSupportConstruction::put_back_inner_barettes
void put_back_inner_barettes(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1030
LArGeo::EMECSupportConstruction::inner_envelope
GeoIntrusivePtr< GeoPhysVol > inner_envelope(void) const
Definition: EMECSupportConstruction.cxx:1236
LArGeo::EMECSupportConstruction::m_DB_tubes
IRDBRecordset_ptr m_DB_tubes
Definition: EMECSupportConstruction.h:118
LArGeo::EMECSupportConstruction::put_front_outer_ring
void put_front_outer_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1548
LArGeo::EMECSupportConstruction::GetEnvelope
virtual GeoIntrusivePtr< GeoPhysVol > GetEnvelope(void) const
Definition: EMECSupportConstruction.cxx:292
LArGeo::EMECSupportConstruction::put_front_outer_extracyl
void put_front_outer_extracyl(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1726
LArGeo
Definition: LArDetectorFactory.h:25
LArGeo::EMECSupportConstruction::EMECSupportConstruction
EMECSupportConstruction(type_t type, bool pos_zside=true, bool is_module=false, std::string basename="LAr::EMEC::", double position=0.)
Definition: EMECSupportConstruction.cxx:93
LArGeo::EMECSupportConstruction::front_inner_envelope
GeoIntrusivePtr< GeoPhysVol > front_inner_envelope(void) const
Definition: EMECSupportConstruction.cxx:1934
LArGeo::EMECSupportConstruction::type_t
type_t
Definition: EMECSupportConstruction.h:49
LArGeo::EMECSupportConstruction::m_DB_EmecWheelParameters
IRDBRecordset_ptr m_DB_EmecWheelParameters
Definition: EMECSupportConstruction.h:117
LArGeo::EMECSupportConstruction::m_Position
double m_Position
Definition: EMECSupportConstruction.h:104
LArGeo::EMECSupportConstruction::put_front_inner_ring
void put_front_inner_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1417
LArGeo::EMECSupportConstruction::put_front_outer_electronics
void put_front_outer_electronics(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1784
LArGeo::EMECSupportConstruction::put_back_inner_ring
void put_back_inner_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1504
LArGeo::EMECSupportConstruction::m_DB_EmecFan
IRDBRecordset_ptr m_DB_EmecFan
Definition: EMECSupportConstruction.h:120
LArGeo::EMECSupportConstruction::m_DB_ColdContraction
IRDBRecordset_ptr m_DB_ColdContraction
Definition: EMECSupportConstruction.h:120
LArGeo::EMECSupportConstruction::put_front_outer_barettes
void put_front_outer_barettes(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:702
LArGeo::EMECSupportConstruction::m_DB_mn
IRDBRecordset_ptr m_DB_mn
Definition: EMECSupportConstruction.h:117
LArGeo::EMECSupportConstruction::front_envelope
GeoIntrusivePtr< GeoPhysVol > front_envelope(void) const
Definition: EMECSupportConstruction.cxx:660
LArGeo::EMECSupportConstruction::put_front_outer_longbar
void put_front_outer_longbar(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1560
LArGeo::EMECSupportConstruction::Middle
@ Middle
Definition: EMECSupportConstruction.h:50
LArGeo::EMECSupportConstruction::Outer
@ Outer
Definition: EMECSupportConstruction.h:50
LArGeo::EMECSupportConstruction::back_inner_envelope
GeoIntrusivePtr< GeoPhysVol > back_inner_envelope(void) const
Definition: EMECSupportConstruction.cxx:1949
LArGeo::EMECSupportConstruction::Front
@ Front
Definition: EMECSupportConstruction.h:50
LArGeo::EMECSupportConstruction::m_DB_emecExtraCyl
IRDBRecordset_ptr m_DB_emecExtraCyl
Definition: EMECSupportConstruction.h:119
LArGeo::EMECSupportConstruction::put_back_outer_ring
void put_back_outer_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1702
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
LArGeo::EMECSupportConstruction
GeoModel description of the EMEC Support Structures.
Definition: EMECSupportConstruction.h:47
LArGeo::EMECSupportConstruction::getPcon
GeoPcon * getPcon(const std::string &) const
Definition: EMECSupportConstruction.cxx:313
LArGeo::EMECSupportConstruction::m_DB_pcons
IRDBRecordset_ptr m_DB_pcons
Definition: EMECSupportConstruction.h:118
LArGeo::EMECSupportConstruction::m_PermaliE730
const GeoMaterial * m_PermaliE730
Definition: EMECSupportConstruction.h:109
LArGeo::EMECSupportConstruction::put_front_inner_longbar
void put_front_inner_longbar(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1444
LArGeo::EMECSupportConstruction::m_Gten
const GeoMaterial * m_Gten
Definition: EMECSupportConstruction.h:108
LArGeo::EMECSupportConstruction::BackInner
@ BackInner
Definition: EMECSupportConstruction.h:51
LArGeo::EMECSupportConstruction::put_back_indexing_rings
void put_back_indexing_rings(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1637
LArGeo::EMECSupportConstruction::m_pos_zside
bool m_pos_zside
Definition: EMECSupportConstruction.h:101
LArGeo::EMECSupportConstruction::put_back_outer_longbar
void put_back_outer_longbar(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1714
LArGeo::EMECSupportConstruction::m_PhiSize
double m_PhiSize
Definition: EMECSupportConstruction.h:104
LArGeo::EMECSupportConstruction::put_front_inner_barettes
void put_front_inner_barettes(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:810
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
LArGeo::EMECSupportConstruction::m_Alu
const GeoMaterial * m_Alu
Definition: EMECSupportConstruction.h:107
LArGeo::EMECSupportConstruction::Back
@ Back
Definition: EMECSupportConstruction.h:50
LArGeo::EMECSupportConstruction::front_outer_envelope
GeoIntrusivePtr< GeoPhysVol > front_outer_envelope(void) const
Definition: EMECSupportConstruction.cxx:1964
LArGeo::EMECSupportConstruction::Inner
@ Inner
Definition: EMECSupportConstruction.h:50
LArGeo::EMECSupportConstruction::put_front_middle_ring
void put_front_middle_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1373
LArGeo::EMECSupportConstruction::back_envelope
GeoIntrusivePtr< GeoPhysVol > back_envelope(void) const
Definition: EMECSupportConstruction.cxx:682
LArGeo::EMECSupportConstruction::m_DB_numbers
IRDBRecordset_ptr m_DB_numbers
Definition: EMECSupportConstruction.h:118
LArGeo::EMECSupportConstruction::m_G10FeOuter
const GeoMaterial * m_G10FeOuter
Definition: EMECSupportConstruction.h:111
LArGeo::EMECSupportConstruction::put_back_inner_longbar
void put_back_inner_longbar(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1531
LArGeo::EMECSupportConstruction::m_Lead
const GeoMaterial * m_Lead
Definition: EMECSupportConstruction.h:115
LArGeo::EMECSupportConstruction::put_front_indexing_rings
void put_front_indexing_rings(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1572
LArGeo::EMECSupportConstruction::m_isModule
bool m_isModule
Definition: EMECSupportConstruction.h:102
LArGeo::EMECSupportConstruction::m_LAr
const GeoMaterial * m_LAr
Definition: EMECSupportConstruction.h:106
LArGeo::EMECSupportConstruction::m_Cable
const GeoMaterial * m_Cable
Definition: EMECSupportConstruction.h:113
LArGeo::EMECSupportConstruction::outer_envelope
GeoIntrusivePtr< GeoPhysVol > outer_envelope(void) const
Definition: EMECSupportConstruction.cxx:1154
LArGeo::EMECSupportConstruction::BackOuter
@ BackOuter
Definition: EMECSupportConstruction.h:52
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArGeo::EMECSupportConstruction::m_Kapton_Cu
const GeoMaterial * m_Kapton_Cu
Definition: EMECSupportConstruction.h:112
LArGeo::EMECSupportConstruction::m_Copper
const GeoMaterial * m_Copper
Definition: EMECSupportConstruction.h:114
LArGeo::EMECSupportConstruction::m_DB_boxes
IRDBRecordset_ptr m_DB_boxes
Definition: EMECSupportConstruction.h:118
LArGeo::EMECSupportConstruction::put_back_outer_barettes
void put_back_outer_barettes(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:918
LArGeo::EMECSupportConstruction::m_DB_EmecGeometry
IRDBRecordset_ptr m_DB_EmecGeometry
Definition: EMECSupportConstruction.h:117
LArGeo::EMECSupportConstruction::m_Type
type_t m_Type
Definition: EMECSupportConstruction.h:100
LArGeo::EMECSupportConstruction::FrontInner
@ FrontInner
Definition: EMECSupportConstruction.h:51
LArGeo::EMECSupportConstruction::m_BaseName
std::string m_BaseName
Definition: EMECSupportConstruction.h:103
LArGeo::EMECSupportConstruction::put_back_middle_ring
void put_back_middle_ring(GeoIntrusivePtr< GeoPhysVol >) const
Definition: EMECSupportConstruction.cxx:1462
LArGeo::EMECSupportConstruction::~EMECSupportConstruction
virtual ~EMECSupportConstruction()
LArGeo::EMECSupportConstruction::back_outer_envelope
GeoIntrusivePtr< GeoPhysVol > back_outer_envelope(void) const
Definition: EMECSupportConstruction.cxx:1982
LArGeo::EMECSupportConstruction::m_PhiStart
double m_PhiStart
Definition: EMECSupportConstruction.h:104
beamspotman.basename
basename
Definition: beamspotman.py:640