Geant4-11
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
GFlashSamplingShowerParameterisation Class Reference

#include <GFlashSamplingShowerParameterisation.hh>

Inheritance diagram for GFlashSamplingShowerParameterisation:
GVFlashShowerParameterisation

Public Member Functions

G4double ApplySampling (const G4double DEne, const G4double Energy)
 
void ComputeRadialParameters (G4double y, G4double Tau)
 
G4double ComputeTau (G4double LongitudinalPosition)
 
void ComputeZAX0EFFetc ()
 
G4double gam (G4double x, G4double a) const
 
G4double GenerateExponential (G4double Energy)
 
void GenerateLongitudinalProfile (G4double Energy)
 
G4double GeneratePhi ()
 
G4double GenerateRadius (G4int ispot, G4double Energy, G4double LongitudinalPosition)
 
G4double GetAveR90 ()
 
G4double GetAveR99 ()
 
G4double GetAveT90 ()
 
G4double GetAveT99 ()
 
G4double GetAveTmx ()
 
G4double GetEc ()
 
G4double GetEffA (const G4Material *material)
 
G4double GetEffZ (const G4Material *material)
 
G4double GetNspot ()
 
G4double GetRm ()
 
G4double GetX0 ()
 
 GFlashSamplingShowerParameterisation (G4Material *aMat1, G4Material *aMat2, G4double d1, G4double d2, GFlashSamplingShowerTuning *aPar=0)
 
G4double IntegrateEneLongitudinal (G4double LongitudinalStep)
 
G4double IntegrateNspLongitudinal (G4double LongitudinalStep)
 
void PrintMaterial (const G4Material *mat)
 
void SetMaterial (G4Material *mat1, G4Material *mat2)
 
 ~GFlashSamplingShowerParameterisation ()
 

Protected Attributes

G4double A
 
G4double density
 
G4double Ec
 
G4double Rm
 
G4double X0
 
G4double Z
 

Private Member Functions

void ComputeLongitudinalParameters (G4double y)
 
void GenerateEnergyProfile (G4double y)
 
void GenerateNSpotProfile (G4double y)
 

Private Attributes

G4double A1
 
G4double A2
 
G4double Aeff
 
G4double Alpha
 
G4double Alphah
 
G4double AlphaNSpot
 
G4double AveLogAlpha
 
G4double AveLogAlphah
 
G4double AveLogTmax
 
G4double AveLogTmaxh
 
G4double Beta
 
G4double Betah
 
G4double BetaNSpot
 
G4double ConstantResolution
 
G4double d1
 
G4double d2
 
G4double density1
 
G4double density2
 
G4double Ec1
 
G4double Ec2
 
G4double Eceff
 
G4double ehat
 
MyGammafGamma
 
G4double Fs
 
G4Materialmaterial1
 
G4Materialmaterial2
 
G4double NoiseResolution
 
G4double NSpot
 
G4double ParAveA1
 
G4double ParAveA2
 
G4double ParAveA3
 
G4double ParAveT1
 
G4double ParAveT2
 
G4double ParRC1
 
G4double ParRC2
 
G4double ParRC3
 
G4double ParRC4
 
G4double ParRho1
 
G4double ParRho2
 
G4double ParRT1
 
G4double ParRT2
 
G4double ParRT3
 
G4double ParRT4
 
G4double ParRT5
 
G4double ParRT6
 
G4double ParsAveA1
 
G4double ParsAveA2
 
G4double ParsAveT1
 
G4double ParsAveT2
 
G4double ParSigLogA1
 
G4double ParSigLogA2
 
G4double ParSigLogT1
 
G4double ParSigLogT2
 
G4double ParsRC1
 
G4double ParsRC2
 
G4double ParsRho1
 
G4double ParsRho2
 
G4double ParsRT1
 
G4double ParsRT2
 
G4double ParsSigLogA1
 
G4double ParsSigLogA2
 
G4double ParsSigLogT1
 
G4double ParsSigLogT2
 
G4double ParsSpotA1
 
G4double ParsSpotA2
 
G4double ParsSpotN1
 
G4double ParsSpotN2
 
G4double ParsSpotT1
 
G4double ParsSpotT2
 
G4double ParsWC1
 
G4double ParsWC2
 
G4double ParWC1
 
G4double ParWC2
 
G4double ParWC3
 
G4double ParWC4
 
G4double ParWC5
 
G4double ParWC6
 
G4double RadiusCore
 
G4double RadiusTail
 
G4double Rho
 
G4double Rhoeff
 
G4double Rhoh
 
G4double Rm1
 
G4double Rm2
 
G4double Rmeff
 
G4double SamplingResolution
 
G4double SigmaLogAlpha
 
G4double SigmaLogAlphah
 
G4double SigmaLogTmax
 
G4double SigmaLogTmaxh
 
GFlashSamplingShowerTuningthePar
 
G4double Tmax
 
G4double Tmaxh
 
G4double TNSpot
 
G4double WeightCore
 
G4double X01
 
G4double X02
 
G4double X0eff
 
G4double Z1
 
G4double Z2
 
G4double Zeff
 

Detailed Description

Definition at line 49 of file GFlashSamplingShowerParameterisation.hh.

Constructor & Destructor Documentation

◆ GFlashSamplingShowerParameterisation()

GFlashSamplingShowerParameterisation::GFlashSamplingShowerParameterisation ( G4Material aMat1,
G4Material aMat2,
G4double  d1,
G4double  d2,
GFlashSamplingShowerTuning aPar = 0 
)
Parameters
aPar
aMat1passive material,
dd1- passive layer thickness
aMat2active material,
dd2- acive layer thickness

Definition at line 46 of file GFlashSamplingShowerParameterisation.cc.

