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
G4InitXscPAI.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4InitXscPAI.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
// G4InitXscPAI.hh -- header file
30
//
31
// History:
32
//
33
// 02.04.04, V. Grichine: 1st version based on G4PAIxSection class
34
35
#ifndef G4INITXSCPAI_HH
36
#define G4INITXSCPAI_HH
37
38
#include "
G4ios.hh
"
39
#include "
globals.hh
"
40
#include "
Randomize.hh
"
41
#include "
G4OrderedTable.hh
"
42
#include "
G4PhysicsLogVector.hh
"
43
44
class
G4MaterialCutsCouple
;
45
class
G4SandiaTable
;
46
47
class
G4InitXscPAI
48
{
49
public
:
50
// Constructors
51
explicit
G4InitXscPAI
(
const
G4MaterialCutsCouple
* matCC);
52
53
virtual
~G4InitXscPAI
() ;
54
55
// Methods
56
// General control functions
57
58
void
KillCloseIntervals
();
59
60
void
Normalisation
();
61
62
63
// Physical methods
64
65
66
G4double
RutherfordIntegral
(
G4int
intervalNumber,
67
G4double
limitLow,
68
G4double
limitHigh ) ;
69
70
G4double
IntegralTerm
(
G4double
omega);
71
72
G4double
ImPartDielectricConst
(
G4int
intervalNumber,
73
G4double
energy
) ;
74
75
G4double
RePartDielectricConst
(
G4double
energy) ;
76
77
G4double
ModuleSqDielectricConst
(
G4int
intervalNumber,
78
G4double
energy ) ;
79
80
G4double
DifPAIxSection
(
G4double
omega ) ;
81
G4double
DifPAIdEdx
(
G4double
omega ) ;
82
83
G4double
PAIdNdxCherenkov
(
G4double
omega ) ;
84
85
G4double
PAIdNdxPlasmon
(
G4double
omega ) ;
86
87
void
IntegralPAIxSection
(
G4double
bg2,
G4double
Tmax) ;
88
void
IntegralCherenkov
(
G4double
bg2,
G4double
Tmax) ;
89
void
IntegralPlasmon
(
G4double
bg2,
G4double
Tmax) ;
90
91
void
IntegralPAIdEdx
(
G4double
bg2,
G4double
Tmax) ;
92
93
94
G4double
GetPhotonLambda
(
G4double
omega ) ;
95
96
97
G4double
GetStepEnergyLoss
(
G4double
step
) ;
98
G4double
GetStepCerenkovLoss
(
G4double
step ) ;
99
G4double
GetStepPlasmonLoss
(
G4double
step ) ;
100
101
// Inline access functions
102
103
104
G4int
GetIntervalNumber
()
const
{
return
fIntervalNumber
; }
105
G4int
GetBinPAI
()
const
{
return
fPAIbin
; }
106
107
G4double
GetNormalizationCof
()
const
{
return
fNormalizationCof
; }
108
109
G4double
GetMatSandiaMatrix
(
G4int
i,
G4int
j)
const
110
{
return
(*(*
fMatSandiaMatrix
)[i])[j]; }
111
112
G4PhysicsLogVector
*
GetPAIxscVector
()
const
{
return
fPAIxscVector
;}
113
G4PhysicsLogVector
*
GetPAIdEdxVector
()
const
{
return
fPAIdEdxVector
;}
114
G4PhysicsLogVector
*
GetPAIphotonVector
()
const
{
return
fPAIphotonVector
;}
115
G4PhysicsLogVector
*
GetPAIelectronVector
()
const
{
return
fPAIelectronVector
;}
116
G4PhysicsLogVector
*
GetChCosSqVector
()
const
{
return
fChCosSqVector
;}
117
G4PhysicsLogVector
*
GetChWidthVector
()
const
{
return
fChWidthVector
;}
118
119
protected
:
120
121
private
:
122
123
G4InitXscPAI
&
operator=
(
const
G4InitXscPAI
&
right
) =
delete
;
124
G4InitXscPAI
(
const
G4InitXscPAI
&) =
delete
;
125
126
// Local class constants
127
128
static
const
G4double
fDelta
;
// energy shift from interval border = 0.001
129
static
const
G4int
fPAIbin
;
130
static
const
G4double
fSolidDensity
;
// ~the border between gases and solids
131
132
G4int
fIntervalNumber
;
// The number of energy intervals
133
G4double
fNormalizationCof
;
// Normalization cof for PhotoAbsorptionXsection
134
G4int
fCurrentInterval
;
135
G4int
fIntervalTmax
;
136
G4double
fBetaGammaSq
;
// (beta*gamma)^2
137
G4double
fTmax
;
138
G4double
fDensity
;
// Current density
139
G4double
fElectronDensity
;
// Current electron (number) density
140
141
// Arrays of Sandia coefficients
142
143
G4OrderedTable
*
fMatSandiaMatrix
;
144
G4SandiaTable
*
fSandia
;
145
146
// vectors of integral cross-sections
147
148
G4PhysicsLogVector
*
fPAIxscVector
;
149
G4PhysicsLogVector
*
fPAIdEdxVector
;
150
G4PhysicsLogVector
*
fPAIphotonVector
;
151
G4PhysicsLogVector
*
fPAIelectronVector
;
152
G4PhysicsLogVector
*
fChCosSqVector
;
153
G4PhysicsLogVector
*
fChWidthVector
;
154
155
};
156
157
#endif
158
159
//
160
//
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
standard
include
G4InitXscPAI.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:34
using
1.8.2 with
ECCE GitHub integration