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
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
DetectorConstruction.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file DetectorConstruction.hh
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
// This example is provided by the Geant4-DNA collaboration
27
// Any report or published results obtained using the Geant4-DNA software
28
// shall cite the following Geant4-DNA collaboration publication:
29
// Med. Phys. 37 (2010) 4692-4708
30
// The Geant4-DNA web site is available at http://geant4-dna.org
31
//
32
// If you use this example, please cite the following publication:
33
// Rad. Prot. Dos. 133 (2009) 2-11
34
35
#ifndef DetectorConstruction_h
36
#define DetectorConstruction_h 1
37
38
#include "
G4VUserDetectorConstruction.hh
"
39
#include "
G4Box.hh
"
40
#include "
G4Cons.hh
"
41
#include "
G4Material.hh
"
42
#include "
G4PVPlacement.hh
"
43
#include "
G4UserLimits.hh
"
44
#include "
G4PVParameterised.hh
"
45
#include "
CellParameterisation.hh
"
46
47
#include "
EMField.hh
"
48
#include "
G4EqMagElectricField.hh
"
49
#include "
G4PropagatorInField.hh
"
50
#include "
G4TransportationManager.hh
"
51
#include "
G4ChordFinder.hh
"
52
#include "
G4ClassicalRK4.hh
"
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
55
56
class
DetectorConstruction
:
public
G4VUserDetectorConstruction
57
{
58
public
:
59
60
DetectorConstruction
();
61
virtual
~DetectorConstruction
();
62
63
virtual
G4VPhysicalVolume
*
Construct
();
64
65
virtual
void
ConstructSDandField
();
66
67
void
SetMassNucleus
(
G4double
mN) {
fMassNucleus
= mN;}
68
G4double
GetMassNucleus
()
const
{
return
fMassNucleus
;}
69
70
void
SetMassCytoplasm
(
G4double
mC) {
fMassCytoplasm
= mC;}
71
G4double
GetMassCytoplasm
()
const
{
return
fMassCytoplasm
;}
72
73
void
SetNbOfPixelsInPhantom
(
G4int
nP) {
fNbOfPixelsInPhantom
= nP;}
74
G4int
GetNbOfPixelsInPhantom
()
const
{
return
fNbOfPixelsInPhantom
;}
75
76
const
G4LogicalVolume
*
GetLogicalCollDetYoke
()
const
{
return
fLogicYoke2
;};
77
const
G4LogicalVolume
*
GetLogicalIsobutane
()
const
{
return
fLogicBoiteIso
;};
78
const
G4LogicalVolume
*
GetLogicalCollDetGap4
()
const
{
return
fLogic4Gap
;};
79
const
G4LogicalVolume
*
GetLogicalPolyprop
()
const
{
return
fLogicBoite3
;};
80
const
G4LogicalVolume
*
GetLogicalKgm
()
const
{
return
fLogicKgm
;};
81
82
const
G4Material
*
GetNucleusMaterial1
()
const
{
return
fNucleusMaterial1
;};
83
const
G4Material
*
GetNucleusMaterial2
()
const
{
return
fNucleusMaterial2
;};
84
const
G4Material
*
GetNucleusMaterial3
()
const
{
return
fNucleusMaterial3
;};
85
const
G4Material
*
GetCytoplasmMaterial1
()
const
{
return
fCytoplasmMaterial1
;};
86
const
G4Material
*
GetCytoplasmMaterial2
()
const
{
return
fCytoplasmMaterial2
;};
87
const
G4Material
*
GetCytoplasmMaterial3
()
const
{
return
fCytoplasmMaterial3
;};
88
89
const
CellParameterisation
*
GetCellParameterisation
()
const
90
{
return
fMyCellParameterisation
;};
91
92
private
:
93
94
G4double
fMassNucleus
;
95
G4double
fMassCytoplasm
;
96
97
G4double
fDensityPhantom
;
98
G4double
fDensityNucleus
;
99
G4double
fDensityCytoplasm
;
100
G4int
fNbOfPixelsInPhantom
;
101
102
G4double
fWorldSizeXY
;
103
G4double
fWorldSizeZ
;
104
G4double
fCollObjSizeXY
;
105
G4double
fCollObjSizeZ
;
106
107
G4double
fCiblePositionX
;
108
G4double
fCiblePositionY
;
109
G4double
fCiblePositionZ
;
110
111
G4double
fLineAngle
;
112
113
// Materials
114
115
G4Material
*
fDefaultMaterial
;
116
G4Material
*
fCollimatorMaterial
;
117
G4Material
*
fBoiteMaterial
;
118
G4Material
*
fCathodeMaterial
;
119
G4Material
*
fVerreMaterial
;
120
G4Material
*
fVerre2Material
;
121
G4Material
*
fKgmMaterial
;
122
G4Material
*
fBoite2Material
;
123
G4Material
*
fBoite3Material
;
124
G4Material
*
fNucleusMaterial1
;
125
G4Material
*
fCytoplasmMaterial1
;
126
G4Material
*
fNucleusMaterial2
;
127
G4Material
*
fCytoplasmMaterial2
;
128
G4Material
*
fNucleusMaterial3
;
129
G4Material
*
fCytoplasmMaterial3
;
130
131
// Volumes
132
133
G4VPhysicalVolume
*
fPhysiWorld
;
134
G4LogicalVolume
*
fLogicWorld
;
135
G4Box
*
fSolidWorld
;
136
137
G4VPhysicalVolume
*
fPhysiVol
;
138
G4LogicalVolume
*
fLogicVol
;
139
G4Box
*
fSolidVol
;
140
141
G4VPhysicalVolume
*
fPhysiBoite
;
142
G4LogicalVolume
*
fLogicBoite
;
143
G4Box
*
fSolidBoite
;
144
145
G4VPhysicalVolume
*
fPhysiYoke1
;
146
G4LogicalVolume
*
fLogicYoke1
;
147
G4Box
*
fSolidYoke1
;
148
149
G4VPhysicalVolume
*
fPhysi1Gap
;
150
G4LogicalVolume
*
fLogic1Gap
;
151
G4Cons
*
fSolid1Gap
;
152
153
G4VPhysicalVolume
*
fPhysi2Gap
;
154
G4LogicalVolume
*
fLogic2Gap
;
155
G4Cons
*
fSolid2Gap
;
156
157
G4VPhysicalVolume
*
fPhysi3Gap
;
158
G4LogicalVolume
*
fLogic3Gap
;
159
G4Cons
*
fSolid3Gap
;
160
161
G4VPhysicalVolume
*
fPhysiYoke2
;
162
G4LogicalVolume
*
fLogicYoke2
;
163
G4Box
*
fSolidYoke2
;
164
165
G4VPhysicalVolume
*
fPhysi4Gap
;
166
G4LogicalVolume
*
fLogic4Gap
;
167
G4Cons
*
fSolid4Gap
;
168
169
G4VPhysicalVolume
*
fPhysi5Gap
;
170
G4LogicalVolume
*
fLogic5Gap
;
171
G4Cons
*
fSolid5Gap
;
172
173
G4VPhysicalVolume
*
fPhysiBoiteIso
;
174
G4LogicalVolume
*
fLogicBoiteIso
;
175
G4Box
*
fSolidBoiteIso
;
176
177
G4VPhysicalVolume
*
fPhysiCathode
;
178
G4LogicalVolume
*
fLogicCathode
;
179
G4Box
*
fSolidCathode
;
180
181
G4VPhysicalVolume
*
fPhysiIso
;
182
G4LogicalVolume
*
fLogicIso
;
183
G4Box
*
fSolidIso
;
184
185
G4VPhysicalVolume
*
fPhysiVerre
;
186
G4LogicalVolume
*
fLogicVerre
;
187
G4Box
*
fSolidVerre
;
188
189
G4VPhysicalVolume
*
fPhysiBoite2
;
190
G4LogicalVolume
*
fLogicBoite2
;
191
G4Box
*
fSolidBoite2
;
192
193
G4VPhysicalVolume
*
fPhysiBoite3
;
194
G4LogicalVolume
*
fLogicBoite3
;
195
G4Box
*
fSolidBoite3
;
196
197
G4VPhysicalVolume
*
fPhysiKgm
;
198
G4LogicalVolume
*
fLogicKgm
;
199
G4Box
*
fSolidKgm
;
200
201
G4VPhysicalVolume
*
fPhysiVerre2
;
202
G4LogicalVolume
*
fLogicVerre2
;
203
G4Box
*
fSolidVerre2
;
204
205
// CELL PHANTOM
206
207
G4VPhysicalVolume
*
fPhysiPhantom
;
208
G4LogicalVolume
*
fLogicPhantom
;
209
G4Box
*
fSolidPhantom
;
210
211
CellParameterisation
*
fMyCellParameterisation
;
212
213
// EM FIELD
214
215
static
G4ThreadLocal
EMField
*
fField
;
216
217
void
DefineMaterials
();
218
G4VPhysicalVolume
*
ConstructLine
();
219
220
};
221
222
#endif
geant4
tree
geant4-10.6-release
examples
advanced
microbeam
include
DetectorConstruction.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:49
using
1.8.2 with
ECCE GitHub integration