51 ParAveT2(0.), ParSigLogT1(0.), ParSigLogT2(0.),
52 ParSigLogA1(0.), ParSigLogA2(0.), ParRho1(0.), ParRho2(0.), ParsAveA2(0.),
54 Rhoh(0.), Alphah(0.), Tmaxh(0.), Betah(0.), AveLogAlpha(0.), AveLogTmax(0.),
55 SigmaLogAlpha(0.), SigmaLogTmax(0.), Rho(0.), Alpha(0.), Tmax(0.), Beta(0.)
56{
57 if(!aPar) {
59 } else {
60 thePar = aPar;
61 }
62
63 SetMaterial(aMat1,aMat2 );
64 d1=dd1;
65 d2=dd2;
66
67 // Longitudinal Coefficients for a homogenious calo
68
69 // shower max
70 ParAveT1 = thePar->ParAveT1(); // ln (ln y -0.812)
71 ParAveA1 = thePar->ParAveA1(); // ln a (0.81 + (0.458 + 2.26/Z)ln y)
74 // Variance of shower max sampling
75 ParSigLogT1 = thePar->ParsSigLogT1(); // Sigma T1 (-1.4 + 1.26 ln y)**-1 --> bug : these two lines were missing,
76 ParSigLogT2 = thePar->ParsSigLogT2(); // leaving ParSigLogT1, ParSigLogT2 as 0.0
77 // variance of 'alpha'
78 ParSigLogA1 = thePar->ParSigLogA1(); // Sigma a (-0.58 + 0.86 ln y)**-1 --> bug : these two lines were missing
79 ParSigLogA2 = thePar->ParSigLogA2(); // leaving ParSigLogA1 ParSigLogAé as 0.0
80 // correlation alpha%T
81 ParRho1 = thePar->ParRho1(); // Rho = 0.705 -0.023 ln y --> bug : these two lines were missing,
82 ParRho2 = thePar->ParRho2(); // leaving ParRho1 and ParRho2 being 0.0
83 // Sampling
84 ParsAveT1 = thePar->ParsAveT1(); // T_sam = log(exp( log T_hom) + t1*Fs-1 + t2*(1-ehat));
87 // Variance of shower max sampling
88 ParsSigLogT1 = thePar->ParsSigLogT1(); // Sigma T1 (-2.5 + 1.25 ln y)**-1 --> bug ParSigLogT1() was called instead of ParsSigLogT1(); Same for T2.
90 // variance of 'alpha'
91 ParsSigLogA1 = thePar->ParsSigLogA1(); // Sigma a (-0.82 + 0.79 ln y)**-1 --> bug ParSigLogA1() was called instead of ParsSigLogA1(); Same for A2
93 // correlation alpha%T
94 ParsRho1 = thePar->ParsRho1(); // Rho = 0.784 -0.023 ln y --> bug was using ParRho1() and ParRho2()
96
97 // Radial Coefficients
98 // r_C (tau)= z_1 +z_2 tau
99 // r_t (tau)= k1 (std::exp (k3(tau -k2 ))+std::exp (k_4 (tau- k_2))))
100 ParRC1 = thePar->ParRC1(); // z_1 = 0.0251 + 0.00319 ln E
101 ParRC2 = thePar->ParRC2();
102 ParRC3 = thePar->ParRC3(); // z_2 = 0.1162 + - 0.000381 Z
103 ParRC4 = thePar->ParRC4();
104
105 ParWC1 = thePar->ParWC1();
106 ParWC2 = thePar->ParWC2();
107 ParWC3 = thePar->ParWC3();
108 ParWC4 = thePar->ParWC4();
109 ParWC5 = thePar->ParWC5();
110 ParWC6 = thePar->ParWC6();
111 ParRT1 = thePar->ParRT1();
112 ParRT2 = thePar->ParRT2();
113 ParRT3 = thePar->ParRT3();
114 ParRT4 = thePar->ParRT4();
115 ParRT5 = thePar->ParRT5();
116 ParRT6 = thePar->ParRT6();
117
118 //additional sampling parameter
125
126 // Coeff for fluctuedted radial profiles for a sampling media
127 ParsSpotT1 = thePar->ParSpotT1(); // T_spot = T_hom =(0.698 + 0.00212)
129 ParsSpotA1 = thePar->ParSpotA1(); // a_spot= a_hom (0.639 + 0.00334)
131 ParsSpotN1 = thePar->ParSpotN1(); // N_Spot 93 * ln(Z) E ** 0.876
136
137 // Inits
138 NSpot = 0.00;
139 AlphaNSpot = 0.00;
140 TNSpot = 0.00;
141 BetaNSpot = 0.00;
142 RadiusCore = 0.00;
143 WeightCore = 0.00;
144 RadiusTail = 0.00;
146
147 G4cout << "/********************************************/ " << G4endl;
148 G4cout << " - GFlashSamplingShowerParameterisation::Constructor - " << G4endl;
149 G4cout << "/********************************************/ " << G4endl;
150}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void SetMaterial(G4Material *mat1, G4Material *mat2)

References AlphaNSpot, BetaNSpot, ComputeZAX0EFFetc(), ConstantResolution, GFlashSamplingShowerTuning::ConstantResolution(), d1, d2, G4cout, G4endl, NoiseResolution, GFlashSamplingShowerTuning::NoiseResolution(), NSpot, ParAveA1, GVFlashHomoShowerTuning::ParAveA1(), ParAveA2, GVFlashHomoShowerTuning::ParAveA2(), ParAveA3, GVFlashHomoShowerTuning::ParAveA3(), ParAveT1, GVFlashHomoShowerTuning::ParAveT1(), ParRC1, GVFlashHomoShowerTuning::ParRC1(), ParRC2, GVFlashHomoShowerTuning::ParRC2(), ParRC3, GVFlashHomoShowerTuning::ParRC3(), ParRC4, GVFlashHomoShowerTuning::ParRC4(), ParRho1, GVFlashHomoShowerTuning::ParRho1(), ParRho2, GVFlashHomoShowerTuning::ParRho2(), ParRT1, GVFlashHomoShowerTuning::ParRT1(), ParRT2, GVFlashHomoShowerTuning::ParRT2(), ParRT3, GVFlashHomoShowerTuning::ParRT3(), ParRT4, GVFlashHomoShowerTuning::ParRT4(), ParRT5, GVFlashHomoShowerTuning::ParRT5(), ParRT6, GVFlashHomoShowerTuning::ParRT6(), ParsAveA1, GFlashSamplingShowerTuning::ParsAveA1(), ParsAveT1, GFlashSamplingShowerTuning::ParsAveT1(), ParsAveT2, GFlashSamplingShowerTuning::ParsAveT2(), ParSigLogA1, GVFlashHomoShowerTuning::ParSigLogA1(), ParSigLogA2, GVFlashHomoShowerTuning::ParSigLogA2(), ParSigLogT1, ParSigLogT2, GVFlashHomoShowerTuning::ParSpotA1(), GVFlashHomoShowerTuning::ParSpotA2(), GVFlashHomoShowerTuning::ParSpotN1(), GVFlashHomoShowerTuning::ParSpotN2(), GVFlashHomoShowerTuning::ParSpotT1(), GVFlashHomoShowerTuning::ParSpotT2(), ParsRC1, GFlashSamplingShowerTuning::ParsRC1(), ParsRC2, GFlashSamplingShowerTuning::ParsRC2(), ParsRho1, GFlashSamplingShowerTuning::ParsRho1(), ParsRho2, GFlashSamplingShowerTuning::ParsRho2(), ParsRT1, GFlashSamplingShowerTuning::ParsRT1(), ParsRT2, GFlashSamplingShowerTuning::ParsRT2(), ParsSigLogA1, GFlashSamplingShowerTuning::ParsSigLogA1(), ParsSigLogA2, GFlashSamplingShowerTuning::ParsSigLogA2(), ParsSigLogT1, GFlashSamplingShowerTuning::ParsSigLogT1(), ParsSigLogT2, GFlashSamplingShowerTuning::ParsSigLogT2(), ParsSpotA1, ParsSpotA2, ParsSpotN1, ParsSpotN2, ParsSpotT1, ParsSpotT2, ParsWC1, GFlashSamplingShowerTuning::ParsWC1(), ParsWC2, GFlashSamplingShowerTuning::ParsWC2(), ParWC1, GVFlashHomoShowerTuning::ParWC1(), ParWC2, GVFlashHomoShowerTuning::ParWC2(), ParWC3, GVFlashHomoShowerTuning::ParWC3(), ParWC4, GVFlashHomoShowerTuning::ParWC4(), ParWC5, GVFlashHomoShowerTuning::ParWC5(), ParWC6, GVFlashHomoShowerTuning::ParWC6(), RadiusCore, RadiusTail, SamplingResolution, GFlashSamplingShowerTuning::SamplingResolution(), SetMaterial(), thePar, TNSpot, and WeightCore.

