Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes
GVFlashShowerParameterisation Class Referenceabstract

#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 ( )
GVFlashShowerParameterisation::~GVFlashShowerParameterisation ( )
virtual

Definition at line 54 of file GVFlashShowerParameterisation.cc.

55 {
56 }

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
virtual void GVFlashShowerParameterisation::GenerateEnergyProfile ( G4double  y)
pure virtual
virtual G4double GVFlashShowerParameterisation::GenerateExponential ( G4double  Energy)
pure virtual
virtual void GVFlashShowerParameterisation::GenerateLongitudinalProfile ( G4double  Energy)
pure virtual
virtual void GVFlashShowerParameterisation::GenerateNSpotProfile ( G4double  y)
pure virtual
G4double GVFlashShowerParameterisation::GeneratePhi ( )

Definition at line 114 of file GVFlashShowerParameterisation.cc.

References G4UniformRand, and python.hepunit::twopi.

115 {
116  G4double Phi = twopi*G4UniformRand() ;
117  return Phi;
118 }
#define G4UniformRand()
Definition: Randomize.hh:87
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 81 of file GVFlashShowerParameterisation.cc.

References test::a, g(), G4Element::GetA(), G4Material::GetA(), G4Material::GetElement(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), and python.hepunit::mole.

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

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:78
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
double G4double
Definition: G4Types.hh:76
G4double GVFlashShowerParameterisation::GetEffZ ( const G4Material material)

Definition at line 58 of file GVFlashShowerParameterisation.cc.

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

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

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 }
G4double z
Definition: TRTMaterials.hh:39
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76
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 101 of file GVFlashShowerParameterisation.cc.

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

Referenced by GFlashHomoShowerParameterisation::GFlashHomoShowerParameterisation().

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

Field Documentation

G4double GVFlashShowerParameterisation::A
protected
G4double GVFlashShowerParameterisation::density
protected
G4double GVFlashShowerParameterisation::Ec
protected
G4double GVFlashShowerParameterisation::NSpot
protected

Definition at line 92 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::Rm
protected
GVFlashHomoShowerTuning* GVFlashShowerParameterisation::thePar
protected

Definition at line 88 of file GVFlashShowerParameterisation.hh.

G4double GVFlashShowerParameterisation::X0
protected
G4double GVFlashShowerParameterisation::Z
protected

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