Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
GVFlashShowerParameterisation Class Referenceabstract

#include <GVFlashShowerParameterisation.hh>

+ Inheritance diagram for GVFlashShowerParameterisation:

Public Member Functions

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

Protected Attributes

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

Detailed Description

Definition at line 50 of file GVFlashShowerParameterisation.hh.

Constructor & Destructor Documentation

◆ GVFlashShowerParameterisation()

◆ ~GVFlashShowerParameterisation()

GVFlashShowerParameterisation::~GVFlashShowerParameterisation ( )
virtual

Definition at line 54 of file GVFlashShowerParameterisation.cc.

55{
56 delete fGamma;
57}

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()

◆ 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{
117 G4double Phi = twopi*G4UniformRand() ;
118 return Phi;
119}
double G4double
Definition G4Types.hh:83
#define G4UniformRand()
Definition Randomize.hh:52

◆ 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 = (G4int)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}
int G4int
Definition G4Types.hh:85

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 = (G4int)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}

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}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const

Referenced by GFlashHomoShowerParameterisation::GFlashHomoShowerParameterisation().

Member Data Documentation

◆ A

G4double GVFlashShowerParameterisation::A
protected

◆ density

G4double GVFlashShowerParameterisation::density
protected

◆ Ec

◆ NSpot

G4double GVFlashShowerParameterisation::NSpot
protected

Definition at line 93 of file GVFlashShowerParameterisation.hh.

◆ Rm

◆ thePar

GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar
protected

Definition at line 89 of file GVFlashShowerParameterisation.hh.

◆ X0

◆ Z


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