◆ ~GFlashSamplingShowerParameterisation()

GFlashSamplingShowerParameterisation::~GFlashSamplingShowerParameterisation ( )

Definition at line 154 of file GFlashSamplingShowerParameterisation.cc.

155{
156 delete thePar;
157}

References thePar.

Member Function Documentation

◆ ApplySampling()

G4double GFlashSamplingShowerParameterisation::ApplySampling ( const G4double  DEne,
const G4double  Energy 
)

Definition at line 322 of file GFlashSamplingShowerParameterisation.cc.

324{
325 G4double DEneFluctuated = DEne;
326 G4double Resolution = std::pow(SamplingResolution,2);
327
328 // +pow(NoiseResolution,2)/ //@@@@@@@@ FIXME
329 // Energy*(1.*MeV)+
330 // pow(ConstantResolution,2)*
331 // Energy/(1.*MeV);
332
333 if(Resolution >0.0 && DEne > 0.00)
334 {
335 G4float x1=DEne/Resolution;
336 G4float x2 = G4RandGamma::shoot(x1, 1.0)*Resolution;
337 DEneFluctuated=x2;
338 }
339 return DEneFluctuated;
340}
float G4float
Definition: G4Types.hh:84
double G4double
Definition: G4Types.hh:83
ThreeVector shoot(const G4int Ap, const G4int Af)

References SamplingResolution, and G4INCL::DeJongSpin::shoot().

◆ ComputeLongitudinalParameters()

void GFlashSamplingShowerParameterisation::ComputeLongitudinalParameters ( G4double  y)
privatevirtual

Implements GVFlashShowerParameterisation.

Definition at line 246 of file GFlashSamplingShowerParameterisation.cc.

247{
248 AveLogTmaxh = std::log( std::max( ParAveT1 + std::log(y), 0.1 ) ); // ok
249 AveLogAlphah = std::log( std::max( ParAveA1 + (ParAveA2+ParAveA3/Zeff)*std::log(y), 0.1 ) ); // ok
250 // hom
251 SigmaLogTmaxh = std::min( 0.5, 1.00/( ParSigLogT1 + ParSigLogT2*std::log(y) ) ); // ok
252 SigmaLogAlphah = std::min( 0.5, 1.00/( ParSigLogA1 + ParSigLogA2*std::log(y) ) ); // ok
253 Rhoh = ParRho1 + ParRho2*std::log(y); //ok
254 // if sampling
255 AveLogTmax = std::max( 0.1, std::log(std::exp(AveLogTmaxh) + ParsAveT1/Fs + ParsAveT2*(1-ehat)) ); // ok
256 AveLogAlpha = std::max( 0.1, std::log(std::exp(AveLogAlphah) + ParsAveA1/Fs) ); // ok
257 //
258 SigmaLogTmax = std::min( 0.5, 1.00 / (ParsSigLogT1 + ParsSigLogT2*std::log(y)) ); // ok
259 SigmaLogAlpha = std::min( 0.5, 1.00 / (ParsSigLogA1 + ParsSigLogA2*std::log(y)) ); // ok
260 Rho = ParsRho1 + ParsRho2*std::log(y); // ok
261
262
263 if (0) {
264 G4cout << " y = " << y << G4endl;
265 G4cout << " std::log(std::exp(AveLogTmaxh) + ParsAveT1/Fs + ParsAveT2*(1-ehat)) = "
266 << " std::log(" << std::exp(AveLogTmaxh) << " + " << ParsAveT1/Fs << " + " << ParsAveT2*(1-ehat) << ") = "
267 << " std::log(" << std::exp(AveLogTmaxh) << " + " << ParsAveT1 << "/" << Fs << " + " << ParsAveT2 << "*" << (1-ehat) << ") = "
268 << " std::log(" << std::exp(AveLogTmaxh) + ParsAveT1/Fs + ParsAveT2*(1-ehat) << ")" << G4endl;
269 G4cout << " AveLogTmaxh " << AveLogTmaxh << G4endl;
270 G4cout << " AveLogAlphah " << AveLogAlphah << G4endl;
271 G4cout << " SigmaLogTmaxh " << SigmaLogTmaxh << G4endl;
272 G4cout << " 1.00/( ParSigLogT1 + ParSigLogT2*std::log(y) ) = " << 1.00 << "/" << ( ParSigLogT1 + ParSigLogT2*std::log(y) ) << " = "
273 << 1.00 << "/" << "(" << ParSigLogT1 << " + " << ParSigLogT2*std::log(y) << " ) = "
274 << 1.00 << "/" << "(" << ParSigLogT1 << " + " << ParSigLogT2 << "*" << std::log(y) << " ) "
275 << G4endl;
276 G4cout << " SigmaLogAlphah " << SigmaLogAlphah << G4endl;
277 G4cout << " Rhoh " << Rhoh << G4endl;
278 G4cout << " AveLogTmax " << AveLogTmax << G4endl;
279 G4cout << " AveLogAlpha " << AveLogAlpha << G4endl;
280 G4cout << " SigmaLogTmax " << SigmaLogTmax << G4endl;
281 G4cout << " SigmaLogAlpha " << SigmaLogAlpha << G4endl;
282 G4cout << " Rho " << Rho << G4endl;
283 }
284}
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments

