G4mplIonisation Class Reference

#include <G4mplIonisation.hh>

Inheritance diagram for G4mplIonisation:

G4VEnergyLossProcess G4VContinuousDiscreteProcess G4VProcess

Public Member Functions

 G4mplIonisation (G4double mCharge=0.0, const G4String &name="mplIoni")
virtual ~G4mplIonisation ()
virtual G4bool IsApplicable (const G4ParticleDefinition &p)
virtual void PrintInfo ()

Protected Member Functions

virtual void InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *)

Detailed Description

Definition at line 64 of file G4mplIonisation.hh.


Constructor & Destructor Documentation

G4mplIonisation::G4mplIonisation ( G4double  mCharge = 0.0,
const G4String name = "mplIoni" 
)

Definition at line 59 of file G4mplIonisation.cc.

References G4Electron::Electron(), fIonisation, G4VProcess::SetProcessSubType(), G4VEnergyLossProcess::SetSecondaryParticle(), G4VEnergyLossProcess::SetStepFunction(), and G4VProcess::SetVerboseLevel().

00060   : G4VEnergyLossProcess(name),
00061     magneticCharge(mCharge),
00062     isInitialised(false)
00063 {
00064   // By default classical magnetic charge is used
00065   if(magneticCharge == 0.0) { magneticCharge = eplus*0.5/fine_structure_const; }
00066 
00067   SetVerboseLevel(0);
00068   SetProcessSubType(fIonisation);
00069   SetStepFunction(0.2, 1*mm);
00070   SetSecondaryParticle(G4Electron::Electron());
00071 }

G4mplIonisation::~G4mplIonisation (  )  [virtual]

Definition at line 75 of file G4mplIonisation.cc.

00076 {}


Member Function Documentation

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

Implements G4VEnergyLossProcess.

Definition at line 87 of file G4mplIonisation.cc.

References G4VEnergyLossProcess::AddEmModel(), G4lrint(), G4VEmModel::HighEnergyLimit(), G4LossTableManager::Instance(), G4VEmModel::LowEnergyLimit(), G4VEnergyLossProcess::MaxKinEnergy(), G4VEnergyLossProcess::MinKinEnergy(), G4VEnergyLossProcess::SetBaseParticle(), G4VEnergyLossProcess::SetDEDXBinning(), G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetLowEnergyLimit(), G4VEnergyLossProcess::SetMaxKinEnergy(), G4VEnergyLossProcess::SetMinKinEnergy(), and G4mplIonisationWithDeltaModel::SetParticle().

00089 {
00090   if(isInitialised) { return; }
00091 
00092   SetBaseParticle(0);
00093 
00094   // monopole model is responsible both for energy loss and fluctuations
00095   G4mplIonisationWithDeltaModel* ion =
00096     new G4mplIonisationWithDeltaModel(magneticCharge,"PAI");
00097   ion->SetParticle(p);
00098 
00099   // define size of dedx and range tables
00100   G4double emin  = std::min(MinKinEnergy(),ion->LowEnergyLimit());
00101   G4double emax  = std::max(MaxKinEnergy(),ion->HighEnergyLimit());
00102   G4int bin = G4lrint(G4LossTableManager::Instance()->GetNumberOfBinsPerDecade()
00103                       *std::log10(emax/emin));
00104   ion->SetLowEnergyLimit(emin);
00105   ion->SetHighEnergyLimit(emax);
00106   SetMinKinEnergy(emin);
00107   SetMaxKinEnergy(emax);
00108   SetDEDXBinning(bin);
00109 
00110   AddEmModel(1,ion,ion);
00111 
00112   isInitialised = true;
00113 }

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

Implements G4VEnergyLossProcess.

Definition at line 80 of file G4mplIonisation.cc.

00081 {
00082   return true;
00083 }

void G4mplIonisation::PrintInfo (  )  [virtual]

Implements G4VEnergyLossProcess.

Definition at line 117 of file G4mplIonisation.cc.

References G4cout, and G4endl.

00118 {
00119   G4cout << "      No delta-electron production, only dE/dx"
00120          << G4endl;
00121 }


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