Geant4-11
Public Member Functions | Protected Attributes | Private Attributes
GVFlashShowerParameterisation Class Referenceabstract

#include <GVFlashShowerParameterisation.hh>

Inheritance diagram for GVFlashShowerParameterisation:
GFlashHomoShowerParameterisation GFlashSamplingShowerParameterisation

Public Member Functions

virtual void ComputeLongitudinalParameters (G4double y)=0
 
virtual void ComputeRadialParameters (G4double y, G4double Tau)=0
 
virtual G4double ComputeTau (G4double LongitudinalPosition)=0
 
G4double gam (G4double x, G4double a) const
 
virtual void GenerateEnergyProfile (G4double y)=0
 
virtual G4double GenerateExponential (G4double Energy)=0
 
virtual void GenerateLongitudinalProfile (G4double Energy)=0
 
virtual void GenerateNSpotProfile (G4double y)=0
 
G4double GeneratePhi ()
 
virtual G4double GenerateRadius (G4int ispot, G4double Energy, G4double LongitudinalPosition)=0
 
virtual G4double GetAveR90 ()=0
 
virtual G4double GetAveR99 ()=0
 
virtual G4double GetAveT90 ()=0
 
virtual G4double GetAveT99 ()=0
 
virtual G4double GetAveTmx ()=0
 
virtual G4double GetEc ()=0
 
G4double GetEffA (const G4Material *material)
 
G4double GetEffZ (const G4Material *material)
 
virtual G4double GetNspot ()=0
 
virtual G4double GetRm ()=0
 
virtual G4double GetX0 ()=0
 
 GVFlashShowerParameterisation ()
 
virtual G4double IntegrateEneLongitudinal (G4double LongitudinalStep)=0
 
virtual G4double IntegrateNspLongitudinal (G4double LongitudinalStep)=0
 
void PrintMaterial (const G4Material *mat)
 
virtual ~GVFlashShowerParameterisation ()
 

Protected Attributes

G4double A
 
G4double density
 
G4double Ec
 
G4double NSpot
 
G4double Rm
 
GVFlashHomoShowerTuningthePar
 
G4double X0
 
G4double Z
 

Private Attributes

MyGammafGamma
 

Detailed Description

Definition at line 50 of file GVFlashShowerParameterisation.hh.

Constructor & Destructor Documentation

◆ GVFlashShowerParameterisation()

GVFlashShowerParameterisation::GVFlashShowerParameterisation ( )

◆ ~GVFlashShowerParameterisation()

GVFlashShowerParameterisation::~GVFlashShowerParameterisation ( )
virtual

Definition at line 54 of file GVFlashShowerParameterisation.cc.

55{
56 delete fGamma;
57}

References fGamma.

Member Function Documentation

◆ ComputeLongitudinalParameters()

virtual void GVFlashShowerParameterisation::ComputeLongitudinalParameters ( G4double  y)
pure virtual

◆ ComputeRadialParameters()

virtual void GVFlashShowerParameterisation::ComputeRadialParameters ( G4double  y,
G4double  Tau 
)
pure virtual

◆ ComputeTau()

virtual G4double GVFlashShowerParameterisation::ComputeTau ( G4double  LongitudinalPosition)
pure virtual

◆ gam()

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

◆ GenerateEnergyProfile()

virtual void GVFlashShowerParameterisation::GenerateEnergyProfile ( G4double  y)
pure virtual

◆ GenerateExponential()

virtual G4double GVFlashShowerParameterisation::GenerateExponential ( G4double  Energy)
pure virtual

◆ GenerateLongitudinalProfile()

virtual void GVFlashShowerParameterisation::GenerateLongitudinalProfile ( G4double  Energy)
pure virtual

◆ GenerateNSpotProfile()

virtual void GVFlashShowerParameterisation::GenerateNSpotProfile ( G4double  y)
pure virtual

◆ GeneratePhi()

G4double GVFlashShowerParameterisation::GeneratePhi ( )

Definition at line 115 of file GVFlashShowerParameterisation.cc.

116{
118 return Phi;
119}
static constexpr double twopi
Definition: G4SIunits.hh:56
double G4double
Definition: G4Types.hh:83
#define G4UniformRand()
Definition: Randomize.hh:52

References G4UniformRand, and twopi.

Referenced by GFlashShowerModel::ElectronDoIt().

◆ GenerateRadius()

virtual G4double GVFlashShowerParameterisation::GenerateRadius ( G4int  ispot,
G4double  Energy,
G4double  LongitudinalPosition 
)
pure virtual

◆ GetAveR90()

virtual G4double GVFlashShowerParameterisation::GetAveR90 ( )
pure virtual

◆ GetAveR99()

virtual G4double GVFlashShowerParameterisation::GetAveR99 ( )
pure virtual

◆ GetAveT90()

virtual G4double GVFlashShowerParameterisation::GetAveT90 ( )
pure virtual

◆ GetAveT99()

virtual G4double GVFlashShowerParameterisation::GetAveT99 ( )
pure virtual

◆ GetAveTmx()

virtual G4double GVFlashShowerParameterisation::GetAveTmx ( )
pure virtual

◆ GetEc()

virtual G4double GVFlashShowerParameterisation::GetEc ( )
pure virtual

◆ GetEffA()

G4double GVFlashShowerParameterisation::GetEffA ( const G4Material material)

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
static constexpr double g
Definition: G4SIunits.hh:168
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 GFlashSamplingShowerParameterisation::SetMaterial().

◆ GetEffZ()

G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material)

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 GFlashSamplingShowerParameterisation::SetMaterial().

◆ GetNspot()

virtual G4double GVFlashShowerParameterisation::GetNspot ( )
pure virtual

◆ GetRm()

virtual G4double GVFlashShowerParameterisation::GetRm ( )
pure virtual

◆ GetX0()

virtual G4double GVFlashShowerParameterisation::GetX0 ( )
pure virtual

◆ IntegrateEneLongitudinal()

virtual G4double GVFlashShowerParameterisation::IntegrateEneLongitudinal ( G4double  LongitudinalStep)
pure virtual

◆ IntegrateNspLongitudinal()

virtual G4double GVFlashShowerParameterisation::IntegrateNspLongitudinal ( G4double  LongitudinalStep)
pure virtual

◆ PrintMaterial()

void GVFlashShowerParameterisation::PrintMaterial ( const G4Material mat)

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}
static constexpr double MeV
Definition: G4SIunits.hh:200
static constexpr double cm
Definition: G4SIunits.hh:99
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
Definition: G4Material.hh:173

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

Referenced by GFlashHomoShowerParameterisation::GFlashHomoShowerParameterisation().

Field Documentation

◆ A

G4double GVFlashShowerParameterisation::A
protected

◆ density

G4double GVFlashShowerParameterisation::density
protected

◆ Ec

G4double GVFlashShowerParameterisation::Ec
protected

◆ fGamma

MyGamma* GVFlashShowerParameterisation::fGamma
private

◆ NSpot

G4double GVFlashShowerParameterisation::NSpot
protected

Definition at line 93 of file GVFlashShowerParameterisation.hh.

◆ Rm

G4double GVFlashShowerParameterisation::Rm
protected

◆ thePar

GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar
protected

Definition at line 89 of file GVFlashShowerParameterisation.hh.

◆ X0

G4double GVFlashShowerParameterisation::X0
protected

◆ Z

G4double GVFlashShowerParameterisation::Z
protected

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