Geant4
9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DataQuestionaire.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
#ifndef G4DataQuestionaire_h
27
#define G4DataQuestionaire_h 1
28
29
#include "
globals.hh
"
30
31
#include "
G4HadronElasticProcess.hh
"
32
#include "
G4ProtonInelasticProcess.hh
"
33
#include "
G4VPiKBuilder.hh
"
34
35
enum
G4DataType
{
no
,
photon
,
neutron
,
radioactive
,
lowenergy
,
optical
,
neutronxs
,
lend
,
abla
};
36
class
G4DataQuestionaire
37
{
38
public
:
39
G4DataQuestionaire
(
G4DataType
t1=
no
,
G4DataType
t2=
no
,
G4DataType
t3=
no
,
40
G4DataType
t4=
no
,
G4DataType
t5=
no
,
G4DataType
t6=
no
,
41
G4DataType
t7=
no
,
G4DataType
t8=
no
,
G4DataType
t9=
no
)
42
{
43
G4ExceptionDescription
desc;
44
desc <<
G4endl
;
45
46
G4bool
fail(
false
);
47
48
// always need LEdata since 9.5
49
if
(!getenv(
"G4LEDATA"
) )
50
{
51
desc <<
"Low energy electromagnetic data are needed."
<<
G4endl
52
<<
"This is a NEW requirement for standard EM physics since geant4 9.5."
<<
G4endl
53
<<
"Please set the environmental variable G4LEDATA"
<<
G4endl
54
<<
"to point to your G4EMLOW directory. "
<<
G4endl
55
<<
"Note: EMLOW6.23 or above is needed for Bremsstrahlung data."
<<
G4endl
56
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
57
fail=
true
;
58
}
59
for
(
G4int
i=0; i<9; ++i)
60
{
61
G4DataType
t(
no
);
62
if
(i==0) t=t1;
63
if
(i==1) t=t2;
64
if
(i==2) t=t3;
65
if
(i==3) t=t4;
66
if
(i==4) t=t5;
67
if
(i==5) t=t6;
68
if
(i==6) t=t7;
69
if
(i==7) t=t8;
70
if
(i==8) t=t9;
71
72
switch
(t)
73
{
74
case
photon
:
75
if
(!getenv(
"G4LEVELGAMMADATA"
) )
76
{
77
desc <<
"Photon-evaporation data are needed."
<<
G4endl
78
<<
"Please set the environmental variable G4LEVELGAMMADATA"
<<
G4endl
79
<<
"to point to your PhotonEvaporation directory."
<<
G4endl
80
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
81
fail=
true
;
82
}
83
break
;
84
case
neutron
:
85
if
(!getenv(
"G4NEUTRONHPDATA"
) )
86
{
87
desc <<
"G4NDL are needed."
<<
G4endl
88
<<
"Please set the environmental variable G4NEUTRONHPDATA"
<<
G4endl
89
<<
"to point to your G4NDL directory."
<<
G4endl
90
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
91
fail=
true
;
92
}
93
break
;
94
case
lend
:
95
if
(!getenv(
"G4LENDDATA"
) )
96
{
97
desc <<
"Data files for Low Energy Nuclear Data (LEND) are needed."
<<
G4endl
98
<<
"Please set the environmental variable G4LENDDATA"
<<
G4endl
99
<<
"to point to the directory containing these LEND data."
<<
G4endl
100
<<
"Data files for Low Energy Nuclear Data (LEND) are available from"
<<
101
" ftp://gdo-nuclear.ucllnl.org/pub/."
<<
G4endl
<<
G4endl
;
102
fail=
true
;
103
}
104
break
;
105
case
radioactive
:
106
if
(!getenv(
"G4RADIOACTIVEDATA"
) )
107
{
108
desc <<
"Radioactive decay data are needed."
<<
G4endl
109
<<
"Please set the environmental variable G4RADIOACTIVEDATA"
<<
G4endl
110
<<
"to point to your RadiativeDecay directory."
<<
G4endl
111
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
112
fail=
true
;
113
}
114
break
;
115
case
lowenergy
:
116
if
(!getenv(
"G4LEDATA"
) )
117
{
118
desc <<
"Low energy electromagnetic data are needed."
<<
G4endl
119
<<
"Please set the environmental variable G4LEDATA"
<<
G4endl
120
<<
"to point to your G4EMLOW directory."
<<
G4endl
121
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
122
fail=
true
;
123
}
124
break
;
125
case
optical
:
126
/*
127
if(!getenv("G4REALSURFACEDATA") )
128
{
129
desc << "Data describing surface propeties for optical photons are needed."<<G4endl
130
<< "Please set the environmental variable G4REALSURFACEDATA"<<G4endl
131
<< "to point to your RealSurface directory."<<G4endl
132
<< "Data are available from the Geant4 download page."<<G4endl<<G4endl;
133
fail=true;
134
}
135
*/
136
break
;
137
case
neutronxs
:
138
if
(!getenv(
"G4NEUTRONXSDATA"
) )
139
{
140
desc <<
"G4NEUTRONXS are needed."
<<
G4endl
141
<<
"Please set the environmental variable G4NEUTRONXSDATA"
<<
G4endl
142
<<
"to point to your G4NEUTRONXS directory."
<<
G4endl
143
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
144
fail=
true
;
145
}
146
break
;
147
case
abla
:
148
if
(!getenv(
"G4ABLADATA"
) )
149
{
150
desc <<
"ABLA data are needed."
<<
G4endl
151
<<
"Please set the environmental variable G4ABLADATA"
<<
G4endl
152
<<
"to point to your ABLA data directory."
<<
G4endl
153
<<
"Data are available from the Geant4 download page."
<<
G4endl
<<
G4endl
;
154
fail=
true
;
155
}
156
break
;
157
case
no
:
158
// all ok
159
break
;
160
default
:
161
if
(t!=
no
)
162
{
163
G4Exception
(
"G4DataQuestionaire"
,
"PhysicsLists003"
,
FatalException
,
164
"data type requested is not known to the system"
);
165
}
166
}
167
}
168
if
(fail) {
169
170
desc <<
"*** Fatal error: Missing mandatory data for this simulation engine ***"
<<
G4endl
;
171
G4Exception
(
"G4DataQuestionaire"
,
"PhysicsLists002"
,
FatalException
, desc);
172
}
173
}
174
~G4DataQuestionaire
() {}
175
};
176
177
#endif
178
G4DataType
G4DataType
Definition:
G4DataQuestionaire.hh:35
optical
@ optical
Definition:
G4DataQuestionaire.hh:35
radioactive
@ radioactive
Definition:
G4DataQuestionaire.hh:35
lend
@ lend
Definition:
G4DataQuestionaire.hh:35
photon
@ photon
Definition:
G4DataQuestionaire.hh:35
neutron
@ neutron
Definition:
G4DataQuestionaire.hh:35
no
@ no
Definition:
G4DataQuestionaire.hh:35
neutronxs
@ neutronxs
Definition:
G4DataQuestionaire.hh:35
abla
@ abla
Definition:
G4DataQuestionaire.hh:35
lowenergy
@ lowenergy
Definition:
G4DataQuestionaire.hh:35
FatalException
@ FatalException
Definition:
G4ExceptionSeverity.hh:60
G4HadronElasticProcess.hh
G4ProtonInelasticProcess.hh
G4int
int G4int
Definition:
G4Types.hh:66
G4bool
bool G4bool
Definition:
G4Types.hh:67
G4VPiKBuilder.hh
G4endl
#define G4endl
Definition:
G4ios.hh:52
G4DataQuestionaire
Definition:
G4DataQuestionaire.hh:37
G4DataQuestionaire::~G4DataQuestionaire
~G4DataQuestionaire()
Definition:
G4DataQuestionaire.hh:174
G4DataQuestionaire::G4DataQuestionaire
G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no, G4DataType t5=no, G4DataType t6=no, G4DataType t7=no, G4DataType t8=no, G4DataType t9=no)
Definition:
G4DataQuestionaire.hh:39
globals.hh
G4Exception
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition:
G4Exception.cc:41
G4ExceptionDescription
std::ostringstream G4ExceptionDescription
Definition:
globals.hh:76
geant4-v9.6.0
source
physics_lists
builders
include
G4DataQuestionaire.hh
Generated by
1.9.6