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
source
analysis
digits_hits
error_propagation
event
externals
g3tog4
geometry
global
graphics_reps
intercoms
interfaces
materials
parameterisations
particles
persistency
physics_lists
processes
biasing
cuts
decay
electromagnetic
hadronic
cross_sections
management
models
abla
abrasion
binary_cascade
cascade
coherent_elastic
de_excitation
em_dissociation
fission
gamma_nuclear
im_r_matrix
inclxx
lend
include
G4GIDI.hh
G4GIDI_map.hh
G4GIDI_mass.hh
G4GIDI_Misc.hh
G4GIDI_target.hh
G4LENDCapture.hh
G4LENDCaptureCrossSection.hh
G4LENDCombinedCrossSection.hh
G4LENDCombinedModel.hh
G4LENDCrossSection.hh
G4LENDElastic.hh
G4LENDElasticCrossSection.hh
G4LENDFission.hh
G4LENDFissionCrossSection.hh
G4LENDGammaCrossSection.hh
G4LENDGammaModel.hh
G4LENDHeader.hh
G4LENDInelastic.hh
G4LENDInelasticCrossSection.hh
G4LENDManager.hh
G4LENDModel.hh
G4LENDUsedTarget.hh
GIDI_settings.hh
MCGIDI.h
MCGIDI_fromTOM.h
MCGIDI_map.h
MCGIDI_mass.h
MCGIDI_misc.h
MCGIDI_private.h
nf_integration.h
nf_Legendre.h
nf_specialFunctions.h
nf_utilities.h
PoPs.h
PoPs_Bcast_private.h
PoPs_data.h
PoPs_mass.h
PoPs_private.h
ptwX.h
ptwXY.h
statusMessageReporting.h
xDataTOM.h
xDataTOM_importXML_private.h
xDataTOM_private.h
src
lepto_nuclear
management
particle_hp
parton_string
pre_equilibrium
qmd
quasi_elastic
radioactive_decay
rpg
theo_high_energy
util
processes
stopping
util
management
optical
parameterisation
scoring
solidstate
transportation
readout
run
track
tracking
visualization
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4GIDI_target.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4GIDI_target.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
/*
27
# <<BEGIN-copyright>>
28
# <<END-copyright>>
29
*/
30
#ifndef G4GIDI_target_h_included
31
#define G4GIDI_target_h_included 1
32
33
#include <vector>
34
#include <string>
35
36
//using namespace std;
37
38
#include <
statusMessageReporting.h
>
39
40
#include <
MCGIDI.h
>
41
42
typedef
struct
crossSectionData_s
crossSectionData
;
43
typedef
struct
G4GIDI_Product_s
G4GIDI_Product
;
44
45
struct
crossSectionData_s
{
46
int
start
,
end
;
47
std::vector<double>
crossSection
;
48
};
49
50
#define channelID std::string
51
52
struct
G4GIDI_Product_s
{
53
int
A
,
Z
,
m
;
54
double
kineticEnergy
,
px
,
py
,
pz
;
55
double
birthTimeSec
;
56
};
57
58
class
G4GIDI_target
{
59
60
public
:
61
void
init
(
const
char
*fileName );
62
std::string
equalProbableBinSampleMethod
;
63
int
nElasticIndices
,
nCaptureIndices
,
nFissionIndices
,
nOthersIndices
;
64
int
*
elasticIndices
, *
captureIndices
, *
fissionIndices
, *
othersIndices
;
65
66
public
:
67
GIDI::statusMessageReporting
smr
;
68
int
projectilesPOPID
;
69
std::string
name
;
70
std::string
sourceFilename
;
71
double
mass
;
72
GIDI::MCGIDI_target
*
target
;
73
74
G4GIDI_target
(
const
char
*fileName );
75
G4GIDI_target
( std::string
const
&fileName );
76
~G4GIDI_target
( );
77
78
std::string *
getName
(
void
);
79
std::string *
getFilename
(
void
);
80
int
getZ
(
void
);
81
int
getA
(
void
);
82
int
getM
(
void
);
83
double
getMass
(
void
);
84
int
getTemperatures
(
double
*temperatures );
85
int
readTemperature
(
int
index );
86
std::string
getEqualProbableBinSampleMethod
(
void
);
87
int
setEqualProbableBinSampleMethod
( std::string method );
88
89
int
getNumberOfChannels
(
void
);
90
int
getNumberOfProductionChannels
(
void
);
91
channelID
getChannelsID
(
int
channelIndex );
92
std::vector<channelID> *
getChannelIDs
(
void
);
93
std::vector<channelID> *
getProductionChannelIDs
(
void
);
94
95
std::vector<double> *
getEnergyGridAtTIndex
(
int
index );
96
97
double
getTotalCrossSectionAtE
(
double
e_in,
double
temperature );
98
double
getElasticCrossSectionAtE
(
double
e_in,
double
temperature );
99
double
getCaptureCrossSectionAtE
(
double
e_in,
double
temperature );
100
double
getFissionCrossSectionAtE
(
double
e_in,
double
temperature );
101
double
getOthersCrossSectionAtE
(
double
e_in,
double
temperature );
102
double
sumChannelCrossSectionAtE
(
int
nIndices,
int
*indices,
double
e_in,
double
temperature );
103
int
sampleChannelCrossSectionAtE
(
int
nIndices,
int
*indices,
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
104
105
double
getElasticFinalState
(
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
106
std::vector<G4GIDI_Product> *
getCaptureFinalState
(
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
107
std::vector<G4GIDI_Product> *
getFissionFinalState
(
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
108
std::vector<G4GIDI_Product> *
getOthersFinalState
(
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
109
std::vector<G4GIDI_Product> *
getFinalState
(
int
nIndices,
int
*indices,
double
e_in,
double
temperature,
double
(*rng)(
void
* ),
void
*rngState );
110
111
double
getReactionsThreshold
(
int
index );
112
double
getReactionsDomain
(
int
index,
double
*EMin,
double
*EMax );
113
};
114
115
#endif // End of G4GIDI_target_h_included
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
lend
include
G4GIDI_target.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:46
using
1.8.2 with
ECCE GitHub integration