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
G4INCLParticleTable.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4INCLParticleTable.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
// INCL++ intra-nuclear cascade model
27
// Alain Boudard, CEA-Saclay, France
28
// Joseph Cugnon, University of Liege, Belgium
29
// Jean-Christophe David, CEA-Saclay, France
30
// Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
31
// Sylvie Leray, CEA-Saclay, France
32
// Davide Mancusi, CEA-Saclay, France
33
//
34
#define INCLXX_IN_GEANT4_MODE 1
35
36
#include "
globals.hh
"
37
38
#ifndef G4INCLParticleTable_hh
39
#define G4INCLParticleTable_hh 1
40
41
#include <string>
42
#include <vector>
43
// #include <cassert>
44
45
#include "
G4INCLParticleType.hh
"
46
#include "
G4INCLParticleSpecies.hh
"
47
#include "
G4INCLLogger.hh
"
48
#include "
G4INCLConfig.hh
"
49
#include "
G4INCLHFB.hh
"
50
51
#ifdef INCLXX_IN_GEANT4_MODE
52
#include "
G4IonTable.hh
"
53
#include "
G4ParticleTable.hh
"
54
#endif
55
#include "
G4INCLGlobals.hh
"
56
#include "
G4INCLNaturalIsotopicDistributions.hh
"
57
58
namespace
G4INCL {
59
60
namespace
ParticleTable {
61
62
const
G4int
maxClusterMass
= 12;
63
const
G4int
maxClusterCharge
= 8;
64
65
const
G4int
clusterTableZSize
=
maxClusterCharge
+1;
66
const
G4int
clusterTableASize
=
maxClusterMass
+1;
67
const
G4int
clusterTableSSize
= 4;
68
69
const
G4double
effectiveNucleonMass
= 938.2796;
70
const
G4double
effectiveNucleonMass2
= 8.8036860777616e5;
71
const
G4double
effectiveDeltaMass
= 1232.0;
72
const
G4double
effectiveDeltaWidth
= 130.0;
73
const
G4double
effectivePionMass
= 138.0;
74
const
G4double
effectiveLambdaMass
= 1115.683;
75
const
G4double
effectiveSigmaMass
= 1197.45;
// max value
76
const
G4double
effectiveKaonMass
= 497.614;
// max value
77
const
G4double
effectiveAntiKaonMass
= 497.614;
// max value
78
const
G4double
effectiveEtaMass
= 547.862;
79
const
G4double
effectiveOmegaMass
= 782.65;
80
const
G4double
effectiveEtaPrimeMass
= 957.78;
81
const
G4double
effectivePhotonMass
= 0.0;
82
extern
G4ThreadLocal
G4double
minDeltaMass
;
83
extern
G4ThreadLocal
G4double
minDeltaMass2
;
84
extern
G4ThreadLocal
G4double
minDeltaMassRndm
;
85
87
void
initialize
(
Config
const
*
const
theConfig = 0);
88
90
G4int
getIsospin
(
const
ParticleType
t
);
91
93
std::string
getName
(
const
ParticleType
t
);
94
96
std::string
getShortName
(
const
ParticleType
t
);
97
99
std::string
getName
(
const
ParticleSpecies
&
s
);
100
102
std::string
getShortName
(
const
ParticleSpecies
&
s
);
103
105
std::string
getName
(
const
G4int
A
,
const
G4int
Z
);
106
108
std::string
getShortName
(
const
G4int
A
,
const
G4int
Z
);
109
111
G4double
getINCLMass
(
const
G4int
A
,
const
G4int
Z
,
const
G4int
S
);
112
114
G4double
getINCLMass
(
const
ParticleType
t
);
115
116
#ifndef INCLXX_IN_GEANT4_MODE
117
118
G4double
hasMassTable(
const
unsigned
int
A
,
const
unsigned
int
Z
);
119
129
G4double
getWeizsaeckerMass(
const
G4int
A
,
const
G4int
Z
);
130
#endif
131
133
G4double
getRealMass
(
const
G4INCL::ParticleType
t
);
135
G4double
getRealMass
(
const
G4int
A
,
const
G4int
Z
,
const
G4int
S
= 0);
136
143
G4double
getTableQValue
(
const
G4int
A1,
const
G4int
Z1
,
const
G4int
S1,
const
G4int
A2,
const
G4int
Z2
,
const
G4int
S2);
144
151
G4double
getTableQValue
(
const
G4int
A1,
const
G4int
Z1
,
const
G4int
S1,
const
G4int
A2,
const
G4int
Z2
,
const
G4int
S2,
const
G4int
A3,
const
G4int
Z3,
const
G4int
S3);
152
153
G4double
getTableSpeciesMass
(
const
ParticleSpecies
&
p
);
154
156
G4int
getMassNumber
(
const
ParticleType
t
);
157
159
G4int
getChargeNumber
(
const
ParticleType
t
);
160
162
G4int
getStrangenessNumber
(
const
ParticleType
t
);
163
164
G4double
getNuclearRadius
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
165
G4double
getLargestNuclearRadius
(
const
G4int
A
,
const
G4int
Z
);
166
G4double
getRadiusParameter
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
167
G4double
getMaximumNuclearRadius
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
168
G4double
getSurfaceDiffuseness
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
169
171
G4double
getMomentumRMS
(
const
G4int
A
,
const
G4int
Z
);
172
174
G4double
getSeparationEnergyINCL
(
const
ParticleType
t
,
const
G4int
/*A*/
,
const
G4int
/*Z*/
);
175
177
G4double
getSeparationEnergyReal
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
178
180
G4double
getSeparationEnergyRealForLight
(
const
ParticleType
t
,
const
G4int
A
,
const
G4int
Z
);
181
183
G4double
getProtonSeparationEnergy
();
184
186
G4double
getNeutronSeparationEnergy
();
187
189
void
setProtonSeparationEnergy
(
const
G4double
s
);
190
192
void
setNeutronSeparationEnergy
(
const
G4double
s
);
193
195
std::string
getElementName
(
const
G4int
Z
);
196
198
std::string
getIUPACElementName
(
const
G4int
Z
);
199
201
G4int
parseElement
(std::string pS);
202
210
G4int
parseIUPACElement
(std::string
const
&pS);
211
212
IsotopicDistribution
const
&
getNaturalIsotopicDistribution
(
const
G4int
Z
);
213
214
G4int
drawRandomNaturalIsotope
(
const
G4int
Z
);
215
216
// Typedefs and pointers for transparent handling of mass functions
217
//typedef G4double (*NuclearMassFn)(const G4int, const G4int);
218
typedef
G4double
(*
NuclearMassFn
)(
const
G4int
,
const
G4int
,
const
G4int
);
219
typedef
G4double
(*
ParticleMassFn
)(
const
ParticleType
);
221
extern
G4ThreadLocal
NuclearMassFn
getTableMass
;
223
extern
G4ThreadLocal
ParticleMassFn
getTableParticleMass
;
224
225
// Typedefs and pointers for transparent handling of separation energies
226
typedef
G4double
(*
SeparationEnergyFn
)(
const
ParticleType
,
const
G4int
,
const
G4int
);
228
extern
G4ThreadLocal
SeparationEnergyFn
getSeparationEnergy
;
229
230
// Typedefs and pointers for transparent handling of Fermi momentum
231
typedef
G4double
(*
FermiMomentumFn
)(
const
G4int
,
const
G4int
);
232
extern
G4ThreadLocal
FermiMomentumFn
getFermiMomentum
;
233
235
G4double
getFermiMomentumConstant
(
const
G4int
/*A*/
,
const
G4int
/*Z*/
);
236
245
G4double
getFermiMomentumConstantLight
(
const
G4int
A
,
const
G4int
Z
);
246
259
G4double
getFermiMomentumMassDependent
(
const
G4int
A
,
const
G4int
/*Z*/
);
260
266
G4double
getRPCorrelationCoefficient
(
const
ParticleType
t
);
267
269
G4double
getNeutronSkin
();
270
272
G4double
getNeutronHalo
();
273
275
ParticleType
getPionType
(
const
G4int
isosp);
276
278
ParticleType
getNucleonType
(
const
G4int
isosp);
279
281
ParticleType
getDeltaType
(
const
G4int
isosp);
282
284
ParticleType
getSigmaType
(
const
G4int
isosp);
285
287
ParticleType
getKaonType
(
const
G4int
isosp);
288
290
ParticleType
getAntiKaonType
(
const
G4int
isosp);
291
293
G4double
getWidth
(
const
ParticleType
t
);
294
}
295
}
296
297
#endif
298
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
inclxx
utils
include
G4INCLParticleTable.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:45
using
1.8.2 with
ECCE GitHub integration