Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GVFlashShowerParameterisation Class Referenceabstract

#include <GVFlashShowerParameterisation.hh>

Inheritance diagram for GVFlashShowerParameterisation:
Collaboration 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 51 of file GVFlashShowerParameterisation.hh.

Constructor & Destructor Documentation

GVFlashShowerParameterisation::~GVFlashShowerParameterisation ( )
virtual

Definition at line 55 of file GVFlashShowerParameterisation.cc.

56 {
57  delete fGamma;
58 }

Member Function Documentation

virtual void GVFlashShowerParameterisation::ComputeLongitudinalParameters ( G4double  y)
pure virtual
virtual void GVFlashShowerParameterisation::ComputeRadialParameters ( G4double  y,
G4double  Tau 
)
pure virtual
virtual G4double GVFlashShowerParameterisation::ComputeTau ( G4double  LongitudinalPosition)
pure virtual
G4double GVFlashShowerParameterisation::gam ( G4double  x,
G4double  a 
) const

Definition at line 122 of file GVFlashShowerParameterisation.cc.

123 {
124  return fGamma->Gamma(a, x);
125 }
double Gamma(double z)
Definition: Gamma.cc:42

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void GVFlashShowerParameterisation::GenerateEnergyProfile ( G4double  y)
pure virtual
virtual G4double GVFlashShowerParameterisation::GenerateExponential ( G4double  Energy)
pure virtual
virtual void GVFlashShowerParameterisation::GenerateLongitudinalProfile ( G4double  Energy)
pure virtual

Implemented in GFlashSamplingShowerParameterisation, and GFlashHomoShowerParameterisation.

Here is the caller graph for this function:

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

Definition at line 116 of file GVFlashShowerParameterisation.cc.

117 {
118  G4double Phi = twopi*G4UniformRand() ;
119  return Phi;
120 }
static constexpr double twopi
Definition: G4SIunits.hh:76
#define G4UniformRand()
Definition: Randomize.hh:97
double G4double
Definition: G4Types.hh:76
virtual G4double GVFlashShowerParameterisation::GenerateRadius ( G4int  ispot,
G4double  Energy,
G4double  LongitudinalPosition 
)
pure virtual
virtual G4double GVFlashShowerParameterisation::GetAveR90 ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetAveR99 ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetAveT90 ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetAveT99 ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetAveTmx ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetEc ( )
pure virtual
G4double GVFlashShowerParameterisation::GetEffA ( const G4Material material)

Definition at line 83 of file GVFlashShowerParameterisation.cc.

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

Here is the call graph for this function:

Here is the caller graph for this function:

G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material)

Definition at line 60 of file GVFlashShowerParameterisation.cc.

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

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4double GVFlashShowerParameterisation::GetNspot ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetRm ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::GetX0 ( )
pure virtual
virtual G4double GVFlashShowerParameterisation::IntegrateEneLongitudinal ( G4double  LongitudinalStep)
pure virtual
virtual G4double GVFlashShowerParameterisation::IntegrateNspLongitudinal ( G4double  LongitudinalStep)
pure virtual
void GVFlashShowerParameterisation::PrintMaterial ( const G4Material mat)

Definition at line 103 of file GVFlashShowerParameterisation.cc.

104 {
105  G4cout<<"/********************************************/ " << G4endl;
106  G4cout<<" - GVFlashShowerParameterisation::Material - " << G4endl;
107  G4cout<<" Material : " << mat->GetName() << G4endl;
108  G4cout<<" Z = " << Z << G4endl;
109  G4cout<<" A = " << A << G4endl;
110  G4cout<<" X0 = " << X0/cm << " cm" << G4endl;
111  G4cout<<" Rm = " << Rm/cm << " cm" << G4endl;
112  G4cout<<" Ec = " << Ec/MeV << " MeV"<< G4endl;
113  G4cout<<"/********************************************/ " << G4endl;
114 }
const G4String & GetName() const
Definition: G4Material.hh:178
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
Definition: G4SIunits.hh:119
#define G4endl
Definition: G4ios.hh:61
static constexpr double MeV
Definition: G4SIunits.hh:214

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

G4double GVFlashShowerParameterisation::A
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::density
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::Ec
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::NSpot
protected

Definition at line 94 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::Rm
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar
protected

Definition at line 90 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::X0
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::Z
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.


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