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