GVFlashShowerParameterisation Class Reference

#include <GVFlashShowerParameterisation.hh>

Inheritance diagram for GVFlashShowerParameterisation:

GFlashHomoShowerParameterisation GFlashSamplingShowerParameterisation

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

Definition at line 49 of file GVFlashShowerParameterisation.cc.

00050   : thePar(0), density(0.), A(0.), Z(0.), X0(0.), Ec(0.), Rm(0.), NSpot(0.)
00051 {
00052 }

GVFlashShowerParameterisation::~GVFlashShowerParameterisation (  )  [virtual]

Definition at line 54 of file GVFlashShowerParameterisation.cc.

00055 {
00056 }


Member Function Documentation

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

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

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

Definition at line 120 of file GVFlashShowerParameterisation.cc.

References MyGamma::Gamma().

Referenced by GFlashSamplingShowerParameterisation::IntegrateEneLongitudinal(), GFlashHomoShowerParameterisation::IntegrateEneLongitudinal(), GFlashSamplingShowerParameterisation::IntegrateNspLongitudinal(), and GFlashHomoShowerParameterisation::IntegrateNspLongitudinal().

00121 {
00122   static MyGamma theG;
00123   return  theG.Gamma(a, x); 
00124 }

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

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

Referenced by GFlashShowerModel::ModelTrigger().

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

G4double GVFlashShowerParameterisation::GeneratePhi (  ) 

Reimplemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

Definition at line 114 of file GVFlashShowerParameterisation.cc.

References G4UniformRand.

00115 {
00116   G4double Phi = twopi*G4UniformRand() ;
00117   return Phi;
00118 }

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetAveR90 (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetAveR99 (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetAveT90 (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetAveT99 (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetAveTmx (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetEc (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

G4double GVFlashShowerParameterisation::GetEffA ( const G4Material material  ) 

Definition at line 81 of file GVFlashShowerParameterisation.cc.

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

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

00082 {
00083   // Returns A or effective A=sum(pi*Ai) (if compound/mixture)
00084   // of given material
00085   //
00086   G4double a = 0.;
00087   G4int nofElements = mat->GetNumberOfElements();
00088   if (nofElements > 1) {
00089     for (G4int i=0; i<nofElements; i++) {
00090       G4double aOfElement = mat->GetElement(i)->GetA()/(g/mole);
00091       G4double massFraction = mat->GetFractionVector()[i];     
00092       a += aOfElement*massFraction;
00093     }
00094   }
00095   else { 
00096     a = mat->GetA()/(g/mole);
00097   }
00098   return a;
00099 }

G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material  ) 

Definition at line 58 of file GVFlashShowerParameterisation.cc.

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

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

00059 {
00060   // Returns Z or effective Z=sum(pi*Zi) (if compound/mixture)
00061   // of given material
00062   //
00063   G4double z = 0.;
00064   G4int nofElements = mat->GetNumberOfElements();
00065   if (nofElements > 1) 
00066   {
00067     for (G4int i=0; i<nofElements; i++) {
00068       G4double zOfElement = mat->GetElement(i)->GetZ();
00069       G4double massFraction = mat->GetFractionVector()[i];
00070       // cout << mat->GetElement(i)->GetName()
00071       //      <<" Z= "<<zOfElement << " , Fraction= "<<massFraction <<endl;
00072       z += zOfElement*massFraction;
00073     }
00074   }
00075   else { 
00076     z = mat->GetZ(); 
00077   }  
00078   return z;
00079 }

virtual G4double GVFlashShowerParameterisation::GetNspot (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetRm (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

virtual G4double GVFlashShowerParameterisation::GetX0 (  )  [pure virtual]

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

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

Implemented in GFlashHomoShowerParameterisation, and GFlashSamplingShowerParameterisation.

void GVFlashShowerParameterisation::PrintMaterial ( const G4Material mat  ) 

Definition at line 101 of file GVFlashShowerParameterisation.cc.

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

Referenced by GFlashHomoShowerParameterisation::GFlashHomoShowerParameterisation().

00102 {
00103   G4cout<<"/********************************************/ " << G4endl;
00104   G4cout<<"  - GVFlashShowerParameterisation::Material -  " << G4endl;
00105   G4cout<<"        Material : " << mat->GetName()  << G4endl;
00106   G4cout<<"   Z = "<< Z  << G4endl;
00107   G4cout<<"   A = "<< A  << G4endl;
00108   G4cout<<"   X0 = "<<X0/cm <<" cm" << G4endl;
00109   G4cout<<"    Rm= "<<Rm/cm <<" cm" << G4endl;
00110   G4cout<<"   Ec = "<<Ec/MeV << " MeV"<< G4endl;
00111   G4cout<<"/********************************************/ " << G4endl; 
00112 }


Field Documentation

G4double GVFlashShowerParameterisation::A [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

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

G4double GVFlashShowerParameterisation::density [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

Referenced by GFlashHomoShowerParameterisation::SetMaterial().

G4double GVFlashShowerParameterisation::Ec [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

Referenced by GFlashHomoShowerParameterisation::GenerateLongitudinalProfile(), GFlashHomoShowerParameterisation::GetEc(), PrintMaterial(), and GFlashHomoShowerParameterisation::SetMaterial().

G4double GVFlashShowerParameterisation::NSpot [protected]

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::Rm [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

Referenced by GFlashHomoShowerParameterisation::GenerateRadius(), GFlashHomoShowerParameterisation::GetAveR90(), GFlashHomoShowerParameterisation::GetAveR99(), GFlashHomoShowerParameterisation::GetRm(), PrintMaterial(), and GFlashHomoShowerParameterisation::SetMaterial().

GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar [protected]

Definition at line 88 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::X0 [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

Referenced by GFlashHomoShowerParameterisation::ComputeTau(), GFlashHomoShowerParameterisation::GenerateExponential(), GFlashHomoShowerParameterisation::GetAveT90(), GFlashHomoShowerParameterisation::GetAveT99(), GFlashHomoShowerParameterisation::GetAveTmx(), GFlashHomoShowerParameterisation::GetX0(), GFlashHomoShowerParameterisation::IntegrateEneLongitudinal(), GFlashHomoShowerParameterisation::IntegrateNspLongitudinal(), PrintMaterial(), and GFlashHomoShowerParameterisation::SetMaterial().

G4double GVFlashShowerParameterisation::Z [protected]

Definition at line 90 of file GVFlashShowerParameterisation.hh.

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


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:02 2013 for Geant4 by  doxygen 1.4.7