References AveLogAlpha, AveLogAlphah, AveLogTmax, AveLogTmaxh, ehat, Fs, G4cout, G4endl, G4INCL::Math::max(), G4INCL::Math::min(), ParAveA1, ParAveA2, ParAveA3, ParAveT1, ParRho1, ParRho2, ParsAveA1, ParsAveT1, ParsAveT2, ParSigLogA1, ParSigLogA2, ParSigLogT1, ParSigLogT2, ParsRho1, ParsRho2, ParsSigLogA1, ParsSigLogA2, ParsSigLogT1, ParsSigLogT2, Rho, Rhoh, SigmaLogAlpha, SigmaLogAlphah, SigmaLogTmax, SigmaLogTmaxh, and Zeff.

Referenced by GenerateLongitudinalProfile().

◆ ComputeRadialParameters()

void GFlashSamplingShowerParameterisation::ComputeRadialParameters ( G4double  y,
G4double  Tau 
)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 411 of file GFlashSamplingShowerParameterisation.cc.

413{
414 G4double z1 = ParRC1 + ParRC2* std::log(Energy/GeV); //ok
415 G4double z2 = ParRC3+ParRC4*Zeff; //ok
416 RadiusCore = z1 + z2 * Tau; //ok
417 G4double p1 = ParWC1+ParWC2*Zeff; //ok
418 G4double p2 = ParWC3+ParWC4*Zeff; //ok
419 G4double p3 = ParWC5+ParWC6*std::log(Energy/GeV); //ok
420 WeightCore = p1 * std::exp( (p2-Tau)/p3- std::exp( (p2-Tau) /p3) ); //ok
421
422 G4double k1 = ParRT1+ParRT2*Zeff; // ok
423 G4double k2 = ParRT3; // ok
424 G4double k3 = ParRT4; // ok
425 G4double k4 = ParRT5+ParRT6* std::log(Energy/GeV); // ok
426
427 RadiusTail = k1*(std::exp(k3*(Tau-k2))
428 + std::exp(k4*(Tau-k2)) ); //ok
429
430 // sampling calorimeter
431
432 RadiusCore = RadiusCore + ParsRC1*(1-ehat) + ParsRC2/Fs*std::exp(-Tau); //ok
434 * (ParsWC1+ParsWC2/Fs * std::exp(-std::pow((Tau-1.),2))); //ok
435 RadiusTail = RadiusTail + (1-ehat)* ParsRT1+ ParsRT2/Fs *std::exp(-Tau); //ok
436}
static constexpr double GeV
Definition: G4SIunits.hh:203

References ehat, Fs, GeV, ParRC1, ParRC2, ParRC3, ParRC4, ParRT1, ParRT2, ParRT3, ParRT4, ParRT5, ParRT6, ParsRC1, ParsRC2, ParsRT1, ParsRT2, ParsWC1, ParsWC2, ParWC1, ParWC2, ParWC3, ParWC4, ParWC5, ParWC6, RadiusCore, RadiusTail, WeightCore, and Zeff.

Referenced by GenerateRadius().

◆ ComputeTau()

G4double GFlashSamplingShowerParameterisation::ComputeTau ( G4double  LongitudinalPosition)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 400 of file GFlashSamplingShowerParameterisation.cc.

402{
403 G4double tau = LongitudinalPosition / Tmax/ X0eff //<t> = T* a /(a - 1)
404 * (Alpha-1.00) /Alpha
405 * std::exp(AveLogAlpha)/(std::exp(AveLogAlpha)-1.); //ok
406 return tau;
407}

References Alpha, AveLogAlpha, Tmax, and X0eff.

Referenced by GenerateRadius().

◆ ComputeZAX0EFFetc()

void GFlashSamplingShowerParameterisation::ComputeZAX0EFFetc ( )

Definition at line 185 of file GFlashSamplingShowerParameterisation.cc.

186{
187 G4cout << "/************ ComputeZAX0EFFetc ************/" << G4endl;
188 G4cout << " - GFlashSamplingShowerParameterisation::Material - " << G4endl;
189
190 G4double Es = 21*MeV; //constant
191
192 // material and geometry parameters for a sampling calorimeter
193 G4double denominator = (d1*density1 + d2*density2);
194 G4double W1 = (d1*density1) / denominator;
195 G4double W2 = (d2*density2) / denominator;
196 Zeff = ( W1*Z1 ) + ( W2*Z2 ); //X0*Es/Ec;
197 Aeff = ( W1*A1 ) + ( W2*A2 );
198 Rhoeff = ( ( d1*density1 ) + ( d2*density2 ) ) / ( d1 + d2 ); // --> was G4double ( d2 + d1 );
199 X0eff = (W1 * Rhoeff) / (X01 * density1) + (W2 * Rhoeff) / (X02 * density2 );
200 X0eff = 1./ X0eff;
201 Rmeff = 1./ ( ( ((W1*Ec1)/X01) + ((W2*Ec2)/X02) ) / Es ) ;
202 Eceff = X0eff * ( (W1*Ec1)/X01 + (W2*Ec2)/X02 );
203 Fs = X0eff/(d1+d2);// --> was G4double ((d1/mm )+(d2/mm) ); Can't understand if dividing by mm makes sense... looks weird.
204 ehat = ( 1. / ( 1 + 0.007*(Z1- Z2) ) );
205
206 G4cout << "W1= " << W1 << G4endl;
207 G4cout << "W2= " << W2 << G4endl;
208 G4cout << "effective quantities Zeff = "<<Zeff<< G4endl;
209 G4cout << "effective quantities Aeff = "<<Aeff<< G4endl;
210 G4cout << "effective quantities Rhoeff = "<<Rhoeff/g *cm3<<" g/cm3" << G4endl;
211 G4cout << "effective quantities X0eff = "<<X0eff/cm <<" cm" << G4endl;
212
213 X0eff = X0eff * Rhoeff;
214
215 G4cout << "effective quantities X0eff = "<<X0eff/g*cm2 <<" g/cm2" << G4endl;
216 X0eff = X0eff /Rhoeff;
217 G4cout << "effective quantities RMeff = "<<Rmeff/cm<<" cm" << G4endl;
218 Rmeff = Rmeff* Rhoeff;
219 G4cout << "effective quantities RMeff = "<<Rmeff/g *cm2<<" g/cm2" << G4endl;
220 Rmeff = Rmeff/ Rhoeff;
221 G4cout << "effective quantities Eceff = "<<Eceff/MeV<< " MeV"<< G4endl;
222 G4cout << "effective quantities Fs = "<<Fs<<G4endl;
223 G4cout << "effective quantities ehat = "<<ehat<<G4endl;
224 G4cout << "/********************************************/ " <<G4endl;
225}
static constexpr double cm3
Definition: G4SIunits.hh:101
static constexpr double cm2
Definition: G4SIunits.hh:100
static constexpr double g
Definition: G4SIunits.hh:168
static constexpr double MeV
Definition: G4SIunits.hh:200
static constexpr double cm
Definition: G4SIunits.hh:99

