ATLAS Offline Software
ModulesConstructionH62004.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARGEOH62004ALGS_MODULESCONSTRUCTIONH62004_H
6 #define LARGEOH62004ALGS_MODULESCONSTRUCTIONH62004_H
7 
8 #include "GeoModelKernel/GeoFullPhysVol.h"
9 #include "GeoModelKernel/GeoPhysVol.h"
10 #include "GeoModelKernel/GeoLogVol.h"
11 
13 #include "StoreGate/StoreGateSvc.h"
14 
16 
17 namespace LArGeo {
18 
19 #define NUM_LEAK 18
20 
22  public:
25  GeoIntrusivePtr<GeoVFullPhysVol> GetEnvelope();
26  private:
29 
30  static int GetID(int side, int dir, int calo);
31  static GeoLogVol* construct(StoredMaterialManager* materialManager,
32  int side, int dir, int calo);
33  static GeoTrf::Transform3D position(int side, int dir, int calo);
34  // side = 0 - left, 1 - right
35  // dir = 0 - side, 1 - up, 2 - back
36  // calo = 0 - EMEC, 1 - HEC1, 2 - HEC2, 3 - FCAL1
37  // 4 - FCAL2, 5 - ColdTail
38 
39  GeoIntrusivePtr<GeoFullPhysVol> m_ModulesPhys;
41 
43 
44  struct LeakGeom {
45  LeakGeom();
49  };
50  static const LeakGeom s_leakGeom;
51 
53 };
54 
55 }
56 
57 #endif // LARGEOH62004ALGS_MODULESCONSTRUCTIONH62004_H
LArGeo::ModulesConstructionH62004::GetEnvelope
GeoIntrusivePtr< GeoVFullPhysVol > GetEnvelope()
Definition: ModulesConstructionH62004.cxx:150
LArGeo
Definition: LArDetectorFactory.h:25
LArGeo::ModulesConstructionH62004::GetID
static int GetID(int side, int dir, int calo)
Definition: ModulesConstructionH62004.cxx:532
LArGeo::ModulesConstructionH62004::m_Options
const LArGeoTB2004Options * m_Options
Definition: ModulesConstructionH62004.h:42
LArGeo::ModulesConstructionH62004::LeakGeom::m_angleY
float m_angleY[NUM_LEAK]
Definition: ModulesConstructionH62004.h:48
LArGeo::ModulesConstructionH62004::m_detectorStore
StoreGateSvc * m_detectorStore
Definition: ModulesConstructionH62004.h:40
LArGeo::ModulesConstructionH62004::ModulesConstructionH62004
ModulesConstructionH62004()
Definition: ModulesConstructionH62004.cxx:133
TRT::Hit::side
@ side
Definition: HitInfo.h:83
LArGeo::ModulesConstructionH62004::ModulesConstructionH62004
ModulesConstructionH62004(const ModulesConstructionH62004 &)
NUM_LEAK
#define NUM_LEAK
Definition: ModulesConstructionH62004.h:19
LArGeo::ModulesConstructionH62004::operator=
ModulesConstructionH62004 & operator=(const ModulesConstructionH62004 &)
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
LArGeo::ModulesConstructionH62004::LeakGeom::m_angleZ
float m_angleZ[NUM_LEAK]
Definition: ModulesConstructionH62004.h:48
LArGeo::ModulesConstructionH62004::LeakGeom::m_angleX
float m_angleX[NUM_LEAK]
Definition: ModulesConstructionH62004.h:48
LArGeo::ModulesConstructionH62004
Definition: ModulesConstructionH62004.h:21
LArGeoTB2004Options
Definition: LArGeoTB2004Options.h:15
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
LArGeo::ModulesConstructionH62004::m_fcalVisLimit
int m_fcalVisLimit
Definition: ModulesConstructionH62004.h:52
LArGeo::ModulesConstructionH62004::m_ModulesPhys
GeoIntrusivePtr< GeoFullPhysVol > m_ModulesPhys
Definition: ModulesConstructionH62004.h:39
beamspotman.dir
string dir
Definition: beamspotman.py:623
LArGeo::ModulesConstructionH62004::LeakGeom::m_shiftY
float m_shiftY[NUM_LEAK]
Definition: ModulesConstructionH62004.h:47
LArGeo::ModulesConstructionH62004::~ModulesConstructionH62004
virtual ~ModulesConstructionH62004()
LArGeo::ModulesConstructionH62004::LeakGeom
Definition: ModulesConstructionH62004.h:44
StoredMaterialManager.h
LArGeo::ModulesConstructionH62004::LeakGeom::m_shiftZ
float m_shiftZ[NUM_LEAK]
Definition: ModulesConstructionH62004.h:47
LArGeo::ModulesConstructionH62004::LeakGeom::m_shiftX
float m_shiftX[NUM_LEAK]
Definition: ModulesConstructionH62004.h:47
LArGeo::ModulesConstructionH62004::LeakGeom::m_dY
float m_dY[NUM_LEAK]
Definition: ModulesConstructionH62004.h:46
LArGeo::ModulesConstructionH62004::s_leakGeom
static const LeakGeom s_leakGeom
Definition: ModulesConstructionH62004.h:50
LArGeo::ModulesConstructionH62004::LeakGeom::m_dX
float m_dX[NUM_LEAK]
Definition: ModulesConstructionH62004.h:46
LArGeo::ModulesConstructionH62004::LeakGeom::LeakGeom
LeakGeom()
Definition: ModulesConstructionH62004.cxx:59
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
LArGeo::ModulesConstructionH62004::construct
static GeoLogVol * construct(StoredMaterialManager *materialManager, int side, int dir, int calo)
Definition: ModulesConstructionH62004.cxx:563
LArGeo::ModulesConstructionH62004::position
static GeoTrf::Transform3D position(int side, int dir, int calo)
Definition: ModulesConstructionH62004.cxx:654
LArGeo::ModulesConstructionH62004::LeakGeom::m_dZ
float m_dZ[NUM_LEAK]
Definition: ModulesConstructionH62004.h:46
StoreGateSvc.h