ATLAS Offline Software
Loading...
Searching...
No Matches
CylindricalEnvelope.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5// class header
7
8// Geant4 includes used in functions
9#include "G4NistManager.hh"
10#include "G4LogicalVolume.hh"
11#include "G4PVPlacement.hh"
12#include "G4SystemOfUnits.hh"
13#include "G4Tubs.hh"
14
15CylindricalEnvelope::CylindricalEnvelope(const std::string& type, const std::string& name, const IInterface* parent)
16 : DetectorGeometryBase(type,name,parent)
17{
18 ATH_MSG_DEBUG( "CylindricalEnvelope constructor for " << name );
19}
20
22{
23 ATH_MSG_DEBUG( "CylindricalEnvelope::BuildGeometry(): (Inner Radius, Outer Radius, dZ) = ("<<m_innerRadius<<", "<<m_outerRadius<<", "<<m_dZ <<")");
24
25 // Get nist material manager
26 G4NistManager* nist = G4NistManager::Instance();
27
28 G4Material* mat = nist->FindOrBuildMaterial(m_materialName.value());
29
30 G4Tubs* envSolid=new G4Tubs(m_detectorName.value(),m_innerRadius,m_outerRadius,m_dZ,m_startphi,m_deltaphi);
31
32 G4LogicalVolume* logicWorld = new G4LogicalVolume(envSolid,mat,m_detectorName.value());
33
34 m_envelope.theEnvelope=logicWorld;
35}
#define ATH_MSG_DEBUG(x)
Gaudi::Property< double > m_dZ
Gaudi::Property< double > m_startphi
Gaudi::Property< std::string > m_materialName
Gaudi::Property< double > m_innerRadius
CylindricalEnvelope(const std::string &type, const std::string &name, const IInterface *parent)
Basic constructor and destructor.
virtual void BuildGeometry()
virtual methods being implemented here
Gaudi::Property< double > m_outerRadius
Gaudi::Property< double > m_deltaphi
DetectorGeometryBase(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< std::string > m_detectorName