References A1, A2, Aeff, cm, cm2, cm3, d1, d2, density1, density2, Ec1, Ec2, Eceff, ehat, Fs, g, G4cout, G4endl, MeV, Rhoeff, Rmeff, X01, X02, X0eff, Z1, Z2, and Zeff.

Referenced by GFlashSamplingShowerParameterisation().

◆ gam()

G4double GVFlashShowerParameterisation::gam ( G4double  x,
G4double  a 
) const
inherited

◆ GenerateEnergyProfile()

void GFlashSamplingShowerParameterisation::GenerateEnergyProfile ( G4double  y)
privatevirtual

Implements GVFlashShowerParameterisation.

Definition at line 288 of file GFlashSamplingShowerParameterisation.cc.

289{
290 G4double Correlation1 = std::sqrt( (1+Rho )/2 );
291 G4double Correlation2 = std::sqrt( (1-Rho )/2 );
292 G4double Correlation1h = std::sqrt( (1+Rhoh)/2 );
293 G4double Correlation2h = std::sqrt( (1-Rhoh)/2 );
294 G4double Random1 = G4RandGauss::shoot();
295 G4double Random2 = G4RandGauss::shoot();
296
297 Tmax = std::max( 1., std::exp( AveLogTmax + SigmaLogTmax * (Correlation1*Random1 + Correlation2*Random2) ) );
298 Alpha = std::max( 1.1, std::exp( AveLogAlpha + SigmaLogAlpha * (Correlation1*Random1 - Correlation2*Random2) ) );
299 Beta = (Alpha-1.00)/Tmax;
300 //Parameters for Enenrgy Profile including correaltion and sigmas
301 Tmaxh = std::exp( AveLogTmaxh + SigmaLogTmaxh *
302 (Correlation1h*Random1 + Correlation2h*Random2) );
303 Alphah = std::exp( AveLogAlphah + SigmaLogAlphah *
304 (Correlation1h*Random1 - Correlation2h*Random2) );
305 Betah = (Alphah-1.00)/Tmaxh;
306}

References Alpha, Alphah, AveLogAlpha, AveLogAlphah, AveLogTmax, AveLogTmaxh, Beta, Betah, G4INCL::Math::max(), Rho, Rhoh, G4INCL::DeJongSpin::shoot(), SigmaLogAlpha, SigmaLogAlphah, SigmaLogTmax, SigmaLogTmaxh, Tmax, and Tmaxh.

Referenced by GenerateLongitudinalProfile().

◆ GenerateExponential()

G4double GFlashSamplingShowerParameterisation::GenerateExponential ( G4double  Energy)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 440 of file GFlashSamplingShowerParameterisation.cc.

442{
443 G4double ParExp1 = 9./7.*X0eff;
444 G4double random = -ParExp1*G4RandExponential::shoot() ;
445 return random;
446}

References G4INCL::DeJongSpin::shoot(), and X0eff.

◆ GenerateLongitudinalProfile()

void GFlashSamplingShowerParameterisation::GenerateLongitudinalProfile ( G4double  Energy)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 229 of file GFlashSamplingShowerParameterisation.cc.

231{
232 if ((material1==0) || (material2 ==0))
233 {
234 G4Exception("GFlashSamplingShowerParameterisation::GenerateLongitudinalProfile()",
235 "InvalidSetup", FatalException, "No material initialized!");
236 }
237 G4double y = Energy/Eceff;
241}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

References ComputeLongitudinalParameters(), Eceff, FatalException, G4Exception(), GenerateEnergyProfile(), GenerateNSpotProfile(), material1, and material2.

◆ GenerateNSpotProfile()

void GFlashSamplingShowerParameterisation::GenerateNSpotProfile ( G4double  y)
privatevirtual

◆ GeneratePhi()

G4double GFlashSamplingShowerParameterisation::GeneratePhi ( )

◆ GenerateRadius()

G4double GFlashSamplingShowerParameterisation::GenerateRadius ( G4int  ispot,
G4double  Energy,
G4double  LongitudinalPosition 
)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 370 of file GFlashSamplingShowerParameterisation.cc.

372{
373 if(ispot < 1)
374 {
375 // Determine lateral parameters in the middle of the step.
376 // They depend on energy & position along step
377 //
378 G4double Tau = ComputeTau(LongitudinalPosition);
379 ComputeRadialParameters(Energy,Tau);
380 }
381
382 G4double Radius;
383 G4double Random1 = G4UniformRand();
384 G4double Random2 = G4UniformRand();
385 if(Random1 <WeightCore) //WeightCore = p < w_i
386 {
387 Radius = Rmeff * RadiusCore * std::sqrt( Random2/(1. - Random2) );
388 }
389 else
390 {
391 Radius = Rmeff * RadiusTail * std::sqrt( Random2/(1. - Random2) );
392 }
393 Radius = std::min(Radius,DBL_MAX);
394 return Radius;
395}
#define G4UniformRand()
Definition: Randomize.hh:52
G4double ComputeTau(G4double LongitudinalPosition)
#define DBL_MAX
Definition: templates.hh:62

