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
G4ForwardXrayTR.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ForwardXrayTR.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
// G4ForwardXrayTR
29
//
30
// Class for description
31
//
32
// Class for forward X-ray transition radiation generated
33
// by relativistic charged particle crossed interface between material 1
34
// and material 2 (1 -> 2)
35
36
// History:
37
// 22.09.97, V. Grichine (Vladimir.Grichine@cern.ch)
38
// 26.01.00, V.Grichine, new constructor and protected DM for fast sim. models
39
// 10.03.03, V.Ivanchenko migrade to "cut per region"
40
// 03.06.03, V.Ivanchenko fix compilation warnings
41
42
#ifndef G4FORWARDXRAYTR_H
43
#define G4FORWARDXRAYTR_H
44
45
46
#include "
globals.hh
"
47
#include "
templates.hh
"
48
#include "
geomdefs.hh
"
49
#include "
Randomize.hh
"
50
#include "
G4Step.hh
"
51
#include "
G4VDiscreteProcess.hh
"
52
#include "
G4DynamicParticle.hh
"
53
#include "
G4Material.hh
"
54
#include "
G4LogicalBorderSurface.hh
"
55
#include "
G4LogicalSkinSurface.hh
"
56
#include "
G4OpticalSurface.hh
"
57
#include "
G4OpticalPhoton.hh
"
58
#include "
G4TransportationManager.hh
"
59
60
#include "
G4TransitionRadiation.hh
"
61
#include "
G4PhysicsTable.hh
"
62
#include "
G4Gamma.hh
"
63
#include "
G4PhysicsLogVector.hh
"
64
65
class
G4ForwardXrayTR
:
public
G4TransitionRadiation
66
{
67
public
:
68
69
// Constructors
70
71
explicit
G4ForwardXrayTR
(
const
G4String
& matName1,
// G4Material* pMat1,
72
const
G4String
& matName2,
// G4Material* pMat2,
73
const
G4String
& processName=
"XrayTR"
);
74
75
explicit
G4ForwardXrayTR
(
const
G4String
& processName=
"XrayTR"
);
76
77
// Destructor // virtual
78
79
virtual
~G4ForwardXrayTR
();
80
82
83
void
BuildXrayTRtables
();
84
85
G4double
GetMeanFreePath
(
const
G4Track
&,
G4double
,
86
G4ForceCondition
*
condition
)
override
;
87
88
G4VParticleChange
*
PostStepDoIt
(
const
G4Track
& aTrack,
89
const
G4Step
& aStep )
override
;
90
91
G4double
GetEnergyTR
(
G4int
iMat,
G4int
jMat,
G4int
iTkin)
const
;
92
93
G4double
GetThetaTR
(
G4int
iMat,
G4int
jMat,
G4int
iTkin)
const
;
94
95
97
//
98
99
G4double
SpectralAngleTRdensity
(
G4double
energy
,
100
G4double
varAngle )
const override
;
101
102
G4double
AngleDensity
(
G4double
energy,
103
G4double
varAngle )
const
;
104
105
G4double
EnergyInterval
(
G4double
energy1,
106
G4double
energy2,
107
G4double
varAngle )
const
;
108
109
G4double
AngleSum
(
G4double
varAngle1,
110
G4double
varAngle2 )
const
;
111
113
114
G4double
SpectralDensity
(
G4double
energy,
115
G4double
x
)
const
;
116
117
G4double
AngleInterval
(
G4double
energy,
118
G4double
varAngle1,
119
G4double
varAngle2 )
const
;
120
121
G4double
EnergySum
(
G4double
energy1,
122
G4double
energy2 )
const
;
123
124
126
127
G4PhysicsTable
*
GetAngleDistrTable
();
128
G4PhysicsTable
*
GetEnergyDistrTable
();
129
130
static
G4int
GetSympsonNumber
();
131
static
G4int
GetBinTR
();
132
133
static
G4double
GetMinProtonTkin
();
134
static
G4double
GetMaxProtonTkin
();
135
static
G4int
GetTotBin
();
136
137
138
protected
:
// for access from X-ray TR fast simulation models
139
140
// private : /////////////// Data members ///////////////////////////
141
142
G4ParticleDefinition
*
fPtrGamma
;
// pointer to TR photon
143
144
const
std::vector<G4double>*
fGammaCutInKineticEnergy
;
145
// TR photon cut in energy array
146
G4double
fGammaTkinCut
;
// Tkin cut of TR photon in current mat.
147
148
G4PhysicsTable
*
fAngleDistrTable
;
149
G4PhysicsTable
*
fEnergyDistrTable
;
150
151
G4PhysicsLogVector
*
fProtonEnergyVector
;
152
153
static
G4int
fSympsonNumber
;
// Accuracy of Sympson integration
154
155
static
G4double
fTheMinEnergyTR
;
// static min TR energy
156
static
G4double
fTheMaxEnergyTR
;
// static max TR energy
157
G4double
fMinEnergyTR
;
// min TR energy in material
158
G4double
fMaxEnergyTR
;
// max TR energy in material
159
static
G4double
fTheMaxAngle
;
// max theta of TR quanta
160
static
G4double
fTheMinAngle
;
// max theta of TR quanta
161
G4double
fMaxThetaTR
;
// max theta of TR quanta
162
static
G4int
fBinTR
;
// number of bins in TR vectors
163
164
static
G4double
fMinProtonTkin
;
// min Tkin of proton in tables
165
static
G4double
fMaxProtonTkin
;
// max Tkin of proton in tables
166
static
G4int
fTotBin
;
// number of bins in log scale
167
G4double
fGamma
;
// current Lorentz factor
168
169
static
G4double
fPlasmaCof
;
// physical consts for plasma energy
170
static
G4double
fCofTR
;
171
172
G4double
fSigma1
;
// plasma energy Sq of matter1
173
G4double
fSigma2
;
// plasma energy Sq of matter2
174
175
private
:
176
// Operators
177
178
G4ForwardXrayTR
(
const
G4ForwardXrayTR
&
right
) =
delete
;
179
180
G4ForwardXrayTR
&
operator=
(
const
G4ForwardXrayTR
&
right
) =
delete
;
181
182
// G4bool operator==(const G4ForwardXrayTR& right)const;
183
// G4bool operator!=(const G4ForwardXrayTR& right)const;
184
185
};
// end of G4ForwardXrayTR class ---------------------------
186
187
#endif // G4FORWARDXRAYTR_H
188
189
190
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
xrays
include
G4ForwardXrayTR.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:36
using
1.8.2 with
ECCE GitHub integration