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
G4ChipsPionMinusElasticXS.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ChipsPionMinusElasticXS.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
//
28
//
29
// GEANT4 physics class: G4ChipsPionMinusElasticXS -- header file
30
// M.V. Kossov, ITEP(Moscow), 21-Jan-10
31
// The last update: M.V. Kossov, CERN/ITEP (Moscow) 21-Jan-2010
32
//
33
// -------------------------------------------------------------------------------
34
// Short description: Interaction cross-sections for the elastic process.
35
// Class extracted from CHIPS and integrated in Geant4 by W.Pokorski
36
// -------------------------------------------------------------------------------
37
//
38
39
40
#ifndef G4ChipsPionMinusElasticXS_h
41
#define G4ChipsPionMinusElasticXS_h 1
42
43
#include <vector>
44
#include "
Randomize.hh
"
45
#include "
G4VCrossSectionDataSet.hh
"
46
47
class
G4ChipsPionMinusElasticXS
:
public
G4VCrossSectionDataSet
48
{
49
public
:
50
51
G4ChipsPionMinusElasticXS
();
// Constructor
52
53
~G4ChipsPionMinusElasticXS
();
54
55
static
const
char
*
Default_Name
() {
return
"ChipsPionMinusElasticXS"
;}
56
57
virtual
void
CrossSectionDescription
(std::ostream&)
const
;
58
59
virtual
G4bool
IsIsoApplicable
(
const
G4DynamicParticle
* Pt,
G4int
Z
,
G4int
A
,
60
const
G4Element
* elm,
61
const
G4Material
*
mat
);
62
63
// At present momentum (pMom) in MeV/c, CS in mb (@@ Units)
64
virtual
G4double
GetIsoCrossSection
(
const
G4DynamicParticle
*,
G4int
tgZ,
G4int
A
,
65
const
G4Isotope
* iso = 0,
66
const
G4Element
* elm = 0,
67
const
G4Material
*
mat
= 0);
68
69
virtual
G4double
GetChipsCrossSection
(
G4double
momentum
,
G4int
Z
,
G4int
N
,
G4int
pdg
);
70
71
G4double
GetExchangeT
(
G4int
tZ,
G4int
tN,
G4int
pPDG);
// Randomizes -t=Q2 (in IU=MeV^2)
72
73
private
:
74
G4double
CalculateCrossSection
(
G4bool
CS,
G4int
F,
G4int
I,
G4int
pPDG,
G4int
Z
,
G4int
N
,
75
G4double
pP);
76
G4double
GetSlope
(
G4int
tZ,
G4int
tN,
G4int
pPDG);
// Slope of the 1st diff. maximum
77
G4double
GetHMaxT
();
// Currrent Max(-t=Q2)/2. (in IU=MeV^2)
78
79
80
G4double
GetPTables
(
G4double
lpP,
G4double
lPm,
G4int
PDG,
G4int
tZ,
G4int
tN);
// newLP
81
G4double
GetTabValues
(
G4double
lp,
G4int
pPDG,
G4int
tgZ,
G4int
tgN);
// return CS(Si/Bi)
82
G4double
GetQ2max
(
G4int
pPDG,
G4int
tgZ,
G4int
tgN,
G4double
pP);
// return -t=Q2
83
84
// Body
85
private
:
86
// --- Data formating AMDB (define the precalculated table structure) ---
87
const
G4int
nPoints
;
// #of points in the AMDB tables
88
const
G4int
nLast
;
// the Last element in the table
89
G4double
lPMin
;
// Min tabulated logarithmic Momentum
90
G4double
lPMax
;
// Max tabulated logarithmic Momentum
91
G4double
dlnP
;
// Log step in the table
92
// ---- Local (for particular pP, pPDG, tZ, tN) -----
93
G4bool
onlyCS
;
// flag to calculate only CS (not S1/B1,S2/B2,S3/B3)
94
G4double
lastSIG
;
// Last calculated cross section
95
G4double
lastLP
;
// Last log(mom_of_the_incident_hadron in GeV)
96
G4double
lastTM
;
// Last t_maximum
97
G4int
lastN
;
// The last N of calculated nucleus
98
G4int
lastZ
;
// The last Z of calculated nucleus
99
G4double
lastP
;
// Last used in the cross section Momentum
100
G4double
lastTH
;
// Last value of the Momentum Threshold
101
G4double
lastCS
;
// Last value of the Cross Section
102
G4int
lastI
;
// The last position in the DAMDB
103
G4double
theSS
;
// The Last squared slope of first diffruction
104
G4double
theS1
;
// The Last mantissa of first diffruction
105
G4double
theB1
;
// The Last slope of first diffruction
106
G4double
theS2
;
// The Last mantissa of second diffruction
107
G4double
theB2
;
// The Last slope of second diffruction
108
G4double
theS3
;
// The Last mantissa of third diffruction
109
G4double
theB3
;
// The Last slope of third diffruction
110
G4double
theS4
;
// The Last mantissa of 4-th diffruction
111
G4double
theB4
;
// The Last slope of 4-th diffruction
112
// ---- Global (AMBD of P-dependent tables for pPDG,tZ,tN) -----
113
G4int
lastTZ
;
// Last atomic number of the target
114
G4int
lastTN
;
// Last number of neutrons of the target
115
G4double
lastPIN
;
// Last initialized max momentum
116
G4double
*
lastCST
;
// Last cross-section table
117
G4double
*
lastPAR
;
// Last parameters for functional calculation
118
G4double
*
lastSST
;
// E-dep of squared slope of the first difruction
119
G4double
*
lastS1T
;
// E-dep of mantissa of the first difruction
120
G4double
*
lastB1T
;
// E-dep of the slope of the first difruction
121
G4double
*
lastS2T
;
// E-dep of mantissa of the second difruction
122
G4double
*
lastB2T
;
// E-dep of the slope of theSecond difruction
123
G4double
*
lastS3T
;
// E-dep of mantissa of the third difruction
124
G4double
*
lastB3T
;
// E-dep of the slope of the third difruction
125
G4double
*
lastS4T
;
// E-dep of mantissa of the 4-th difruction
126
G4double
*
lastB4T
;
// E-dep of the slope of the 4-th difruction
127
128
std::vector <G4double*>
PAR
;
// Vector of parameters for functional calculations
129
std::vector <G4double*>
CST
;
// Vector of cross-section table
130
std::vector <G4double*>
SST
;
// Vector of the first squared slope
131
std::vector <G4double*>
S1T
;
// Vector of the first mantissa
132
std::vector <G4double*>
B1T
;
// Vector of the first slope
133
std::vector <G4double*>
S2T
;
// Vector of the secon mantissa
134
std::vector <G4double*>
B2T
;
// Vector of the second slope
135
std::vector <G4double*>
S3T
;
// Vector of the third mantissa
136
std::vector <G4double*>
B3T
;
// Vector of the third slope
137
std::vector <G4double*>
S4T
;
// Vector of the 4-th mantissa (gloria)
138
std::vector <G4double*>
B4T
;
// Vector of the 4-th slope (gloria)
139
140
std::vector <G4int>
colN
;
// Vector of N for calculated nuclei (isotops)
141
std::vector <G4int>
colZ
;
// Vector of Z for calculated nuclei (isotops)
142
std::vector <G4double>
colP
;
// Vector of last momenta for the reaction
143
std::vector <G4double>
colTH
;
// Vector of energy thresholds for the reaction
144
std::vector <G4double>
colCS
;
// Vector of last cross sections for the reaction
145
146
std::vector <G4double>
PIN
;
// Vector of max initialized log(P) in the table
147
148
};
149
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
cross_sections
include
G4ChipsPionMinusElasticXS.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:36
using
1.8.2 with
ECCE GitHub integration