ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
tree
geant4-10.6-release
config
environments
examples
advanced
air_shower
amsEcal
brachytherapy
ChargeExchangeMC
composite_calorimeter
doiPET
eRosita
gammaknife
gammaray_telescope
hadrontherapy
human_phantom
include
src
G4BasePhantomBuilder.cc
G4CustomFemaleBuilder.cc
G4FemaleBuilder.cc
G4HumanPhantomActionInitialization.cc
G4HumanPhantomAnalysisManager.cc
G4HumanPhantomColour.cc
G4HumanPhantomConstruction.cc
G4HumanPhantomEventAction.cc
G4HumanPhantomHit.cc
G4HumanPhantomMaterial.cc
G4HumanPhantomMessenger.cc
G4HumanPhantomPhysicsList.cc
G4HumanPhantomPrimaryGeneratorAction.cc
G4HumanPhantomRunAction.cc
G4HumanPhantomSD.cc
G4HumanPhantomSteppingAction.cc
G4MaleBuilder.cc
G4MIRDBodyFactory.cc
G4MIRDBrain.cc
G4MIRDHead.cc
G4MIRDHeart.cc
G4MIRDLeftAdrenal.cc
G4MIRDLeftArmBone.cc
G4MIRDLeftBreast.cc
G4MIRDLeftClavicle.cc
G4MIRDLeftKidney.cc
G4MIRDLeftLeg.cc
G4MIRDLeftLegBone.cc
G4MIRDLeftLung.cc
G4MIRDLeftOvary.cc
G4MIRDLeftScapula.cc
G4MIRDLeftTeste.cc
G4MIRDLiver.cc
G4MIRDLowerLargeIntestine.cc
G4MIRDMaleGenitalia.cc
G4MIRDMiddleLowerSpine.cc
G4MIRDPancreas.cc
G4MIRDPelvis.cc
G4MIRDRibCage.cc
G4MIRDRightAdrenal.cc
G4MIRDRightArmBone.cc
G4MIRDRightBreast.cc
G4MIRDRightClavicle.cc
G4MIRDRightKidney.cc
G4MIRDRightLeg.cc
G4MIRDRightLegBone.cc
G4MIRDRightLung.cc
G4MIRDRightOvary.cc
G4MIRDRightScapula.cc
G4MIRDRightTeste.cc
G4MIRDSkull.cc
G4MIRDSmallIntestine.cc
G4MIRDSpleen.cc
G4MIRDStomach.cc
G4MIRDThymus.cc
G4MIRDThyroid.cc
G4MIRDTrunk.cc
G4MIRDUpperLargeIntestine.cc
G4MIRDUpperSpine.cc
G4MIRDUrinaryBladder.cc
G4MIRDUterus.cc
G4ORNLFemaleBodyFactory.cc
G4ORNLMaleBodyFactory.cc
G4PhantomBuilder.cc
G4PhantomHeadBuilder.cc
G4VBodyFactory.cc
G4VOrgan.cc
G4VoxelBreastFactory.cc
G4VoxelLeftBreast.cc
G4VoxelRightBreast.cc
macro.C
phantom.cc
iort_therapy
lAr_calorimeter
medical_linac
microbeam
microelectronics
nanobeam
purging_magnet
radioprotection
STCyclotron
underground_physics
xray_fluorescence
xray_telescope
basic
extended
source
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4MIRDSkull.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4MIRDSkull.cc
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
//
26
//
27
// Previous authors: G. Guerrieri, S. Guatelli and M. G. Pia, INFN Genova, Italy
28
// Authors (since 2007): S. Guatelli, University of Wollongong, Australia
29
//
30
//
31
//
32
#include "
G4MIRDSkull.hh
"
33
34
#include "
globals.hh
"
35
#include "
G4SystemOfUnits.hh
"
36
#include "
G4SDManager.hh
"
37
#include "
G4VisAttributes.hh
"
38
#include "
G4HumanPhantomMaterial.hh
"
39
#include "
G4EllipticalTube.hh
"
40
#include "
G4RotationMatrix.hh
"
41
#include "
G4ThreeVector.hh
"
42
#include "
G4VPhysicalVolume.hh
"
43
#include "
G4PVPlacement.hh
"
44
#include "
G4Ellipsoid.hh
"
45
#include "
G4SubtractionSolid.hh
"
46
#include "
G4Box.hh
"
47
#include "
G4UnionSolid.hh
"
48
#include "
G4VSolid.hh
"
49
#include "
G4HumanPhantomColour.hh
"
50
51
G4MIRDSkull::G4MIRDSkull
()
52
{
53
}
54
55
G4MIRDSkull::~G4MIRDSkull
()
56
{
57
}
58
59
60
G4VPhysicalVolume
*
G4MIRDSkull::Construct
(
const
G4String
& volumeName,
G4VPhysicalVolume
* mother,
61
const
G4String
& colourName,
62
G4bool
wireFrame,
G4bool
)
63
{
64
65
G4HumanPhantomMaterial
*
material
=
new
G4HumanPhantomMaterial
();
66
67
G4cout
<<
"Construct "
<<volumeName<<
" with mother volume "
<<mother->
GetName
()<<
G4endl
;
68
69
70
G4Material
* skeleton = material -> GetMaterial(
"skeleton"
);
71
72
delete
material
;
73
74
// Outer cranium
75
G4double
ax
= 6.8 *
cm
;
//a out skull
76
G4double
by = 9.8 *
cm
;
// bout
77
G4double
cz = 8.3 *
cm
;
//cout
78
79
G4Ellipsoid
* craniumOut =
new
G4Ellipsoid
(
"CraniumOut"
, ax, by, cz);
80
81
ax = 6. *
cm
;
//a in
82
by = 9. *
cm
;
//b in
83
cz= 6.5 *
cm
;
// cin
84
85
G4Ellipsoid
* craniumIn =
new
G4Ellipsoid
(
"CraniumIn"
, ax, by, cz);
86
87
88
G4SubtractionSolid
* cranium =
new
G4SubtractionSolid
(
"Cranium"
,
89
craniumOut,
90
craniumIn,0,
91
G4ThreeVector
(0.0, 0.0,1. *
cm
));
92
93
G4LogicalVolume
* logicSkull =
new
G4LogicalVolume
(cranium, skeleton,
94
"logical"
+ volumeName,
95
0, 0, 0);
96
97
// Define rotation and position here!
98
G4VPhysicalVolume
* physSkull =
new
G4PVPlacement
(0,
99
G4ThreeVector
(0., 0.,7.75 *
cm
),
100
"physicalSkull"
,
101
logicSkull,
102
mother,
103
false
,
104
0,
true
);
105
106
// Visualization Attributes
107
//G4VisAttributes* SkullVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6));
108
G4HumanPhantomColour
* colourPointer =
new
G4HumanPhantomColour
();
109
G4Colour
colour = colourPointer -> GetColour(colourName);
110
G4VisAttributes
* SkullVisAtt =
new
G4VisAttributes
(colour);
111
SkullVisAtt->
SetForceSolid
(wireFrame);
112
SkullVisAtt->
SetLineWidth
(4.*
mm
);
113
logicSkull->
SetVisAttributes
(SkullVisAtt);
114
115
G4cout
<<
"Skull created !!!!!!"
<<
G4endl
;
116
117
118
// Testing Skull Volume
119
G4double
SkullVol = logicSkull->
GetSolid
()->
GetCubicVolume
();
120
G4cout
<<
"Volume of Skull = "
<< SkullVol/
cm3
<<
" cm^3"
<<
G4endl
;
121
122
// Testing Skull Material
123
G4String
SkullMat = logicSkull->
GetMaterial
()->
GetName
();
124
G4cout
<<
"Material of Skull = "
<< SkullMat <<
G4endl
;
125
126
// Testing Density
127
G4double
SkullDensity = logicSkull->
GetMaterial
()->
GetDensity
();
128
G4cout
<<
"Density of Material = "
<< SkullDensity*
cm3
/
g
<<
" g/cm^3"
<<
G4endl
;
129
130
// Testing Mass
131
G4double
SkullMass = (SkullVol)*SkullDensity;
132
G4cout
<<
"Mass of Skull = "
<< SkullMass/
gram
<<
" g"
<<
G4endl
;
133
134
135
return
physSkull;
136
}
geant4
tree
geant4-10.6-release
examples
advanced
human_phantom
src
G4MIRDSkull.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:59
using
1.8.2 with
ECCE GitHub integration