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
G4PiNuclearCrossSection.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4PiNuclearCrossSection.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
#ifndef G4PiNuclearCrossSection_h
27
#define G4PiNuclearCrossSection_h
28
29
#include "
G4VCrossSectionDataSet.hh
"
30
31
#include "
globals.hh
"
32
#include "
G4PionMinus.hh
"
33
#include "
G4PionPlus.hh
"
34
#include "
G4PiData.hh
"
35
#include "
G4HadTmpUtil.hh
"
36
37
class
G4PiNuclearCrossSection
:
public
G4VCrossSectionDataSet
38
{
39
public
:
40
41
G4PiNuclearCrossSection
();
42
virtual
~G4PiNuclearCrossSection
();
43
44
static
const
char
*
Default_Name
() {
return
"G4PiNuclearCrossSection"
;}
45
46
virtual
47
G4bool
IsElementApplicable
(
const
G4DynamicParticle
* aParticle,
48
G4int
Z
,
const
G4Material
*);
49
50
virtual
51
G4double
GetElementCrossSection
(
const
G4DynamicParticle
*
particle
,
52
G4int
Z
,
const
G4Material
*);
53
54
virtual
55
void
BuildPhysicsTable
(
const
G4ParticleDefinition
&);
56
57
virtual
void
CrossSectionDescription
(std::ostream&)
const
;
58
59
inline
G4double
GetTotalXsc
() {
return
fTotalXsc
;};
60
inline
G4double
GetElasticXsc
() {
return
fElasticXsc
;};
61
62
private
:
63
G4double
Interpolate
(
G4int
Z1
,
G4int
Z2
,
G4int
Z
,
G4double
x1
,
G4double
x2
);
64
65
// add Hydrogen from PDG group.
66
67
static
const
G4double
e1
[38];
68
static
const
G4double
he_t
[38];
69
static
const
G4double
he_in
[38];
70
static
const
G4double
be_m_t
[38];
71
static
const
G4double
be_m_in
[38];
72
static
const
G4double
be_p_t
[24];
73
static
const
G4double
be_p_in
[24];
74
static
const
G4double
e2
[39];
75
static
const
G4double
c_m_t
[39];
76
static
const
G4double
c_m_in
[39];
77
static
const
G4double
c_p_t
[24];
78
static
const
G4double
c_p_in
[24];
79
static
const
G4double
n_m_t
[39];
80
static
const
G4double
n_m_in
[39];
81
static
const
G4double
n_p_t
[27];
82
static
const
G4double
n_p_in
[27];
83
static
const
G4double
e3
[31];
84
static
const
G4double
o_m_t
[31];
85
static
const
G4double
o_m_in
[31];
86
static
const
G4double
o_p_t
[20];
87
static
const
G4double
o_p_in
[20];
88
static
const
G4double
na_m_t
[31];
89
static
const
G4double
na_m_in
[31];
90
static
const
G4double
na_p_t
[22];
91
static
const
G4double
na_p_in
[22];
92
static
const
G4double
e3_1
[31];
93
static
const
G4double
al_m_t
[31];
94
static
const
G4double
al_m_in
[31];
95
static
const
G4double
al_p_t
[21];
96
static
const
G4double
al_p_in
[21];
97
static
const
G4double
ca_m_t
[31];
98
static
const
G4double
ca_m_in
[31];
99
static
const
G4double
ca_p_t
[23];
100
static
const
G4double
ca_p_in
[23];
101
102
static
const
G4double
e4
[32];
103
static
const
G4double
fe_m_t
[32];
104
static
const
G4double
fe_m_in
[32];
105
static
const
G4double
fe_p_t
[25];
106
static
const
G4double
fe_p_in
[25];
107
static
const
G4double
cu_m_t
[32];
108
static
const
G4double
cu_m_in
[32];
109
static
const
G4double
cu_p_t
[25];
110
static
const
G4double
cu_p_in
[25];
111
static
const
G4double
e5
[34];
112
static
const
G4double
mo_m_t
[34];
113
static
const
G4double
mo_m_in
[34];
114
static
const
G4double
mo_p_t
[27];
115
static
const
G4double
mo_p_in
[27];
116
static
const
G4double
cd_m_t
[34];
117
static
const
G4double
cd_m_in
[34];
118
static
const
G4double
cd_p_t
[28];
119
static
const
G4double
cd_p_in
[28];
120
static
const
G4double
e6
[35];
121
static
const
G4double
sn_m_t
[35];
122
static
const
G4double
sn_m_in
[35];
123
static
const
G4double
sn_p_t
[29];
124
static
const
G4double
sn_p_in
[29];
125
static
const
G4double
w_m_t
[35];
126
static
const
G4double
w_m_in
[35];
127
static
const
G4double
w_p_t
[30];
128
static
const
G4double
w_p_in
[30];
129
static
const
G4double
e7
[35];
130
static
const
G4double
pb_m_t
[35];
131
static
const
G4double
pb_m_in
[35];
132
static
const
G4double
pb_p_t
[30];
133
static
const
G4double
pb_p_in
[30];
134
static
const
G4double
u_m_t
[35];
135
static
const
G4double
u_m_in
[35];
136
static
const
G4double
u_p_t
[30];
137
static
const
G4double
u_p_in
[30];
138
139
std::vector<G4int>
theZ
;
140
std::vector<G4PiData *>
thePipData
;
141
std::vector<G4PiData *>
thePimData
;
142
143
// cross sections
144
145
G4double
fTotalXsc
;
146
G4double
fElasticXsc
;
147
148
};
149
150
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
cross_sections
include
G4PiNuclearCrossSection.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:36
using
1.8.2 with
ECCE GitHub integration