Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
examples
advanced
microbeam
include
MicrobeamDetectorConstruction.hh
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
//
26
// -------------------------------------------------------------------
27
// $Id$
28
// -------------------------------------------------------------------
29
30
#ifndef MicrobeamDetectorConstruction_h
31
#define MicrobeamDetectorConstruction_h 1
32
33
#include "
G4VUserDetectorConstruction.hh
"
34
#include "
G4Box.hh
"
35
#include "
G4Cons.hh
"
36
#include "
G4VPhysicalVolume.hh
"
37
#include "
G4LogicalVolume.hh
"
38
#include "
G4Material.hh
"
39
#include "
G4PVPlacement.hh
"
40
#include "
G4UserLimits.hh
"
41
//#include "G4Ellipsoid.hh"
42
#include "
G4PVParameterised.hh
"
43
44
#include "
G4EqMagElectricField.hh
"
45
#include "
G4PropagatorInField.hh
"
46
#include "
G4TransportationManager.hh
"
47
#include "
G4ChordFinder.hh
"
48
#include "
G4ClassicalRK4.hh
"
49
50
#include "
MicrobeamPhantomConfiguration.hh
"
51
#include "
MicrobeamCellParameterisation.hh
"
52
#include "
MicrobeamEMField.hh
"
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
55
56
class
MicrobeamDetectorConstruction
:
public
G4VUserDetectorConstruction
57
{
58
public
:
59
60
MicrobeamDetectorConstruction
();
61
~MicrobeamDetectorConstruction
();
62
63
G4VPhysicalVolume
*
Construct
();
64
65
void
SetMassNucleus
(
G4float
mN){ massNucleus = mN;}
66
G4float
GetMassNucleus
(){
return
massNucleus;}
67
68
void
SetMassCytoplasm
(
G4float
mC){ massCytoplasm = mC;}
69
G4float
GetMassCytoplasm
(){
return
massCytoplasm;}
70
71
void
SetNbOfPixelsInPhantom
(
G4int
nP){ nbOfPixelsInPhantom = nP;}
72
G4int
GetNbOfPixelsInPhantom
(){
return
nbOfPixelsInPhantom;}
73
74
private
:
75
76
G4float
massPhantom;
77
G4float
massNucleus;
78
G4float
massCytoplasm;
79
G4double
densityPhantom;
80
G4double
densityNucleus;
81
G4double
densityCytoplasm;
82
G4int
nbOfPixelsInPhantom;
83
84
G4double
WorldSizeXY;
85
G4double
WorldSizeZ;
86
G4double
CollObjSizeXY;
87
G4double
CollObjSizeZ;
88
89
G4double
CiblePositionX;
90
G4double
CiblePositionY;
91
G4double
CiblePositionZ;
92
93
G4double
lineAngle;
94
95
// Materials
96
97
G4Material
* defaultMaterial;
98
G4Material
* collimatorMaterial;
99
G4Material
* BoiteMaterial;
100
G4Material
* CathodeMaterial;
101
G4Material
* VerreMaterial;
102
G4Material
* Verre2Material;
103
G4Material
* KgmMaterial;
104
G4Material
* Boite2Material;
105
G4Material
* Boite3Material;
106
G4Material
* nucleusMaterial1;
107
G4Material
* cytoplasmMaterial1;
108
G4Material
* nucleusMaterial2;
109
G4Material
* cytoplasmMaterial2;
110
G4Material
* nucleusMaterial3;
111
G4Material
* cytoplasmMaterial3;
112
113
// Volumes
114
115
G4VPhysicalVolume
* physiWorld;
116
G4LogicalVolume
* logicWorld;
117
G4Box
* solidWorld;
118
119
G4VPhysicalVolume
* physiVol;
120
G4LogicalVolume
* logicVol;
121
G4Box
* solidVol;
122
123
G4VPhysicalVolume
* physiBoite;
124
G4LogicalVolume
* logicBoite;
125
G4Box
* solidBoite;
126
127
G4VPhysicalVolume
* physiYoke1;
128
G4LogicalVolume
* logicYoke1;
129
G4Box
* solidYoke1;
130
131
G4VPhysicalVolume
* physi1Gap;
132
G4LogicalVolume
* logic1Gap;
133
G4Cons
* solid1Gap;
134
135
G4VPhysicalVolume
* physi2Gap;
136
G4LogicalVolume
* logic2Gap;
137
G4Cons
* solid2Gap;
138
139
G4VPhysicalVolume
* physi3Gap;
140
G4LogicalVolume
* logic3Gap;
141
G4Cons
* solid3Gap;
142
143
G4VPhysicalVolume
* physiYoke2;
144
G4LogicalVolume
* logicYoke2;
145
G4Box
* solidYoke2;
146
147
G4VPhysicalVolume
* physi4Gap;
148
G4LogicalVolume
* logic4Gap;
149
G4Cons
* solid4Gap;
150
151
G4VPhysicalVolume
* physi5Gap;
152
G4LogicalVolume
* logic5Gap;
153
G4Cons
* solid5Gap;
154
155
G4VPhysicalVolume
* physiBoiteIso;
156
G4LogicalVolume
* logicBoiteIso;
157
G4Box
* solidBoiteIso;
158
159
G4VPhysicalVolume
* physiCathode;
160
G4LogicalVolume
* logicCathode;
161
G4Box
* solidCathode;
162
163
G4VPhysicalVolume
* physiIso;
164
G4LogicalVolume
* logicIso;
165
G4Box
* solidIso;
166
167
G4VPhysicalVolume
* physiVerre;
168
G4LogicalVolume
* logicVerre;
169
G4Box
* solidVerre;
170
171
G4VPhysicalVolume
* physiBoite2;
172
G4LogicalVolume
* logicBoite2;
173
G4Box
* solidBoite2;
174
175
G4VPhysicalVolume
* physiBoite3;
176
G4LogicalVolume
* logicBoite3;
177
G4Box
* solidBoite3;
178
179
G4VPhysicalVolume
* physiKgm;
180
G4LogicalVolume
* logicKgm;
181
G4Box
* solidKgm;
182
183
G4VPhysicalVolume
* physiVerre2;
184
G4LogicalVolume
* logicVerre2;
185
G4Box
* solidVerre2;
186
187
// CELL
188
189
G4VPhysicalVolume
* physiPhantom;
190
G4LogicalVolume
* logicPhantom;
191
G4Box
* solidPhantom;
192
193
MicrobeamPhantomConfiguration
myMicrobeamPhantomConfiguration;
194
MicrobeamCellParameterisation
* phantomParam ;
195
MicrobeamEMField
* Field;
196
197
void
DefineMaterials();
198
G4VPhysicalVolume
* ConstructMicrobeamLine();
199
200
G4FieldManager
*pFieldMgr;
201
G4MagIntegratorStepper
* pStepper;
202
G4EqMagElectricField
* pEquation;
203
G4MagInt_Driver
* pIntgrDriver;
204
G4ChordFinder
*pChordFinder ;
205
G4PropagatorInField
*propInField;
206
207
};
208
209
#endif
Generated on Sat May 25 2013 14:32:13 for Geant4 by
1.8.4