ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Attributes | List of all members
MuonWallTool Class Referencefinal

#include "MuonWall/MuonWallTool.h"

Inheritance diagram for MuonWallTool:
Collaboration diagram for MuonWallTool:

Public Member Functions

 MuonWallTool (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~MuonWallTool ()
 
virtual void BuildGeometry () override final
 Override DetectorGeometryBase::BuildGeometry method. More...
 
StatusCode initialize () override
 Athena method. More...
 
virtual void Build () override
 purely virtual methods being implemented here More...
 
virtual void PositionInParent () override
 
virtual void SetRotationAndOffset ()
 
virtual void BuildSubDetectors () override
 
virtual void SetEnvelope () override
 
virtual void ResetEnvelope () override
 
virtual void SetAsWorld () override
 
std::string GetDetectorName () const override
 
void SetDetectorName (const std::string &) override
 
void SetParent (IDetectorGeometryTool *) override
 
EnvelopeGetEnvelope () override final
 
G4VPhysicalVolume * GetWorldVolume () override final
 

Protected Attributes

ToolHandleArray< IDetectorGeometryToolm_subDetTools {this, "SubDetectors", {}, "Tool handle array of all subdetector tools"}
 
ServiceHandle< IG4GeometryNotifierSvcm_notifierSvc {this, "GeometryNotifierSvc", "G4GeometryNotifierSvc", "Detector name (same as the Tool name if not set"}
 
IDetectorGeometryToolm_theParent {}
 
Envelope m_envelope
 
Gaudi::Property< std::string > m_detectorName {this, "DetectorName", "", "Detector name (same as the Tool name if not set"}
 
bool m_isWorld {false}
 
Gaudi::Property< double > m_rotateX {this, "RotateX" , 0.0, "Rotation around the X-axis"}
 
Gaudi::Property< double > m_rotateY {this, "RotateY" , 0.0, "Rotation around the Y-axis"}
 
Gaudi::Property< double > m_rotateZ {this, "RotateZ" , 0.0, "Rotation around the Z-axis"}
 
Gaudi::Property< double > m_offsetX {this, "OffsetX" , 0.0, "Offset in the X-direction"}
 
Gaudi::Property< double > m_offsetY {this, "OffsetY" , 0.0, "Offset in the Y-direction"}
 
Gaudi::Property< double > m_offsetZ {this, "OffsetZ" , 0.0, "Offset in the Z-direction"}
 

Private Attributes

double m_zLength
 
double m_yLength
 
double m_xLength
 
bool m_backWall
 
bool m_sideWall
 

Detailed Description

Tool for building the MuonWall detector.

Definition at line 19 of file MuonWallTool.h.

Constructor & Destructor Documentation

◆ MuonWallTool()

MuonWallTool::MuonWallTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 34 of file MuonWallTool.cxx.

36  m_zLength(0.),
37  m_yLength(0.),
38  m_xLength(0.),
39  m_backWall(true),
40  m_sideWall(false)
41 {
42  ATH_MSG_DEBUG( "MuonWallTool constructor for " << name );
43  declareProperty("ZLength", m_zLength, "");
44  declareProperty("YLength", m_yLength, "");
45  declareProperty("XLength", m_xLength, "");
46  declareProperty("backWall", m_backWall, "");
47  declareProperty("sideWall", m_sideWall, "");
48 }

◆ ~MuonWallTool()

MuonWallTool::~MuonWallTool ( )

Definition at line 50 of file MuonWallTool.cxx.

51 {
52 }

Member Function Documentation

◆ Build()

void DetectorGeometryBase::Build ( )
overridevirtualinherited

purely virtual methods being implemented here

Definition at line 53 of file DetectorGeometryBase.cxx.

54 {
55  ATH_MSG_VERBOSE( name() << "::Build() (Base class method): Starting. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
56 
57  SetEnvelope();
58  ATH_MSG_VERBOSE( name() << "::Build() - Envelope set. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
59 
60  m_notifierSvc->SetCurrentDetectorName(m_detectorName.value());
61  BuildGeometry();
62  ATH_MSG_VERBOSE( name() << "::Build() - Geometry built. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
63 
65  ATH_MSG_VERBOSE( name() << "::Build() - Volume moved around. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
66 
68  ATH_MSG_VERBOSE( name() << "::Build() - Connected with parent. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
69 
71  ATH_MSG_VERBOSE( name() << "::Build() (Base class method): Finished. Number of registered volumes "<<G4LogicalVolumeStore::GetInstance()->size() );
72  return;
73 }

◆ BuildGeometry()

void MuonWallTool::BuildGeometry ( )
finaloverridevirtual

Override DetectorGeometryBase::BuildGeometry method.

Reimplemented from DetectorGeometryBase.

Definition at line 54 of file MuonWallTool.cxx.

54  {
55 
56  ATH_MSG_DEBUG( "Building Geometry back muon wall: "
57  << (m_backWall ? "true" : "false")
58  << " side muon wall: "
59  << (m_sideWall ? "true" : "false") );
60 
61  // MuonWall description :
62 
63  // Scintillator : 400*200*20, calculating half-size
64  const double zScintillator = m_zLength / 2.;
65  const double yScintillator = m_yLength / 2.;
66  const double xScintillator = m_xLength / 2.;
67  const double dzmuonwall = 750. * CLHEP::mm;
68  const double dymuonwall = 425. * CLHEP::mm;
69  const double dxmuonwall = xScintillator;
70 
71  G4Box *wall = new G4Box("MuonWall", dxmuonwall, dymuonwall, dzmuonwall);
72 
73  // Get the materials
74  StoredMaterialManager* materialManager = nullptr;
75  if (StatusCode::SUCCESS != detStore()->retrieve(materialManager, std::string("MATERIALS"))) {
76  ATH_MSG_ERROR( "Could not find Material Manager MATERIALS" );
77  return;
78  }
79 
80  const GeoMaterial *geoAir = materialManager->getMaterial("tile::Air");
81  const GeoMaterial *geoScintillator = materialManager->getMaterial("tile::Scintillator");
82  Geo2G4MaterialFactory theMaterialFactory;
83  G4Material *airMaterial = theMaterialFactory.Build(geoAir);
84  G4Material *scintillatorMaterial = theMaterialFactory.Build(geoScintillator);
85 
86  G4LogicalVolume *wallV = new G4LogicalVolume(wall, airMaterial, "MuonWall");
87 
88  // ------- Create lead layers and place them inside the mother box --------
89  double zLayer, yLayer, xLayer = 0.;
90 
91  if (m_backWall) {
92 
93  const int nrOfLayers = 12;
94 
95  for (int j = 0; j < nrOfLayers; j++) {
96 
97  // Scintillator
98  G4Box *scintillatorLayer = new G4Box("ScintillatorLayer", xScintillator, yScintillator, zScintillator);
99 
100  G4LogicalVolume *scintillatorLayerV = new G4LogicalVolume(scintillatorLayer, scintillatorMaterial,
101  "MuScintillatorLayer");
102 
103  // scintillatorLayerV->GetLogicalVolume()->SetSensitiveDetector(muonwallSD);
104 
105  if (j < 6) {
106  yLayer = yScintillator + 25. * CLHEP::mm;
107  zLayer = -450. * CLHEP::mm + (2 * j + 1) * zScintillator;
108  } else {
109  yLayer = -yScintillator + 25. * CLHEP::mm;
110  zLayer = -450. * CLHEP::mm + (2 * (j - 6) + 1) * zScintillator;
111  }
112 
113  G4PVPlacement* scintillatorLayerVPhys __attribute__((unused)) =
114  new G4PVPlacement(0,
115  G4ThreeVector(xLayer,yLayer,zLayer),
116  scintillatorLayerV,
117  "MuScintillatorLayer",
118  wallV,
119  false,
120  j+1);
121  }
122  }
123 
124  if (m_sideWall) {
125 
126  // Scintillator : 500*100*20 instead of 400*200*20
127  const double yScintillator1 = yScintillator + 50. * CLHEP::mm;
128  const double zScintillator1 = zScintillator - 50. * CLHEP::mm;
129 
130  const int nScintLayers = 3;
131 
132  for (int j = 0; j < nScintLayers; j++) {
133 
134  G4Box* scintillatorLayer = new G4Box("SideScintiLayer", xScintillator, yScintillator1, zScintillator1);
135 
136  G4LogicalVolume* scintillatorLayerV = new G4LogicalVolume(scintillatorLayer, scintillatorMaterial,
137  "SideMuScintiLayer");
138 
139  yLayer = -175. * CLHEP::mm;
140  zLayer = -750. * CLHEP::mm + (2 * j + 1) * zScintillator1;
141 
142  G4PVPlacement* scintillatorLayerVPhys __attribute__((unused)) =
143  new G4PVPlacement(0,
144  G4ThreeVector(xLayer,yLayer,zLayer),
145  scintillatorLayerV,
146  "SideMuScintiLayer",
147  wallV,
148  false,
149  j+1);
150  }
151  }
152 
153  // FINAL STEP
154  m_envelope.theEnvelope = wallV;
155 }

◆ BuildSubDetectors()

void DetectorGeometryBase::BuildSubDetectors ( )
overridevirtualinherited

Definition at line 155 of file DetectorGeometryBase.cxx.

156 {
157  ATH_MSG_VERBOSE( name() << "::BuildSubDetectors() (Base class method): Starting");
158  for (auto& subDetTool: m_subDetTools)
159  {
160  ATH_MSG_VERBOSE(name() << "::BuildSubDetectors() (Base class method): Positioning "<<subDetTool->GetDetectorName()<<" within "<<m_detectorName.value());
161  subDetTool->SetParent(this);
162  subDetTool->Build();
163  }
164  ATH_MSG_VERBOSE( name() << "::BuildSubDetectors() (Base class method): Finished");
165 }

◆ GetDetectorName()

std::string DetectorGeometryBase::GetDetectorName ( ) const
overrideinherited

Definition at line 180 of file DetectorGeometryBase.cxx.

181 {
182  return m_detectorName.value();
183 }

◆ GetEnvelope()

Envelope & DetectorGeometryBase::GetEnvelope ( )
finaloverrideinherited

Definition at line 195 of file DetectorGeometryBase.cxx.

196 {
197  return m_envelope;
198 }

◆ GetWorldVolume()

G4VPhysicalVolume * DetectorGeometryBase::GetWorldVolume ( )
finaloverrideinherited

Definition at line 200 of file DetectorGeometryBase.cxx.

201 {
202  if (m_isWorld)
204  else
205  {
206  ATH_MSG_ERROR("trying to get World from a DetectorTool which World is not!");
207  return 0;
208  }
209 }

◆ initialize()

StatusCode DetectorGeometryBase::initialize ( )
overrideinherited

Athena method.

called at initialization time, being customized here

Definition at line 19 of file DetectorGeometryBase.cxx.

20 {
21  ATH_MSG_VERBOSE( name() << "::initialize(): starting." );
22  if(m_detectorName.empty())
23  {
24  m_detectorName = this->name();
25  // re-initialize m_detectorName in order to take the real detector name rather than the path to it
26  size_t ipos=m_detectorName.value().find_last_of('.');
27  size_t length=m_detectorName.value().size();
28  if (ipos<length)
29  {
30  ATH_MSG_VERBOSE( "m_detectorName: " << m_detectorName.value() << " needs to be reset.");
31  m_detectorName=m_detectorName.value().substr(ipos+1,length-ipos-1);
32  ATH_MSG_VERBOSE( "m_detectorName default value reset to " << m_detectorName.value());
33  }
34  }
35  ATH_MSG_DEBUG( name() << "::initialize() (Base class method): Detector name = " << m_detectorName.value() );
36  CHECK(m_notifierSvc.retrieve());
37 
38  // This fires initialize() for each of those tools
39  if (m_subDetTools.size())
40  {
41  ATH_MSG_DEBUG( name() << "::initialize(): Initializing list of " << m_subDetTools.size() << " detectors." );
42  CHECK( m_subDetTools.retrieve() );
43  }
44  else
45  {
46  ATH_MSG_DEBUG( name() << "::initialize(): no sub-detectors to initialize." );
47  }
48 
49  ATH_MSG_VERBOSE( name() << "::initialize(): finished." );
50  return StatusCode::SUCCESS;
51 }

◆ PositionInParent()

void DetectorGeometryBase::PositionInParent ( )
overridevirtualinherited

Reimplemented in GeoDetectorTool.

Definition at line 120 of file DetectorGeometryBase.cxx.

121 {
122  ATH_MSG_VERBOSE( name() << "::PositionInParent() (Base class method)");
123  if (m_isWorld)
124  {
125  // check that the detector is built
126  if (m_envelope.IsBuilt())
127  {
128  G4VPhysicalVolume* physWorld= new G4PVPlacement(0,G4ThreeVector(),
129  m_envelope.theEnvelope,m_envelope.theEnvelope->GetName(),0,false,0,false);
131  }
132  }
133  else
134  {
135  // check that there is a parent
136  if (!m_theParent)
137  {
138  ATH_MSG_ERROR("Parent not set for "<<m_detectorName.value()<<"!!!!!!!!!!");
139  }
140  else
141  {
143  {
144  // G4VPhysicalVolume *physVol = new G4PVPlacement(0,G4ThreeVector(),
145  // m_envelope.theEnvelope,m_envelope.theEnvelope->GetName(),m_theParent->GetEnvelope().theEnvelope,false,0,false);
146  // TODO: implement a possible rotation/displacement - something like this based on the old code?
147  G4VPhysicalVolume *physVol = new G4PVPlacement(m_envelope.theRotation,m_envelope.thePosition,
150  }
151  }
152  }
153 }

◆ ResetEnvelope()

void DetectorGeometryBase::ResetEnvelope ( )
overridevirtualinherited

Definition at line 171 of file DetectorGeometryBase.cxx.

172 {
173 }

◆ SetAsWorld()

void DetectorGeometryBase::SetAsWorld ( )
overridevirtualinherited

Definition at line 185 of file DetectorGeometryBase.cxx.

186 {
187  m_isWorld=true;
188 }

◆ SetDetectorName()

void DetectorGeometryBase::SetDetectorName ( const std::string &  s)
overrideinherited

Definition at line 175 of file DetectorGeometryBase.cxx.

176 {
178 }

◆ SetEnvelope()

void DetectorGeometryBase::SetEnvelope ( )
overridevirtualinherited

Definition at line 167 of file DetectorGeometryBase.cxx.

168 {
169 }

◆ SetParent()

void DetectorGeometryBase::SetParent ( IDetectorGeometryTool p)
overrideinherited

Definition at line 190 of file DetectorGeometryBase.cxx.

191 {
192  m_theParent=p;
193 }

◆ SetRotationAndOffset()

void DetectorGeometryBase::SetRotationAndOffset ( )
virtualinherited

Definition at line 80 of file DetectorGeometryBase.cxx.

81 {
82  ATH_MSG_VERBOSE( name() << "::SetRotationAndOffset() (Base class method)");
83  // Firstly do the rotation
85  {
86  // m_envelope.theRotation is null, so create an identity
87  // rotation first.
88  // FIXME probably a neater way to do this part.
89  m_envelope.theRotation=new G4RotationMatrix;
90  // add the extra rotations.
95  {
96  // Override the rotation for m_envelope.thePositionedVolume.
98  }
99  }
100  else
101  {
102  // m_envelope.theRotation already exists, so just add the
103  // extra rotations.
104  m_envelope.theRotation->rotateX(m_rotateX);
105  m_envelope.theRotation->rotateY(m_rotateY);
106  m_envelope.theRotation->rotateZ(m_rotateZ);
107  }
108  // Secondly add the additional position offset to the existing
109  // m_envelope.thePosition vector.
112  {
113  // Override the translation for m_envelope.thePositionedVolume.
115  }
116 
117  ATH_MSG_VERBOSE( name() << "::SetRotationAndOffset() (Base class method): Finished" );
118  return;
119 }

Member Data Documentation

◆ m_backWall

bool MuonWallTool::m_backWall
private

Definition at line 32 of file MuonWallTool.h.

◆ m_detectorName

Gaudi::Property<std::string> DetectorGeometryBase::m_detectorName {this, "DetectorName", "", "Detector name (same as the Tool name if not set"}
protectedinherited

Definition at line 71 of file DetectorGeometryBase.h.

◆ m_envelope

Envelope DetectorGeometryBase::m_envelope
protectedinherited

Definition at line 70 of file DetectorGeometryBase.h.

◆ m_isWorld

bool DetectorGeometryBase::m_isWorld {false}
protectedinherited

Definition at line 72 of file DetectorGeometryBase.h.

◆ m_notifierSvc

ServiceHandle<IG4GeometryNotifierSvc> DetectorGeometryBase::m_notifierSvc {this, "GeometryNotifierSvc", "G4GeometryNotifierSvc", "Detector name (same as the Tool name if not set"}
protectedinherited

Definition at line 66 of file DetectorGeometryBase.h.

◆ m_offsetX

Gaudi::Property<double> DetectorGeometryBase::m_offsetX {this, "OffsetX" , 0.0, "Offset in the X-direction"}
protectedinherited

Definition at line 76 of file DetectorGeometryBase.h.

◆ m_offsetY

Gaudi::Property<double> DetectorGeometryBase::m_offsetY {this, "OffsetY" , 0.0, "Offset in the Y-direction"}
protectedinherited

Definition at line 77 of file DetectorGeometryBase.h.

◆ m_offsetZ

Gaudi::Property<double> DetectorGeometryBase::m_offsetZ {this, "OffsetZ" , 0.0, "Offset in the Z-direction"}
protectedinherited

Definition at line 78 of file DetectorGeometryBase.h.

◆ m_rotateX

Gaudi::Property<double> DetectorGeometryBase::m_rotateX {this, "RotateX" , 0.0, "Rotation around the X-axis"}
protectedinherited

Definition at line 73 of file DetectorGeometryBase.h.

◆ m_rotateY

Gaudi::Property<double> DetectorGeometryBase::m_rotateY {this, "RotateY" , 0.0, "Rotation around the Y-axis"}
protectedinherited

Definition at line 74 of file DetectorGeometryBase.h.

◆ m_rotateZ

Gaudi::Property<double> DetectorGeometryBase::m_rotateZ {this, "RotateZ" , 0.0, "Rotation around the Z-axis"}
protectedinherited

Definition at line 75 of file DetectorGeometryBase.h.

◆ m_sideWall

bool MuonWallTool::m_sideWall
private

Definition at line 33 of file MuonWallTool.h.

◆ m_subDetTools

ToolHandleArray<IDetectorGeometryTool> DetectorGeometryBase::m_subDetTools {this, "SubDetectors", {}, "Tool handle array of all subdetector tools"}
protectedinherited

Definition at line 64 of file DetectorGeometryBase.h.

◆ m_theParent

IDetectorGeometryTool* DetectorGeometryBase::m_theParent {}
protectedinherited

Definition at line 68 of file DetectorGeometryBase.h.

◆ m_xLength

double MuonWallTool::m_xLength
private

Definition at line 31 of file MuonWallTool.h.

◆ m_yLength

double MuonWallTool::m_yLength
private

Definition at line 30 of file MuonWallTool.h.

◆ m_zLength

double MuonWallTool::m_zLength
private

Definition at line 29 of file MuonWallTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
DetectorGeometryBase::SetEnvelope
virtual void SetEnvelope() override
Definition: DetectorGeometryBase.cxx:167
DetectorGeometryBase::m_rotateX
Gaudi::Property< double > m_rotateX
Definition: DetectorGeometryBase.h:73
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Envelope::thePositionedVolume
G4VPhysicalVolume * thePositionedVolume
Definition: IDetectorGeometryTool.h:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Envelope::IsBuilt
bool IsBuilt()
Definition: IDetectorGeometryTool.h:19
MuonWallTool::m_zLength
double m_zLength
Definition: MuonWallTool.h:29
Envelope::theEnvelope
G4LogicalVolume * theEnvelope
Definition: IDetectorGeometryTool.h:20
DetectorGeometryBase::m_rotateZ
Gaudi::Property< double > m_rotateZ
Definition: DetectorGeometryBase.h:75
DetectorGeometryBase::BuildGeometry
virtual void BuildGeometry() override
Definition: DetectorGeometryBase.cxx:75
DetectorGeometryBase::m_subDetTools
ToolHandleArray< IDetectorGeometryTool > m_subDetTools
Definition: DetectorGeometryBase.h:64
DetectorGeometryBase::m_isWorld
bool m_isWorld
Definition: DetectorGeometryBase.h:72
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
MuonWallTool::m_xLength
double m_xLength
Definition: MuonWallTool.h:31
DetectorGeometryBase::SetRotationAndOffset
virtual void SetRotationAndOffset()
Definition: DetectorGeometryBase.cxx:80
DetectorGeometryBase::m_offsetZ
Gaudi::Property< double > m_offsetZ
Definition: DetectorGeometryBase.h:78
MuonWallTool::m_sideWall
bool m_sideWall
Definition: MuonWallTool.h:33
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
MuonWallTool::m_backWall
bool m_backWall
Definition: MuonWallTool.h:32
DetectorGeometryBase::m_offsetY
Gaudi::Property< double > m_offsetY
Definition: DetectorGeometryBase.h:77
DetectorGeometryBase::m_offsetX
Gaudi::Property< double > m_offsetX
Definition: DetectorGeometryBase.h:76
Envelope::thePosition
G4ThreeVector thePosition
Definition: IDetectorGeometryTool.h:23
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
DetectorGeometryBase::DetectorGeometryBase
DetectorGeometryBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: DetectorGeometryBase.cxx:13
DetectorGeometryBase::m_notifierSvc
ServiceHandle< IG4GeometryNotifierSvc > m_notifierSvc
Definition: DetectorGeometryBase.h:66
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
IDetectorGeometryTool::GetEnvelope
virtual Envelope & GetEnvelope()=0
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
DetectorGeometryBase::m_envelope
Envelope m_envelope
Definition: DetectorGeometryBase.h:70
DetectorGeometryBase::PositionInParent
virtual void PositionInParent() override
Definition: DetectorGeometryBase.cxx:120
DetectorGeometryBase::m_detectorName
Gaudi::Property< std::string > m_detectorName
Definition: DetectorGeometryBase.h:71
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
unused
void unused(Args &&...)
Definition: VP1ExpertSettings.cxx:39
DetectorGeometryBase::BuildSubDetectors
virtual void BuildSubDetectors() override
Definition: DetectorGeometryBase.cxx:155
__attribute__
__attribute__((always_inline)) inline uint16_t TileCalibDrawerBase
Definition: TileCalibDrawerBase.h:190
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
StoredMaterialManager::getMaterial
virtual const GeoMaterial * getMaterial(const std::string &name)=0
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
Envelope::theRotation
G4RotationMatrix * theRotation
Definition: IDetectorGeometryTool.h:22
Geo2G4MaterialFactory
Definition: Geo2G4MaterialFactory.h:15
DetectorGeometryBase::m_rotateY
Gaudi::Property< double > m_rotateY
Definition: DetectorGeometryBase.h:74
DetectorGeometryBase::m_theParent
IDetectorGeometryTool * m_theParent
Definition: DetectorGeometryBase.h:68
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
Geo2G4MaterialFactory::Build
G4Material * Build(const GeoMaterial *)
Definition: Geo2G4MaterialFactory.cxx:29
MuonWallTool::m_yLength
double m_yLength
Definition: MuonWallTool.h:30