ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetSimUtils
TRT_TR_Process
src
TRTTransitionRadiation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRTTRANSITIONRADIATION_H
6
#define TRTTRANSITIONRADIATION_H
7
8
#include "
TRTRadiatorParameters.h
"
9
#include "
AthenaBaseComps/AthMessaging.h
"
10
#include "G4VDiscreteProcess.hh"
11
12
#include <vector>
13
class
G4Material;
14
class
G4Step;
15
class
G4Track;
16
17
18
class
TRRegionXMLHandler
;
19
20
class
TRTTransitionRadiation
:
public
G4VDiscreteProcess,
public
AthMessaging
{
21
22
public
:
23
25
// Public Methods //
27
28
TRTTransitionRadiation
(
const
G4String& processName=
"TransitionRadiation"
,
const
std::string & xmlfilename=
"TRgeomodelgeometry.xml"
);
29
virtual
~TRTTransitionRadiation
();
30
31
void
Initialize
();
32
G4bool
IsApplicable
(
const
G4ParticleDefinition&);
33
G4double
GetMeanFreePath
(
const
G4Track& aTrack, G4double, G4ForceCondition *);
34
G4VParticleChange*
PostStepDoIt
(
const
G4Track& aTrack,
const
G4Step& aStep);
35
36
void
AddRadiatorParameters
(
const
TRTRadiatorParameters
& p);
37
38
private
:
39
40
TRTTransitionRadiation
(
const
TRTTransitionRadiation
&);
41
TRTTransitionRadiation
&
operator=
(
const
TRTTransitionRadiation
&);
43
// Private Helper Methods //
45
46
G4double
ComputePhotoAbsCof
(
const
G4Material*
Material
,
const
G4double & GammaEnergy )
const
;
47
48
G4double
XEmitanNevski
(
const
G4double & PhotonEnergy,
49
const
G4double & Gamma,
50
const
G4double & GasThickness,
51
const
G4double & FoilThickness)
const
;
52
53
G4double
XEmitanArtru
(
const
G4double & PhotonEnergy,
54
const
G4double & Gamma,
55
const
G4double &GasThickness,
56
const
G4double &FoilThickness)
const
;
57
58
G4double
NeffNevski
(
const
G4double & sigGas,
59
const
G4double & sigFoil,
60
const
G4double & GasThickness,
61
const
G4double & FoilThickness,
62
const
G4int & FoilsTraversed )
const
;
63
64
G4double
NeffArtru
(
const
G4double & sigGas,
65
const
G4double & sigFoil,
66
const
G4double & GasThickness,
67
const
G4double & FoilThickness,
68
const
G4int & FoilsTraversed )
const
;
69
70
G4double
XFinter
(
const
G4double & X,
const
G4double*
A
,
const
G4double*
F
)
const
;
71
G4double
XInteg
(
const
G4double* yy, G4double*
ss
)
const
;
72
74
// Member Data //
76
77
//protected:
78
79
TRRegionXMLHandler
*
m_XMLhandler
;
80
const
std::string
m_xmlfilename
;
81
std::vector<TRTRadiatorParameters>
m_radiators
;
82
83
G4double
m_MinEnergyTR
;
// min TR energy in material
84
G4double
m_MaxEnergyTR
;
// max TR energy in material
85
G4int
m_NumBins
;
// number of bins in log scale
86
87
G4double
m_WplasmaGas
;
// plasma energy of foil and air.
88
G4double
m_WplasmaFoil
;
89
90
G4double
m_GammaMin
;
// Minimum value of Lorentz gamma for TR radiation
91
G4double
m_EkinMin
;
// Corresponding KineticEnergy for electrons
92
93
G4double*
m_Ey
;
94
G4double*
m_Sr
;
95
G4double*
m_om
;
96
G4double*
m_Omg
;
97
G4double*
m_sigmaGas
;
98
G4double*
m_sigmaFoil
;
99
};
100
101
#endif
AthMessaging.h
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
F
#define F(x, y, z)
Definition
MD5.cxx:112
Material
@ Material
Definition
MaterialTypes.h:8
TRTRadiatorParameters.h
AthMessaging::AthMessaging
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
Definition
AthMessaging.cxx:13
TRRegionXMLHandler
Definition
TRRegionXMLHandler.h:14
TRTRadiatorParameters
Definition
TRTRadiatorParameters.h:12
TRTTransitionRadiation::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &)
Definition
TRTTransitionRadiation.cxx:235
TRTTransitionRadiation::NeffNevski
G4double NeffNevski(const G4double &sigGas, const G4double &sigFoil, const G4double &GasThickness, const G4double &FoilThickness, const G4int &FoilsTraversed) const
Definition
TRTTransitionRadiation.cxx:450
TRTTransitionRadiation::m_sigmaGas
G4double * m_sigmaGas
Definition
TRTTransitionRadiation.h:97
TRTTransitionRadiation::AddRadiatorParameters
void AddRadiatorParameters(const TRTRadiatorParameters &p)
Definition
TRTTransitionRadiation.cxx:80
TRTTransitionRadiation::PostStepDoIt
G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep)
Definition
TRTTransitionRadiation.cxx:261
TRTTransitionRadiation::m_WplasmaGas
G4double m_WplasmaGas
Definition
TRTTransitionRadiation.h:87
TRTTransitionRadiation::XFinter
G4double XFinter(const G4double &X, const G4double *A, const G4double *F) const
Definition
TRTTransitionRadiation.cxx:629
TRTTransitionRadiation::XInteg
G4double XInteg(const G4double *yy, G4double *ss) const
Definition
TRTTransitionRadiation.cxx:613
TRTTransitionRadiation::operator=
TRTTransitionRadiation & operator=(const TRTTransitionRadiation &)
TRTTransitionRadiation::m_radiators
std::vector< TRTRadiatorParameters > m_radiators
Definition
TRTTransitionRadiation.h:81
TRTTransitionRadiation::~TRTTransitionRadiation
virtual ~TRTTransitionRadiation()
Definition
TRTTransitionRadiation.cxx:70
TRTTransitionRadiation::XEmitanNevski
G4double XEmitanNevski(const G4double &PhotonEnergy, const G4double &Gamma, const G4double &GasThickness, const G4double &FoilThickness) const
Definition
TRTTransitionRadiation.cxx:486
TRTTransitionRadiation::NeffArtru
G4double NeffArtru(const G4double &sigGas, const G4double &sigFoil, const G4double &GasThickness, const G4double &FoilThickness, const G4int &FoilsTraversed) const
Definition
TRTTransitionRadiation.cxx:467
TRTTransitionRadiation::m_NumBins
G4int m_NumBins
Definition
TRTTransitionRadiation.h:85
TRTTransitionRadiation::m_om
G4double * m_om
Definition
TRTTransitionRadiation.h:95
TRTTransitionRadiation::m_EkinMin
G4double m_EkinMin
Definition
TRTTransitionRadiation.h:91
TRTTransitionRadiation::XEmitanArtru
G4double XEmitanArtru(const G4double &PhotonEnergy, const G4double &Gamma, const G4double &GasThickness, const G4double &FoilThickness) const
Definition
TRTTransitionRadiation.cxx:542
TRTTransitionRadiation::m_Omg
G4double * m_Omg
Definition
TRTTransitionRadiation.h:96
TRTTransitionRadiation::m_xmlfilename
const std::string m_xmlfilename
Definition
TRTTransitionRadiation.h:80
TRTTransitionRadiation::TRTTransitionRadiation
TRTTransitionRadiation(const G4String &processName="TransitionRadiation", const std::string &xmlfilename="TRgeomodelgeometry.xml")
Definition
TRTTransitionRadiation.cxx:47
TRTTransitionRadiation::Initialize
void Initialize()
Definition
TRTTransitionRadiation.cxx:93
TRTTransitionRadiation::m_MinEnergyTR
G4double m_MinEnergyTR
Definition
TRTTransitionRadiation.h:83
TRTTransitionRadiation::m_Ey
G4double * m_Ey
Definition
TRTTransitionRadiation.h:93
TRTTransitionRadiation::m_XMLhandler
TRRegionXMLHandler * m_XMLhandler
Definition
TRTTransitionRadiation.h:79
TRTTransitionRadiation::m_sigmaFoil
G4double * m_sigmaFoil
Definition
TRTTransitionRadiation.h:98
TRTTransitionRadiation::GetMeanFreePath
G4double GetMeanFreePath(const G4Track &aTrack, G4double, G4ForceCondition *)
Definition
TRTTransitionRadiation.cxx:245
TRTTransitionRadiation::ComputePhotoAbsCof
G4double ComputePhotoAbsCof(const G4Material *Material, const G4double &GammaEnergy) const
Definition
TRTTransitionRadiation.cxx:657
TRTTransitionRadiation::m_Sr
G4double * m_Sr
Definition
TRTTransitionRadiation.h:94
TRTTransitionRadiation::m_WplasmaFoil
G4double m_WplasmaFoil
Definition
TRTTransitionRadiation.h:88
TRTTransitionRadiation::m_MaxEnergyTR
G4double m_MaxEnergyTR
Definition
TRTTransitionRadiation.h:84
TRTTransitionRadiation::TRTTransitionRadiation
TRTTransitionRadiation(const TRTTransitionRadiation &)
TRTTransitionRadiation::m_GammaMin
G4double m_GammaMin
Definition
TRTTransitionRadiation.h:90
A
hold the test vectors and ease the comparison
Generated on
for ATLAS Offline Software by
1.17.0