Geant4
10.00.p03
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
RE03DetectorConstruction.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
28
//
29
// $Id: RE03DetectorConstruction.cc 68780 2013-04-05 13:06:07Z gcosmo $
30
//
31
32
#include "
RE03DetectorConstruction.hh
"
33
34
#include "
G4NistManager.hh
"
35
#include "
G4Material.hh
"
36
#include "
G4Box.hh
"
37
#include "
G4LogicalVolume.hh
"
38
#include "
G4PVPlacement.hh
"
39
40
#include "
G4VisAttributes.hh
"
41
#include "
G4Colour.hh
"
42
43
#include "
G4SDManager.hh
"
44
#include "
G4MultiFunctionalDetector.hh
"
45
#include "
G4VPrimitiveScorer.hh
"
46
#include "
G4PSEnergyDeposit.hh
"
47
#include "
G4PSTrackLength.hh
"
48
#include "
G4PSNofStep.hh
"
49
#include "
G4SDParticleFilter.hh
"
50
51
#include "
G4SystemOfUnits.hh
"
52
#include "
G4ios.hh
"
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
55
RE03DetectorConstruction::RE03DetectorConstruction
()
56
:
G4VUserDetectorConstruction
(),
57
fAir(0),fWater(0),fWorldPhys(0),fPhantomPhys(0),
58
fConstructed(false)
59
{;}
60
61
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
62
RE03DetectorConstruction::~RE03DetectorConstruction
()
63
{;}
64
65
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
66
G4VPhysicalVolume
*
RE03DetectorConstruction::Construct
()
67
{
68
if
(!
fConstructed
)
69
{
70
fConstructed
=
true
;
71
DefineMaterials
();
72
SetupGeometry
();
73
}
74
return
fWorldPhys
;
75
}
76
77
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
78
void
RE03DetectorConstruction::DefineMaterials
()
79
{
80
//-------- NIST Materials -----------------------------------------------
81
// Material Information imported from NIST database.
82
G4NistManager
* NISTman =
G4NistManager::Instance
();
83
fWater
= NISTman->
FindOrBuildMaterial
(
"G4_WATER"
);
84
fAir
= NISTman->
FindOrBuildMaterial
(
"G4_AIR"
);
85
}
86
87
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
88
void
RE03DetectorConstruction::SetupGeometry
()
89
{
90
//
91
// World
92
//
93
G4VSolid
* worldSolid =
new
G4Box
(
"World"
,2.*
m
,2.*
m
,2.*
m
);
94
G4LogicalVolume
* worldLogical =
new
G4LogicalVolume
(worldSolid,
fAir
,
"World"
);
95
fWorldPhys
=
new
G4PVPlacement
(0,
G4ThreeVector
(),worldLogical,
"World"
,
96
0,
false
,0);
97
98
//
99
// Phantom
100
//
101
G4VSolid
* phantomSolid =
new
G4Box
(
"Calor"
,1.*
m
,1.*
m
,1.*
m
);
102
G4LogicalVolume
* phantomLogical =
new
G4LogicalVolume
(phantomSolid,
fWater
,
"Phantom"
);
103
fPhantomPhys
=
new
G4PVPlacement
(0,
G4ThreeVector
(),phantomLogical,
"Phantom"
,
104
worldLogical,
false
,0);
105
//
106
// Visualization attributes
107
//
108
// worldLogical->SetVisAttributes(G4VisAttributes::Invisible);
109
G4VisAttributes
* simpleBoxVisAtt=
new
G4VisAttributes
(
G4Colour
(1.0,1.0,1.0));
110
simpleBoxVisAtt->
SetVisibility
(
true
);
111
phantomLogical->
SetVisAttributes
(simpleBoxVisAtt);
112
}
113
114
void
RE03DetectorConstruction::ConstructSDandField
()
115
{;}
116
G4NistManager::FindOrBuildMaterial
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
Definition:
G4NistManager.hh:446
G4PSTrackLength.hh
RE03DetectorConstruction::SetupGeometry
void SetupGeometry()
Definition:
RE03DetectorConstruction.cc:88
G4PSNofStep.hh
G4MultiFunctionalDetector.hh
G4ThreeVector
CLHEP::Hep3Vector G4ThreeVector
Definition:
G4ThreeVector.hh:42
G4PVPlacement
Definition:
G4PVPlacement.hh:51
RE03DetectorConstruction::fConstructed
G4bool fConstructed
Definition:
RE03DetectorConstruction.hh:60
G4VPhysicalVolume
Definition:
G4VPhysicalVolume.hh:80
G4Box
Definition:
G4Box.hh:64
G4NistManager.hh
G4VisAttributes::SetVisibility
void SetVisibility(G4bool)
G4Colour
Definition:
G4Colour.hh:83
G4Box.hh
RE03DetectorConstruction::Construct
virtual G4VPhysicalVolume * Construct()
Definition:
RE03DetectorConstruction.cc:66
RE03DetectorConstruction::fAir
G4Material * fAir
Definition:
RE03DetectorConstruction.hh:56
G4NistManager::Instance
static G4NistManager * Instance()
Definition:
G4NistManager.cc:68
G4VPrimitiveScorer.hh
G4VisAttributes.hh
G4VSolid
Definition:
G4VSolid.hh:87
RE03DetectorConstruction::DefineMaterials
void DefineMaterials()
Definition:
RE03DetectorConstruction.cc:78
G4VUserDetectorConstruction
Definition:
G4VUserDetectorConstruction.hh:50
G4NistManager
Definition:
G4NistManager.hh:82
G4VisAttributes
Definition:
G4VisAttributes.hh:65
G4SDManager.hh
RE03DetectorConstruction::~RE03DetectorConstruction
virtual ~RE03DetectorConstruction()
Definition:
RE03DetectorConstruction.cc:62
G4Material.hh
G4Colour.hh
G4LogicalVolume
Definition:
G4LogicalVolume.hh:187
G4LogicalVolume.hh
G4SDParticleFilter.hh
G4ios.hh
G4PSEnergyDeposit.hh
m
static const double m
Definition:
G4SIunits.hh:110
RE03DetectorConstruction::fPhantomPhys
G4VPhysicalVolume * fPhantomPhys
Definition:
RE03DetectorConstruction.hh:59
RE03DetectorConstruction::ConstructSDandField
virtual void ConstructSDandField()
Definition:
RE03DetectorConstruction.cc:114
RE03DetectorConstruction::fWorldPhys
G4VPhysicalVolume * fWorldPhys
Definition:
RE03DetectorConstruction.hh:58
G4SystemOfUnits.hh
RE03DetectorConstruction.hh
Definition of the RE03DetectorConstruction class.
G4PVPlacement.hh
RE03DetectorConstruction::fWater
G4Material * fWater
Definition:
RE03DetectorConstruction.hh:57
RE03DetectorConstruction::RE03DetectorConstruction
RE03DetectorConstruction()
Definition:
RE03DetectorConstruction.cc:55
G4LogicalVolume::SetVisAttributes
void SetVisAttributes(const G4VisAttributes *pVA)
source
examples
extended
runAndEvent
RE03
src
RE03DetectorConstruction.cc
Generated on Sat Dec 13 2014 18:01:42 for Geant4 by
1.8.8