34 #include "DetectorConstruction.hh"
35 #include "DetectorMessenger.hh"
77 {
delete fDetectorMessenger;}
83 return ConstructVolumes();
88 void DetectorConstruction::DefineMaterials()
118 0., fAbsorRadius, 0.,
twopi, 0.,
pi);
135 fLayerThickness = fAbsorRadius/fNbOfLayers;
137 for (
G4int i=1; i<=fNbOfLayers; i++) {
139 sLayer =
new G4Sphere(
"Layer", (i-1)*fLayerThickness, i*fLayerThickness,
169 G4cout <<
"\n---------------------------------------------------------\n";
170 G4cout <<
"---> The Absorber is a sphere of "
171 <<
G4BestUnit(fAbsorRadius,
"Length") <<
" radius of "
172 << fAbsorMaterial->
GetName() <<
" divided in " << fNbOfLayers
173 <<
" slices of " <<
G4BestUnit(fLayerThickness,
"Length")
174 <<
"\n \n" << fAbsorMaterial <<
G4endl;
175 G4cout <<
"\n---------------------------------------------------------\n";
182 fAbsorRadius =
value;
191 if (pttoMaterial) fAbsorMaterial = pttoMaterial;
212 if (fMagField)
delete fMagField;
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
CLHEP::Hep3Vector G4ThreeVector
G4bool SetDetectorField(G4Field *detectorField)
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
const G4String & GetName() const
G4VPhysicalVolume * Construct()
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
static G4NistManager * Instance()
void SetNbOfLayers(G4int)
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
static G4PhysicalVolumeStore * GetInstance()
G4GLOB_DLL std::ostream G4cout
static G4LogicalVolumeStore * GetInstance()
static G4SolidStore * GetInstance()
static G4GeometryManager * GetInstance()
static G4TransportationManager * GetTransportationManager()
G4FieldManager * GetFieldManager() const
static G4RunManager * GetRunManager()
void SetMagField(G4double)
const XML_Char int const XML_Char * value
void OpenGeometry(G4VPhysicalVolume *vol=0)
void CreateChordFinder(G4MagneticField *detectorMagField)
void SetMaterial(G4String)