Geant4 9.6.0
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 49 of file GVFlashShowerParameterisation.hh.

Constructor & Destructor Documentation

◆ GVFlashShowerParameterisation()

◆ ~GVFlashShowerParameterisation()

GVFlashShowerParameterisation::~GVFlashShowerParameterisation ( )
virtual

Definition at line 54 of file GVFlashShowerParameterisation.cc.

55{
56}

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 114 of file GVFlashShowerParameterisation.cc.

115{
116 G4double Phi = twopi*G4UniformRand() ;
117 return Phi;
118}
double G4double
Definition: G4Types.hh:64
#define G4UniformRand()
Definition: Randomize.hh:53

◆ 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 81 of file GVFlashShowerParameterisation.cc.

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

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

◆ GetEffZ()

G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material)

Definition at line 58 of file GVFlashShowerParameterisation.cc.

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

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 101 of file GVFlashShowerParameterisation.cc.

102{
103 G4cout<<"/********************************************/ " << G4endl;
104 G4cout<<" - GVFlashShowerParameterisation::Material - " << G4endl;
105 G4cout<<" Material : " << mat->GetName() << G4endl;
106 G4cout<<" Z = "<< Z << G4endl;
107 G4cout<<" A = "<< A << G4endl;
108 G4cout<<" X0 = "<<X0/cm <<" cm" << G4endl;
109 G4cout<<" Rm= "<<Rm/cm <<" cm" << G4endl;
110 G4cout<<" Ec = "<<Ec/MeV << " MeV"<< G4endl;
111 G4cout<<"/********************************************/ " << G4endl;
112}
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
const G4String & GetName() const
Definition: G4Material.hh:177

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 92 of file GVFlashShowerParameterisation.hh.

◆ Rm

◆ thePar

GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar
protected

Definition at line 88 of file GVFlashShowerParameterisation.hh.

◆ X0

◆ Z


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