G4eIonisation Class Reference

#include <G4eIonisation.hh>

Inheritance diagram for G4eIonisation:

G4VEnergyLossProcess G4VContinuousDiscreteProcess G4VProcess

Public Member Functions

 G4eIonisation (const G4String &name="eIoni")
virtual ~G4eIonisation ()
virtual G4bool IsApplicable (const G4ParticleDefinition &p)
virtual void PrintInfo ()

Protected Member Functions

virtual void InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *)
virtual G4double MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *, G4double cut)

Detailed Description

Definition at line 80 of file G4eIonisation.hh.


Constructor & Destructor Documentation

G4eIonisation::G4eIonisation ( const G4String name = "eIoni"  ) 

Definition at line 85 of file G4eIonisation.cc.

References fIonisation, G4VProcess::SetProcessSubType(), and G4VEnergyLossProcess::SetSecondaryParticle().

00086   : G4VEnergyLossProcess(name),
00087     theElectron(G4Electron::Electron()),
00088     isElectron(true),
00089     isInitialised(false)
00090 {
00091   //  SetStepFunction(0.2, 1*mm);
00092   SetProcessSubType(fIonisation);
00093   SetSecondaryParticle(theElectron);
00094 }

G4eIonisation::~G4eIonisation (  )  [virtual]

Definition at line 98 of file G4eIonisation.cc.

00099 {}


Member Function Documentation

void G4eIonisation::InitialiseEnergyLossProcess ( const G4ParticleDefinition ,
const G4ParticleDefinition  
) [protected, virtual]

Implements G4VEnergyLossProcess.

Definition at line 121 of file G4eIonisation.cc.

References G4VEnergyLossProcess::AddEmModel(), G4VEnergyLossProcess::EmModel(), G4VEnergyLossProcess::FluctModel(), G4VEnergyLossProcess::MaxKinEnergy(), G4VEnergyLossProcess::MinKinEnergy(), G4VEnergyLossProcess::SetEmModel(), G4VEnergyLossProcess::SetFluctModel(), G4VEmModel::SetHighEnergyLimit(), and G4VEmModel::SetLowEnergyLimit().

00124 {
00125   if(!isInitialised) {
00126     if(part != theElectron) { isElectron = false; }
00127     if (!EmModel()) { SetEmModel(new G4MollerBhabhaModel()); }
00128     EmModel()->SetLowEnergyLimit (MinKinEnergy());
00129     EmModel()->SetHighEnergyLimit(MaxKinEnergy());
00130     if (!FluctModel()) { SetFluctModel(new G4UniversalFluctuation()); }
00131                 
00132     AddEmModel(1, EmModel(), FluctModel());
00133     isInitialised = true;
00134   }
00135 }

G4bool G4eIonisation::IsApplicable ( const G4ParticleDefinition p  )  [virtual]

Implements G4VEnergyLossProcess.

Definition at line 114 of file G4eIonisation.cc.

References G4Positron::Positron().

00115 {
00116   return (&p == theElectron || &p == G4Positron::Positron());
00117 }

G4double G4eIonisation::MinPrimaryEnergy ( const G4ParticleDefinition ,
const G4Material ,
G4double  cut 
) [protected, virtual]

Reimplemented from G4VEnergyLossProcess.

Definition at line 103 of file G4eIonisation.cc.

00106 {
00107   G4double x = cut;
00108   if(isElectron) x += cut;
00109   return x;
00110 }

void G4eIonisation::PrintInfo (  )  [virtual]

Implements G4VEnergyLossProcess.

Definition at line 139 of file G4eIonisation.cc.

00140 {}


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