G4hPairProduction Class Reference

#include <G4hPairProduction.hh>

Inheritance diagram for G4hPairProduction:

G4VEnergyLossProcess G4VContinuousDiscreteProcess G4VProcess

Public Member Functions

 G4hPairProduction (const G4String &processName="hPairProd")
virtual ~G4hPairProduction ()
virtual G4bool IsApplicable (const G4ParticleDefinition &p)
virtual G4double MinPrimaryEnergy (const G4ParticleDefinition *p, const G4Material *, G4double cut)
virtual void PrintInfo ()

Protected Member Functions

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

Detailed Description

Definition at line 60 of file G4hPairProduction.hh.


Constructor & Destructor Documentation

G4hPairProduction::G4hPairProduction ( const G4String processName = "hPairProd"  ) 

Definition at line 58 of file G4hPairProduction.cc.

References fPairProdByCharged, G4Positron::Positron(), G4VEnergyLossProcess::SetIonisation(), G4VProcess::SetProcessSubType(), and G4VEnergyLossProcess::SetSecondaryParticle().

00059   : G4VEnergyLossProcess(name),
00060     theParticle(0),
00061     theBaseParticle(0),
00062     lowestKinEnergy(1.*GeV),
00063     isInitialised(false)
00064 {
00065   SetProcessSubType(fPairProdByCharged);
00066   SetSecondaryParticle(G4Positron::Positron());
00067   SetIonisation(false);
00068 }

G4hPairProduction::~G4hPairProduction (  )  [virtual]

Definition at line 72 of file G4hPairProduction.cc.

00073 {}


Member Function Documentation

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

Implements G4VEnergyLossProcess.

Definition at line 93 of file G4hPairProduction.cc.

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

00096 {
00097   if (!isInitialised) {
00098     isInitialised = true;
00099 
00100     theParticle = part;
00101     if (!EmModel()) { SetEmModel(new G4hPairProductionModel()); }
00102 
00103     G4VEmFluctuationModel* fm = 0;
00104     EmModel()->SetLowEnergyLimit(MinKinEnergy());
00105     EmModel()->SetHighEnergyLimit(MaxKinEnergy());
00106     AddEmModel(1, EmModel(), fm);
00107   }
00108 }

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

Implements G4VEnergyLossProcess.

Definition at line 77 of file G4hPairProduction.cc.

References G4ParticleDefinition::GetPDGCharge(), and G4ParticleDefinition::GetPDGMass().

00078 {
00079   return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 110.0*MeV);
00080 }

G4double G4hPairProduction::MinPrimaryEnergy ( const G4ParticleDefinition p,
const G4Material ,
G4double  cut 
) [virtual]

Reimplemented from G4VEnergyLossProcess.

Definition at line 84 of file G4hPairProduction.cc.

00087 {
00088   return lowestKinEnergy;
00089 }

void G4hPairProduction::PrintInfo (  )  [virtual]

Implements G4VEnergyLossProcess.

Definition at line 112 of file G4hPairProduction.cc.

00113 {}


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