References ComputeRadialParameters(), ComputeTau(), DBL_MAX, G4UniformRand, G4INCL::Math::min(), RadiusCore, RadiusTail, Rmeff, and WeightCore.

◆ GetAveR90()

G4double GFlashSamplingShowerParameterisation::GetAveR90 ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 76 of file GFlashSamplingShowerParameterisation.hh.

76{return (1.5 * Rmeff);} //ok

References Rmeff.

◆ GetAveR99()

G4double GFlashSamplingShowerParameterisation::GetAveR99 ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 75 of file GFlashSamplingShowerParameterisation.hh.

75{return (3.5 * Rmeff);}

References Rmeff.

◆ GetAveT90()

G4double GFlashSamplingShowerParameterisation::GetAveT90 ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 80 of file GFlashSamplingShowerParameterisation.hh.

80{return (2.5* X0eff* std::exp( AveLogTmax));}

References AveLogTmax, and X0eff.

◆ GetAveT99()

G4double GFlashSamplingShowerParameterisation::GetAveT99 ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 79 of file GFlashSamplingShowerParameterisation.hh.

79{return (X0eff*AveLogTmax/(AveLogAlpha-1.00));}

References AveLogAlpha, AveLogTmax, and X0eff.

◆ GetAveTmx()

G4double GFlashSamplingShowerParameterisation::GetAveTmx ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 78 of file GFlashSamplingShowerParameterisation.hh.

78{return (X0eff*std::exp(AveLogTmax));}

References AveLogTmax, and X0eff.

◆ GetEc()

G4double GFlashSamplingShowerParameterisation::GetEc ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 84 of file GFlashSamplingShowerParameterisation.hh.

84{return Eceff;}

References Eceff.

◆ GetEffA()

G4double GVFlashShowerParameterisation::GetEffA ( const G4Material material)
inherited

Definition at line 82 of file GVFlashShowerParameterisation.cc.

83{
84 // Returns A or effective A=sum(pi*Ai) (if compound/mixture)
85 // of given material
86 //
87 G4double a = 0.;
88 G4int nofElements = mat->GetNumberOfElements();
89 if (nofElements > 1) {
90 for (G4int i=0; i<nofElements; i++) {
91 G4double aOfElement = mat->GetElement(i)->GetA()/(g/mole);
92 G4double massFraction = mat->GetFractionVector()[i];
93 a += aOfElement*massFraction;
94 }
95 }
96 else {
97 a = mat->GetA()/(g/mole);
98 }
99 return a;
100}
static constexpr double mole
Definition: G4SIunits.hh:279
int G4int
Definition: G4Types.hh:85

References g, G4Element::GetA(), G4Material::GetA(), G4Material::GetElement(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), and mole.

Referenced by GFlashHomoShowerParameterisation::SetMaterial(), and SetMaterial().

◆ GetEffZ()

G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material)
inherited

Definition at line 59 of file GVFlashShowerParameterisation.cc.

60{
61 // Returns Z or effective Z=sum(pi*Zi) (if compound/mixture)
62 // of given material
63 //
64 G4double z = 0.;
65 G4int nofElements = mat->GetNumberOfElements();
66 if (nofElements > 1)
67 {
68 for (G4int i=0; i<nofElements; i++) {
69 G4double zOfElement = mat->GetElement(i)->GetZ();
70 G4double massFraction = mat->GetFractionVector()[i];
71 // cout << mat->GetElement(i)->GetName()
72 // <<" Z= "<<zOfElement << " , Fraction= "<<massFraction <<endl;
73 z += zOfElement*massFraction;
74 }
75 }
76 else {
77 z = mat->GetZ();
78 }
79 return z;
80}

References G4Material::GetElement(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), G4Element::GetZ(), and G4Material::GetZ().

Referenced by GFlashHomoShowerParameterisation::SetMaterial(), and SetMaterial().

◆ GetNspot()

G4double GFlashSamplingShowerParameterisation::GetNspot ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 82 of file GFlashSamplingShowerParameterisation.hh.

82{return NSpot;}

References NSpot.

◆ GetRm()

G4double GFlashSamplingShowerParameterisation::GetRm ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 85 of file GFlashSamplingShowerParameterisation.hh.

85{return Rmeff;}

References Rmeff.

◆ GetX0()

G4double GFlashSamplingShowerParameterisation::GetX0 ( )
inlinevirtual

Implements GVFlashShowerParameterisation.

Definition at line 83 of file GFlashSamplingShowerParameterisation.hh.

83{return X0eff;}

References X0eff.

◆ IntegrateEneLongitudinal()

G4double GFlashSamplingShowerParameterisation::IntegrateEneLongitudinal ( G4double  LongitudinalStep)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 344 of file GFlashSamplingShowerParameterisation.cc.

346{
347 G4double LongitudinalStepInX0 = LongitudinalStep / X0eff;
348 G4float x1= Betah*LongitudinalStepInX0;
349 G4float x2= Alphah;
350 float x3 = gam(x1,x2);
351 G4double DEne=x3;
352 return DEne;
353}
G4double gam(G4double x, G4double a) const

References Alphah, Betah, GVFlashShowerParameterisation::gam(), and X0eff.

◆ IntegrateNspLongitudinal()

G4double GFlashSamplingShowerParameterisation::IntegrateNspLongitudinal ( G4double  LongitudinalStep)
virtual

Implements GVFlashShowerParameterisation.

Definition at line 357 of file GFlashSamplingShowerParameterisation.cc.

359{
360 G4double LongitudinalStepInX0 = LongitudinalStep / X0eff;
361 G4float x1 = BetaNSpot*LongitudinalStepInX0;
362 G4float x2 = AlphaNSpot;
363 G4float x3 = gam(x1,x2);
364 G4double DNsp = x3;
365 return DNsp;
366}

References AlphaNSpot, BetaNSpot, GVFlashShowerParameterisation::gam(), and X0eff.

◆ PrintMaterial()

void GVFlashShowerParameterisation::PrintMaterial ( const G4Material mat)
inherited

Definition at line 102 of file GVFlashShowerParameterisation.cc.

103{
104 G4cout<<"/********************************************/ " << G4endl;
105 G4cout<<" - GVFlashShowerParameterisation::Material - " << G4endl;
106 G4cout<<" Material : " << mat->GetName() << G4endl;
107 G4cout<<" Z = " << Z << G4endl;
108 G4cout<<" A = " << A << G4endl;
109 G4cout<<" X0 = " << X0/cm << " cm" << G4endl;
110 G4cout<<" Rm = " << Rm/cm << " cm" << G4endl;
111 G4cout<<" Ec = " << Ec/MeV << " MeV"<< G4endl;
112 G4cout<<"/********************************************/ " << G4endl;
113}
const G4String & GetName() const
Definition: G4Material.hh:173

