#include <G4RToEConvForPositron.hh>
Definition at line 43 of file G4RToEConvForPositron.hh.
◆ G4RToEConvForPositron()
G4RToEConvForPositron::G4RToEConvForPositron |
( |
| ) |
|
Definition at line 42 of file G4RToEConvForPositron.cc.
44{
47 {
48#ifdef G4VERBOSE
50 {
51 G4cout <<
"G4RToEConvForPositron::G4RToEConvForPositron() - ";
53 }
54#endif
55 }
56 else
57 {
59 }
60}
G4GLOB_DLL std::ostream G4cout
G4double GetPDGMass() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
G4int GetVerboseLevel() const
G4VRangeToEnergyConverter()
const G4ParticleDefinition * theParticle
◆ ~G4RToEConvForPositron()
G4RToEConvForPositron::~G4RToEConvForPositron |
( |
| ) |
|
|
virtual |
◆ ComputeLoss()
Implements G4VRangeToEnergyConverter.
Definition at line 70 of file G4RToEConvForPositron.cc.
72{
73 const G4double cbr1=0.02, cbr2=-5.7e-5, cbr3=1., cbr4=0.072;
74 const G4double Tlow=10.*keV, Thigh=1.*GeV;
75
76
77 if( std::fabs(AtomicNumber-
Z)>0.1 )
78 {
83 }
84
87
89 {
95 -(6.*
taul+1.5*tsq-
taul*(1.-tsq/3.)/t2
96 -tsq*(0.5-tsq/12.)/(t2*t2))/(t1*t1);
98 dEdx = twopi_mc2_rcl2*
Z*dEdx;
100 dEdx = clow/std::sqrt(KineticEnergy/
Mass);
101 }
102 else
103 {
109 - (6.*tau+1.5*tsq-tau*(1.-tsq/3.)/t2
110 -tsq*(0.5-tsq/12.)/(t2*t2))/(t1*t1);
111 dEdx = (std::log(2.*tau+4.)-2.*
ionpotlog+f)/beta2;
112 dEdx = twopi_mc2_rcl2*
Z*dEdx;
113
114
116 * (cbr3+cbr4*std::log(KineticEnergy/Thigh));
117 cbrem =
Z*(
Z+1.)*cbrem*tau/beta2;
119 dEdx += twopi_mc2_rcl2*cbrem;
120 }
121 return dEdx;
122}
◆ bremfactor
G4double G4RToEConvForPositron::bremfactor = 0.1 |
|
protected |
◆ ionpot
G4double G4RToEConvForPositron::ionpot = 0.0 |
|
protected |
◆ ionpotlog
G4double G4RToEConvForPositron::ionpotlog = -1.0e-10 |
|
protected |
◆ Mass
G4double G4RToEConvForPositron::Mass = 0.0 |
|
protected |
◆ taul
G4double G4RToEConvForPositron::taul = 0.0 |
|
protected |
G4double G4RToEConvForPositron::Z = -1.0 |
|
protected |
The documentation for this class was generated from the following files: