G4VEmModel Class Reference

#include <G4VEmModel.hh>

Inheritance diagram for G4VEmModel:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 90 of file G4VEmModel.hh.

Public Member Functions

 G4VEmModel (const G4String &nam)
virtual ~G4VEmModel ()
virtual void Initialise (const G4ParticleDefinition *, const G4DataVector &)=0
virtual void SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double tmax=DBL_MAX)=0
virtual G4double MinEnergyCut (const G4ParticleDefinition *, const G4MaterialCutsCouple *)
virtual G4double ComputeDEDX (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
virtual G4double CrossSection (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double ComputeDEDXPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
virtual G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double ComputeMeanFreePath (const G4ParticleDefinition *, G4double kineticEnergy, const G4Material *, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double CrossSectionPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual void SampleScattering (const G4DynamicParticle *, G4double safety)
virtual G4double ComputeTruePathLengthLimit (const G4Track &track, G4PhysicsTable *theLambdaTable, G4double currentMinimalStep)
virtual G4double ComputeGeomPathLength (G4double truePathLength)
virtual G4double ComputeTrueStepLength (G4double geomPathLength)
virtual void DefineForRegion (const G4Region *)
void SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *)
G4VEmFluctuationModelGetModelOfFluctuations ()
G4double HighEnergyLimit ()
G4double LowEnergyLimit ()
void SetHighEnergyLimit (G4double)
void SetLowEnergyLimit (G4double)
G4double MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle)
const G4ElementSelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4StringGetName () const

Protected Member Functions

virtual G4double MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy)
const G4ElementGetCurrentElement () const
void SetCurrentElement (const G4Element *)

Protected Attributes

G4VParticleChangepParticleChange

Private Member Functions

G4VEmModeloperator= (const G4VEmModel &right)
 G4VEmModel (const G4VEmModel &)

Private Attributes

G4double lowLimit
G4double highLimit
G4double xsec [40]
G4VEmFluctuationModelfluc
const G4String name
const G4ElementcurrentElement


Constructor & Destructor Documentation

G4VEmModel::G4VEmModel ( const G4String nam  ) 

Definition at line 57 of file G4VEmModel.cc.

G4VEmModel::~G4VEmModel (  )  [virtual]

Definition at line 63 of file G4VEmModel.cc.

G4VEmModel::G4VEmModel ( const G4VEmModel  )  [private]


Member Function Documentation

G4double G4VEmModel::ComputeCrossSectionPerAtom ( const G4ParticleDefinition ,
G4double  kinEnergy,
G4double  Z,
G4double  A = 0.,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [inline, virtual]

Reimplemented in G4eeToHadronsModel, G4eeToHadronsMultiModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuMscModel, G4MuPairProductionModel, G4PolarizedComptonModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4CoulombScatteringModel, G4eBremsstrahlungModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4KleinNishinaCompton, G4MollerBhabhaModel, G4MscModel71, G4PEEffectModel, G4UrbanMscModel, and G4UrbanMscModel90.

Definition at line 320 of file G4VEmModel.hh.

Referenced by G4EmCalculator::ComputeCrossSectionPerAtom(), G4VEmProcess::ComputeCrossSectionPerAtom(), and CrossSectionPerVolume().

G4double G4VEmModel::ComputeDEDX ( const G4MaterialCutsCouple ,
const G4ParticleDefinition ,
G4double  kineticEnergy,
G4double  cutEnergy = DBL_MAX 
) [inline, virtual]

Reimplemented in G4PAIModel, G4PAIPhotonModel, and G4EmMultiModel.

Definition at line 298 of file G4VEmModel.hh.

References ComputeDEDXPerVolume(), and G4MaterialCutsCouple::GetMaterial().

Referenced by G4EnergyLossForExtrapolator::ComputeElectronDEDX(), G4EnergyLossForExtrapolator::ComputeMuonDEDX(), G4EnergyLossForExtrapolator::ComputeProtonDEDX(), and G4EmModelManager::FillDEDXVector().

Here is the call graph for this function:

G4double G4VEmModel::ComputeDEDXPerVolume ( const G4Material ,
const G4ParticleDefinition ,
G4double  kineticEnergy,
G4double  cutEnergy = DBL_MAX 
) [inline, virtual]

Reimplemented in G4BetheBlochNoDeltaModel, G4BraggNoDeltaModel, G4mplIonisationModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, and G4MollerBhabhaModel.

Definition at line 287 of file G4VEmModel.hh.

Referenced by G4EmCalculator::ComputeDEDX(), ComputeDEDX(), and G4EmCorrections::InitialiseMaterial().

G4double G4VEmModel::ComputeGeomPathLength ( G4double  truePathLength  )  [inline, virtual]

Reimplemented in G4MuMscModel, G4UrbanMscModel, and G4UrbanMscModel90.

Definition at line 410 of file G4VEmModel.hh.

G4double G4VEmModel::ComputeMeanFreePath ( const G4ParticleDefinition ,
G4double  kineticEnergy,
const G4Material ,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [virtual]

Reimplemented in G4PEEffectModel.

Definition at line 89 of file G4VEmModel.cc.

References CrossSectionPerVolume(), DBL_MAX, and DBL_MIN.

Here is the call graph for this function:

G4double G4VEmModel::ComputeTruePathLengthLimit ( const G4Track track,
G4PhysicsTable theLambdaTable,
G4double  currentMinimalStep 
) [inline, virtual]

Reimplemented in G4MuMscModel, G4UrbanMscModel, and G4UrbanMscModel90.

Definition at line 400 of file G4VEmModel.hh.

References DBL_MAX.

G4double G4VEmModel::ComputeTrueStepLength ( G4double  geomPathLength  )  [inline, virtual]

Reimplemented in G4MuMscModel, G4UrbanMscModel, and G4UrbanMscModel90.

Definition at line 417 of file G4VEmModel.hh.

Referenced by G4VMultipleScattering::AlongStepDoIt().

G4double G4VEmModel::CrossSection ( const G4MaterialCutsCouple ,
const G4ParticleDefinition ,
G4double  kineticEnergy,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [inline, virtual]

Reimplemented in G4PAIModel, G4PAIPhotonModel, and G4EmMultiModel.

Definition at line 308 of file G4VEmModel.hh.

References CrossSectionPerVolume(), and G4MaterialCutsCouple::GetMaterial().

Referenced by G4PolarizedCompton::ComputeAsymmetry(), G4ePolarizedIonisation::ComputeAsymmetry(), G4eplusPolarizedAnnihilation::ComputeAsymmetry(), G4KleinNishinaCompton::ComputeCrossSectionPerAtom(), G4BetheHeitlerModel::ComputeCrossSectionPerAtom(), G4EmModelManager::FillLambdaVector(), G4MscModel71::GeomPathLength(), G4VMultipleScattering::GetLambda(), G4UrbanMscModel90::GetLambda(), G4UrbanMscModel::GetLambda(), G4MuMscModel::GetLambda(), G4MuPairProductionModel::MakeSamplingTables(), and G4MuBremsstrahlungModel::MakeSamplingTables().

Here is the call graph for this function:

G4double G4VEmModel::CrossSectionPerVolume ( const G4Material ,
const G4ParticleDefinition ,
G4double  kineticEnergy,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [virtual]

Reimplemented in G4eeToHadronsModel, G4eeToHadronsMultiModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, G4eeToTwoGammaModel, and G4MollerBhabhaModel.

Definition at line 68 of file G4VEmModel.cc.

References ComputeCrossSectionPerAtom(), G4Material::GetElementVector(), G4Material::GetNumberOfElements(), G4Material::GetVecNbOfAtomsPerVolume(), and xsec.

Referenced by G4EmCalculator::ComputeCrossSectionPerVolume(), G4VEmProcess::ComputeCurrentLambda(), ComputeMeanFreePath(), CrossSection(), G4VEmProcess::MicroscopicCrossSection(), and SelectRandomAtom().

Here is the call graph for this function:

void G4VEmModel::DefineForRegion ( const G4Region  )  [inline, virtual]

Reimplemented in G4PAIModel, G4PAIPhotonModel, and G4EmMultiModel.

Definition at line 424 of file G4VEmModel.hh.

Referenced by G4EmModelManager::AddEmModel().

const G4Element * G4VEmModel::GetCurrentElement (  )  const [inline, protected]

Definition at line 355 of file G4VEmModel.hh.

References currentElement.

Referenced by G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SelectedAtom(), and G4ePolarizedBremsstrahlungModel::SelectedAtom().

G4VEmFluctuationModel * G4VEmModel::GetModelOfFluctuations (  )  [inline]

Definition at line 272 of file G4VEmModel.hh.

References fluc.

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), and G4VEnergyLossProcess::GetDEDXDispersion().

const G4String & G4VEmModel::GetName (  )  const [inline]

Definition at line 386 of file G4VEmModel.hh.

References name.

Referenced by G4PhotoElectricEffect::PrintInfo(), G4ionIonisation::PrintInfo(), G4hIonisation::PrintInfo(), G4GammaConversion::PrintInfo(), G4eplusAnnihilation::PrintInfo(), G4eIonisation::PrintInfo(), G4eBremsstrahlung::PrintInfo(), G4ComptonScattering::PrintInfo(), G4PolarizedPhotoElectricEffect::PrintInfo(), and G4PolarizedCompton::PrintInfo().

G4double G4VEmModel::HighEnergyLimit (  )  [inline]

Definition at line 234 of file G4VEmModel.hh.

References highLimit.

Referenced by G4EmCalculator::ComputeDEDX(), G4eBremsstrahlungModel::Initialise(), G4BetheHeitlerModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), and G4eeToHadronsModel::Initialise().

virtual void G4VEmModel::Initialise ( const G4ParticleDefinition ,
const G4DataVector  
) [pure virtual]

Implemented in G4eeToHadronsModel, G4eeToHadronsMultiModel, G4mplIonisationModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuMscModel, G4MuPairProductionModel, G4ePolarizedBremsstrahlungModel, G4PolarizedAnnihilationModel, G4PolarizedGammaConversionModel, G4PolarizedPEEffectModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4KleinNishinaCompton, G4MollerBhabhaModel, G4MscModel71, G4PAIModel, G4PAIPhotonModel, G4PEEffectModel, G4UrbanMscModel, G4UrbanMscModel90, G4DummyModel, and G4EmMultiModel.

G4double G4VEmModel::LowEnergyLimit (  )  [inline]

Definition at line 241 of file G4VEmModel.hh.

References lowLimit.

Referenced by G4EmCalculator::ComputeDEDX(), G4eBremsstrahlungModel::Initialise(), G4BetheHeitlerModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), and G4eeToHadronsModel::Initialise().

G4double G4VEmModel::MaxSecondaryEnergy ( const G4ParticleDefinition ,
G4double  kineticEnergy 
) [inline, protected, virtual]

Reimplemented in G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, G4MollerBhabhaModel, G4PAIModel, G4PAIPhotonModel, and G4EmMultiModel.

Definition at line 378 of file G4VEmModel.hh.

Referenced by MaxSecondaryKinEnergy().

G4double G4VEmModel::MaxSecondaryKinEnergy ( const G4DynamicParticle dynParticle  )  [inline]

Definition at line 369 of file G4VEmModel.hh.

References G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), and MaxSecondaryEnergy().

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4VEnergyLossProcess::GetDEDXDispersion(), G4PAIPhotonModel::SampleSecondaries(), G4PAIModel::SampleSecondaries(), G4MollerBhabhaModel::SampleSecondaries(), G4BraggIonModel::SampleSecondaries(), and G4PolarizedMollerBhabhaModel::SampleSecondaries().

Here is the call graph for this function:

G4double G4VEmModel::MinEnergyCut ( const G4ParticleDefinition ,
const G4MaterialCutsCouple  
) [inline, virtual]

Reimplemented in G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, G4MollerBhabhaModel, and G4EmMultiModel.

Definition at line 279 of file G4VEmModel.hh.

G4VEmModel& G4VEmModel::operator= ( const G4VEmModel right  )  [private]

void G4VEmModel::SampleScattering ( const G4DynamicParticle ,
G4double  safety 
) [inline, virtual]

Reimplemented in G4MuMscModel, G4UrbanMscModel, and G4UrbanMscModel90.

Definition at line 395 of file G4VEmModel.hh.

Referenced by G4VMultipleScattering::PostStepDoIt().

virtual void G4VEmModel::SampleSecondaries ( std::vector< G4DynamicParticle * > *  ,
const G4MaterialCutsCouple ,
const G4DynamicParticle ,
G4double  tmin = 0.0,
G4double  tmax = DBL_MAX 
) [pure virtual]

Implemented in G4eeToHadronsModel, G4eeToHadronsMultiModel, G4mplIonisationModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuMscModel, G4MuPairProductionModel, G4ePolarizedBremsstrahlungModel, G4PolarizedAnnihilationModel, G4PolarizedComptonModel, G4PolarizedGammaConversionModel, G4PolarizedMollerBhabhaModel, G4PolarizedPEEffectModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4CoulombScatteringModel, G4eBremsstrahlungModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4KleinNishinaCompton, G4MollerBhabhaModel, G4MscModel71, G4PAIModel, G4PAIPhotonModel, G4PEEffectModel, G4UrbanMscModel, G4UrbanMscModel90, G4DummyModel, and G4EmMultiModel.

Referenced by G4VEnergyLossProcess::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), and G4VEnergyLossProcess::SampleSubCutSecondaries().

const G4Element * G4VEmModel::SelectRandomAtom ( const G4Material ,
const G4ParticleDefinition ,
G4double  kineticEnergy,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [inline]

Definition at line 330 of file G4VEmModel.hh.

References CrossSectionPerVolume(), currentElement, G4UniformRand, G4Material::GetElementVector(), G4Material::GetNumberOfElements(), and xsec.

Referenced by G4PEEffectModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4CoulombScatteringModel::SampleSecondaries(), and G4BetheHeitlerModel::SampleSecondaries().

Here is the call graph for this function:

void G4VEmModel::SetCurrentElement ( const G4Element  )  [inline, protected]

Definition at line 362 of file G4VEmModel.hh.

References currentElement.

Referenced by G4eBremsstrahlungModel::SelectRandomAtom().

void G4VEmModel::SetHighEnergyLimit ( G4double   )  [inline]

Definition at line 248 of file G4VEmModel.hh.

References highLimit.

Referenced by G4eeToHadronsMultiModel::Initialise(), G4ionIonisation::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4ePolarizedIonisation::InitialiseEnergyLossProcess(), G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4MultipleScattering71::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4PolarizedPhotoElectricEffect::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), and G4eplusPolarizedAnnihilation::InitialiseProcess().

void G4VEmModel::SetLowEnergyLimit ( G4double   )  [inline]

Definition at line 255 of file G4VEmModel.hh.

References lowLimit.

Referenced by G4MuPairProductionModel::G4MuPairProductionModel(), G4ionIonisation::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4ePolarizedIonisation::InitialiseEnergyLossProcess(), G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4MultipleScattering71::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4PolarizedPhotoElectricEffect::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), and G4eplusPolarizedAnnihilation::InitialiseProcess().

void G4VEmModel::SetParticleChange ( G4VParticleChange ,
G4VEmFluctuationModel  
) [inline]

Definition at line 262 of file G4VEmModel.hh.

References fluc, and pParticleChange.

Referenced by G4VMultipleScattering::AddEmModel(), G4VEnergyLossProcess::AddEmModel(), and G4VEmProcess::AddEmModel().


Member Data Documentation

const G4Element* G4VEmModel::currentElement [private]

Definition at line 224 of file G4VEmModel.hh.

Referenced by GetCurrentElement(), SelectRandomAtom(), and SetCurrentElement().

G4VEmFluctuationModel* G4VEmModel::fluc [private]

Definition at line 221 of file G4VEmModel.hh.

Referenced by GetModelOfFluctuations(), and SetParticleChange().

G4double G4VEmModel::highLimit [private]

Definition at line 218 of file G4VEmModel.hh.

Referenced by HighEnergyLimit(), and SetHighEnergyLimit().

G4double G4VEmModel::lowLimit [private]

Reimplemented in G4MollerBhabhaModel.

Definition at line 217 of file G4VEmModel.hh.

Referenced by LowEnergyLimit(), and SetLowEnergyLimit().

const G4String G4VEmModel::name [private]

Definition at line 223 of file G4VEmModel.hh.

Referenced by GetName().

G4VParticleChange* G4VEmModel::pParticleChange [protected]

Definition at line 228 of file G4VEmModel.hh.

Referenced by G4UrbanMscModel90::Initialise(), G4UrbanMscModel::Initialise(), G4PEEffectModel::Initialise(), G4PAIPhotonModel::Initialise(), G4PAIModel::Initialise(), G4MscModel71::Initialise(), G4MollerBhabhaModel::Initialise(), G4KleinNishinaCompton::Initialise(), G4eeToTwoGammaModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eBremsstrahlungModel::Initialise(), G4BraggModel::Initialise(), G4BraggIonModel::Initialise(), G4BetheHeitlerModel::Initialise(), G4BetheBlochModel::Initialise(), G4PolarizedAnnihilationModel::Initialise(), G4MuPairProductionModel::Initialise(), G4MuMscModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4MuBetheBlochModel::Initialise(), G4mplIonisationModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), and SetParticleChange().

G4double G4VEmModel::xsec[40] [private]

Definition at line 219 of file G4VEmModel.hh.

Referenced by CrossSectionPerVolume(), and SelectRandomAtom().


The documentation for this class was generated from the following files:
Generated on Sat Apr 12 06:54:40 2008 for Geant4 by  doxygen 1.4.7