References GVFlashShowerParameterisation::A, cm, GVFlashShowerParameterisation::Ec, G4cout, G4endl, G4Material::GetName(), MeV, GVFlashShowerParameterisation::Rm, GVFlashShowerParameterisation::X0, and GVFlashShowerParameterisation::Z.

Referenced by GFlashHomoShowerParameterisation::GFlashHomoShowerParameterisation().

◆ SetMaterial()

void GFlashSamplingShowerParameterisation::SetMaterial ( G4Material mat1,
G4Material mat2 
)

Definition at line 161 of file GFlashSamplingShowerParameterisation.cc.

163{
164 G4double Es = 21*MeV;
165 material1= mat1;
169 X01 = material1->GetRadlen();
170 Ec1 = 2.66 * std::pow((X01 * Z1 / A1),1.1);
171 Rm1 = X01*Es/Ec1;
172
173 material2= mat2;
177 X02 = material2->GetRadlen();
178 Ec2 = 2.66 * std::pow((X02 * Z2 / A2),1.1);
179 Rm2 = X02*Es/Ec2;
180 // PrintMaterial();
181}
G4double GetDensity() const
Definition: G4Material.hh:176
G4double GetRadlen() const
Definition: G4Material.hh:216
G4double GetEffZ(const G4Material *material)
G4double GetEffA(const G4Material *material)

References A1, A2, density1, density2, Ec1, Ec2, G4Material::GetDensity(), GVFlashShowerParameterisation::GetEffA(), GVFlashShowerParameterisation::GetEffZ(), G4Material::GetRadlen(), material1, material2, MeV, Rm1, Rm2, X01, X02, Z1, and Z2.

Referenced by GFlashSamplingShowerParameterisation().

Field Documentation

◆ A

G4double GVFlashShowerParameterisation::A
protectedinherited

◆ A1

G4double GFlashSamplingShowerParameterisation::A1
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ A2

G4double GFlashSamplingShowerParameterisation::A2
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Aeff

G4double GFlashSamplingShowerParameterisation::Aeff
private

Definition at line 96 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc().

◆ Alpha

G4double GFlashSamplingShowerParameterisation::Alpha
private

Definition at line 164 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeTau(), and GenerateEnergyProfile().

◆ Alphah

G4double GFlashSamplingShowerParameterisation::Alphah
private

◆ AlphaNSpot

G4double GFlashSamplingShowerParameterisation::AlphaNSpot
private

◆ AveLogAlpha

G4double GFlashSamplingShowerParameterisation::AveLogAlpha
private

◆ AveLogAlphah

G4double GFlashSamplingShowerParameterisation::AveLogAlphah
private

◆ AveLogTmax

G4double GFlashSamplingShowerParameterisation::AveLogTmax
private

◆ AveLogTmaxh

G4double GFlashSamplingShowerParameterisation::AveLogTmaxh
private

◆ Beta

G4double GFlashSamplingShowerParameterisation::Beta
private

Definition at line 164 of file GFlashSamplingShowerParameterisation.hh.

Referenced by GenerateEnergyProfile().

◆ Betah

G4double GFlashSamplingShowerParameterisation::Betah
private

◆ BetaNSpot

G4double GFlashSamplingShowerParameterisation::BetaNSpot
private

◆ ConstantResolution

G4double GFlashSamplingShowerParameterisation::ConstantResolution
private

◆ d1

G4double GFlashSamplingShowerParameterisation::d1
private

◆ d2

G4double GFlashSamplingShowerParameterisation::d2
private

◆ density

G4double GVFlashShowerParameterisation::density
protectedinherited

◆ density1

G4double GFlashSamplingShowerParameterisation::density1
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ density2

G4double GFlashSamplingShowerParameterisation::density2
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Ec

G4double GVFlashShowerParameterisation::Ec
protectedinherited

◆ Ec1

G4double GFlashSamplingShowerParameterisation::Ec1
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Ec2

G4double GFlashSamplingShowerParameterisation::Ec2
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Eceff

G4double GFlashSamplingShowerParameterisation::Eceff
private

◆ ehat

G4double GFlashSamplingShowerParameterisation::ehat
private

◆ fGamma

MyGamma* GVFlashShowerParameterisation::fGamma
privateinherited

◆ Fs

G4double GFlashSamplingShowerParameterisation::Fs
private

◆ material1

G4Material* GFlashSamplingShowerParameterisation::material1
private

◆ material2

G4Material * GFlashSamplingShowerParameterisation::material2
private

◆ NoiseResolution

G4double GFlashSamplingShowerParameterisation::NoiseResolution
private

◆ NSpot

G4double GFlashSamplingShowerParameterisation::NSpot
private

◆ ParAveA1

G4double GFlashSamplingShowerParameterisation::ParAveA1
private

◆ ParAveA2

G4double GFlashSamplingShowerParameterisation::ParAveA2
private

◆ ParAveA3

G4double GFlashSamplingShowerParameterisation::ParAveA3
private

◆ ParAveT1

G4double GFlashSamplingShowerParameterisation::ParAveT1
private

◆ ParAveT2

G4double GFlashSamplingShowerParameterisation::ParAveT2
private

Definition at line 111 of file GFlashSamplingShowerParameterisation.hh.

◆ ParRC1

G4double GFlashSamplingShowerParameterisation::ParRC1
private

◆ ParRC2

G4double GFlashSamplingShowerParameterisation::ParRC2
private

◆ ParRC3

G4double GFlashSamplingShowerParameterisation::ParRC3
private

◆ ParRC4

G4double GFlashSamplingShowerParameterisation::ParRC4
private

◆ ParRho1

G4double GFlashSamplingShowerParameterisation::ParRho1
private

◆ ParRho2

G4double GFlashSamplingShowerParameterisation::ParRho2
private

◆ ParRT1

G4double GFlashSamplingShowerParameterisation::ParRT1
private

◆ ParRT2

G4double GFlashSamplingShowerParameterisation::ParRT2
private

◆ ParRT3

G4double GFlashSamplingShowerParameterisation::ParRT3
private

◆ ParRT4

G4double GFlashSamplingShowerParameterisation::ParRT4
private

◆ ParRT5

G4double GFlashSamplingShowerParameterisation::ParRT5
private

◆ ParRT6

G4double GFlashSamplingShowerParameterisation::ParRT6
private

◆ ParsAveA1

G4double GFlashSamplingShowerParameterisation::ParsAveA1
private

◆ ParsAveA2

G4double GFlashSamplingShowerParameterisation::ParsAveA2
private

Definition at line 121 of file GFlashSamplingShowerParameterisation.hh.

◆ ParsAveT1

G4double GFlashSamplingShowerParameterisation::ParsAveT1
private

◆ ParsAveT2

G4double GFlashSamplingShowerParameterisation::ParsAveT2
private

◆ ParSigLogA1

G4double GFlashSamplingShowerParameterisation::ParSigLogA1
private

◆ ParSigLogA2

G4double GFlashSamplingShowerParameterisation::ParSigLogA2
private

◆ ParSigLogT1

G4double GFlashSamplingShowerParameterisation::ParSigLogT1
private

◆ ParSigLogT2

G4double GFlashSamplingShowerParameterisation::ParSigLogT2
private

◆ ParsRC1

G4double GFlashSamplingShowerParameterisation::ParsRC1
private

◆ ParsRC2

G4double GFlashSamplingShowerParameterisation::ParsRC2
private

◆ ParsRho1

G4double GFlashSamplingShowerParameterisation::ParsRho1
private

◆ ParsRho2

G4double GFlashSamplingShowerParameterisation::ParsRho2
private

◆ ParsRT1

G4double GFlashSamplingShowerParameterisation::ParsRT1
private

◆ ParsRT2

G4double GFlashSamplingShowerParameterisation::ParsRT2
private

◆ ParsSigLogA1

G4double GFlashSamplingShowerParameterisation::ParsSigLogA1
private

◆ ParsSigLogA2

G4double GFlashSamplingShowerParameterisation::ParsSigLogA2
private

◆ ParsSigLogT1

G4double GFlashSamplingShowerParameterisation::ParsSigLogT1
private

◆ ParsSigLogT2

G4double GFlashSamplingShowerParameterisation::ParsSigLogT2
private

◆ ParsSpotA1

G4double GFlashSamplingShowerParameterisation::ParsSpotA1
private

◆ ParsSpotA2

G4double GFlashSamplingShowerParameterisation::ParsSpotA2
private

◆ ParsSpotN1

G4double GFlashSamplingShowerParameterisation::ParsSpotN1
private

◆ ParsSpotN2

G4double GFlashSamplingShowerParameterisation::ParsSpotN2
private

◆ ParsSpotT1

G4double GFlashSamplingShowerParameterisation::ParsSpotT1
private

◆ ParsSpotT2

G4double GFlashSamplingShowerParameterisation::ParsSpotT2
private

◆ ParsWC1

G4double GFlashSamplingShowerParameterisation::ParsWC1
private

◆ ParsWC2

G4double GFlashSamplingShowerParameterisation::ParsWC2
private

◆ ParWC1

G4double GFlashSamplingShowerParameterisation::ParWC1
private

◆ ParWC2

G4double GFlashSamplingShowerParameterisation::ParWC2
private

◆ ParWC3

G4double GFlashSamplingShowerParameterisation::ParWC3
private

◆ ParWC4

G4double GFlashSamplingShowerParameterisation::ParWC4
private

◆ ParWC5

G4double GFlashSamplingShowerParameterisation::ParWC5
private

◆ ParWC6

G4double GFlashSamplingShowerParameterisation::ParWC6
private

◆ RadiusCore

G4double GFlashSamplingShowerParameterisation::RadiusCore
private

◆ RadiusTail

G4double GFlashSamplingShowerParameterisation::RadiusTail
private

◆ Rho

G4double GFlashSamplingShowerParameterisation::Rho
private

◆ Rhoeff

G4double GFlashSamplingShowerParameterisation::Rhoeff
private

Definition at line 96 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc().

◆ Rhoh

G4double GFlashSamplingShowerParameterisation::Rhoh
private

◆ Rm

G4double GVFlashShowerParameterisation::Rm
protectedinherited

◆ Rm1

G4double GFlashSamplingShowerParameterisation::Rm1
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by SetMaterial().

◆ Rm2

G4double GFlashSamplingShowerParameterisation::Rm2
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by SetMaterial().

◆ Rmeff

G4double GFlashSamplingShowerParameterisation::Rmeff
private

◆ SamplingResolution

G4double GFlashSamplingShowerParameterisation::SamplingResolution
private

◆ SigmaLogAlpha

G4double GFlashSamplingShowerParameterisation::SigmaLogAlpha
private

◆ SigmaLogAlphah

G4double GFlashSamplingShowerParameterisation::SigmaLogAlphah
private

◆ SigmaLogTmax

G4double GFlashSamplingShowerParameterisation::SigmaLogTmax
private

◆ SigmaLogTmaxh

G4double GFlashSamplingShowerParameterisation::SigmaLogTmaxh
private

◆ thePar

GFlashSamplingShowerTuning* GFlashSamplingShowerParameterisation::thePar
private

◆ Tmax

G4double GFlashSamplingShowerParameterisation::Tmax
private

Definition at line 164 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeTau(), and GenerateEnergyProfile().

◆ Tmaxh

G4double GFlashSamplingShowerParameterisation::Tmaxh
private

◆ TNSpot

G4double GFlashSamplingShowerParameterisation::TNSpot
private

◆ WeightCore

G4double GFlashSamplingShowerParameterisation::WeightCore
private

◆ X0

G4double GVFlashShowerParameterisation::X0
protectedinherited

◆ X01

G4double GFlashSamplingShowerParameterisation::X01
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ X02

G4double GFlashSamplingShowerParameterisation::X02
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ X0eff

G4double GFlashSamplingShowerParameterisation::X0eff
private

◆ Z

G4double GVFlashShowerParameterisation::Z
protectedinherited

◆ Z1

G4double GFlashSamplingShowerParameterisation::Z1
private

Definition at line 94 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Z2

G4double GFlashSamplingShowerParameterisation::Z2
private

Definition at line 95 of file GFlashSamplingShowerParameterisation.hh.

Referenced by ComputeZAX0EFFetc(), and SetMaterial().

◆ Zeff

G4double GFlashSamplingShowerParameterisation::Zeff
private

The documentation for this class was generated from the following files: