G4VEmModel Class Reference

#include <G4VEmModel.hh>

Inheritance diagram for G4VEmModel:

G4BetheBlochModel G4BetheHeitlerModel G4BoldyshevTripletModel G4BraggIonModel G4BraggModel G4DNABornExcitationModel G4DNABornIonisationModel G4DNAChampionElasticModel G4DNADingfelderChargeDecreaseModel G4DNADingfelderChargeIncreaseModel G4DNAEmfietzoglouExcitationModel G4DNAMeltonAttachmentModel G4DNAMillerGreenExcitationModel G4DNARuddIonisationExtendedModel G4DNARuddIonisationModel G4DNASancheExcitationModel G4DNASancheSolvatationModel G4DNAScreenedRutherfordElasticModel G4DNATransformElectronModel G4eBremParametrizedModel G4eBremsstrahlungModel G4eBremsstrahlungRelModel G4eCoulombScatteringModel G4eeToHadronsModel G4eeToHadronsMultiModel G4eeToTwoGammaModel G4EmMultiModel G4eSingleCoulombScatteringModel G4hCoulombScatteringModel G4HeatedKleinNishinaCompton G4ICRU49NuclearStoppingModel G4ICRU73QOModel G4IonCoulombScatteringModel G4IonParametrisedLossModel G4KleinNishinaCompton G4KleinNishinaModel G4LivermoreBremsstrahlungModel G4LivermoreComptonModel G4LivermoreComptonModifiedModel G4LivermoreGammaConversionModel G4LivermoreGammaConversionModelRC G4LivermoreIonisationModel G4LivermoreNuclearGammaConversionModel G4LivermorePhotoElectricModel G4LivermorePolarizedComptonModel G4LivermorePolarizedGammaConversionModel G4LivermorePolarizedPhotoElectricModel G4LivermorePolarizedRayleighModel G4LivermoreRayleighModel G4LowEPComptonModel G4MollerBhabhaModel G4mplIonisationModel G4mplIonisationWithDeltaModel G4MuBetheBlochModel G4MuBremsstrahlungModel G4MuElecElasticModel G4MuElecInelasticModel G4MuPairProductionModel G4PAIModel G4PAIPhotonModel G4PairProductionRelModel G4PEEffectFluoModel G4PEEffectModel G4PenelopeAnnihilationModel G4PenelopeBremsstrahlungModel G4PenelopeComptonModel G4PenelopeGammaConversionModel G4PenelopeIonisationModel G4PenelopePhotoElectricModel G4PenelopeRayleighModel G4VMscModel G4XrayRayleighModel

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 ComputeDEDXPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
virtual G4double CrossSectionPerVolume (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual G4double ChargeSquareRatio (const G4Track &)
virtual G4double GetChargeSquareRatio (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
virtual G4double GetParticleCharge (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
virtual void StartTracking (G4Track *)
virtual void CorrectionsAlongStep (const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length)
virtual G4double Value (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy)
virtual G4double MinPrimaryEnergy (const G4Material *, const G4ParticleDefinition *)
virtual void SetupForMaterial (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
virtual void DefineForRegion (const G4Region *)
void InitialiseElementSelectors (const G4ParticleDefinition *, const G4DataVector &)
G4double ComputeDEDX (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
G4double CrossSection (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
G4double ComputeMeanFreePath (const G4ParticleDefinition *, G4double kineticEnergy, const G4Material *, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, const G4Element *, G4double kinEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
G4int SelectIsotopeNumber (const G4Element *)
const G4ElementSelectRandomAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4ElementSelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
void SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *f=0)
void SetCrossSectionTable (G4PhysicsTable *)
G4PhysicsTableGetCrossSectionTable ()
G4VEmFluctuationModelGetModelOfFluctuations ()
G4VEmAngularDistributionGetAngularDistribution ()
void SetAngularDistribution (G4VEmAngularDistribution *)
G4double HighEnergyLimit () const
G4double LowEnergyLimit () const
G4double HighEnergyActivationLimit () const
G4double LowEnergyActivationLimit () const
G4double PolarAngleLimit () const
G4double SecondaryThreshold () const
G4bool LPMFlag () const
G4bool DeexcitationFlag () const
G4bool ForceBuildTableFlag () const
void SetHighEnergyLimit (G4double)
void SetLowEnergyLimit (G4double)
void SetActivationHighEnergyLimit (G4double)
void SetActivationLowEnergyLimit (G4double)
G4bool IsActive (G4double kinEnergy)
void SetPolarAngleLimit (G4double)
void SetSecondaryThreshold (G4double)
void SetLPMFlag (G4bool val)
void SetDeexcitationFlag (G4bool val)
void ForceBuildTable (G4bool val)
G4double MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle)
const G4StringGetName () const
void SetCurrentCouple (const G4MaterialCutsCouple *)
const G4ElementGetCurrentElement () const

Protected Member Functions

G4ParticleChangeForLossGetParticleChangeForLoss ()
G4ParticleChangeForGammaGetParticleChangeForGamma ()
virtual G4double MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy)
const G4MaterialCutsCoupleCurrentCouple () const
void SetCurrentElement (const G4Element *)

Protected Attributes

G4VParticleChangepParticleChange
G4PhysicsTablexSectionTable
const std::vector< G4double > * theDensityFactor
const std::vector< G4int > * theDensityIdx

Detailed Description

Definition at line 101 of file G4VEmModel.hh.


Constructor & Destructor Documentation

G4VEmModel::G4VEmModel ( const G4String nam  ) 

Definition at line 61 of file G4VEmModel.cc.

References G4LossTableManager::Instance(), and G4LossTableManager::Register().

00061                                          :
00062   flucModel(0),anglModel(0), name(nam), lowLimit(0.1*CLHEP::keV), 
00063   highLimit(100.0*CLHEP::TeV),eMinActive(0.0),eMaxActive(DBL_MAX),
00064   polarAngleLimit(CLHEP::pi),secondaryThreshold(DBL_MAX),
00065   theLPMflag(false),flagDeexcitation(false),flagForceBuildTable(false),
00066   pParticleChange(0),xSectionTable(0),theDensityFactor(0),theDensityIdx(0),
00067   fCurrentCouple(0),fCurrentElement(0),
00068   nsec(5) 
00069 {
00070   xsec.resize(nsec);
00071   nSelectors = 0;
00072   G4LossTableManager::Instance()->Register(this);
00073 }

G4VEmModel::~G4VEmModel (  )  [virtual]

Definition at line 77 of file G4VEmModel.cc.

References G4PhysicsTable::clearAndDestroy(), G4LossTableManager::DeRegister(), G4LossTableManager::Instance(), CLHEP::detail::n, and xSectionTable.

00078 {
00079   G4LossTableManager::Instance()->DeRegister(this);
00080   G4int n = elmSelectors.size();
00081   if(n > 0) {
00082     for(G4int i=0; i<n; ++i) { 
00083       delete elmSelectors[i]; 
00084     }
00085   }
00086   delete anglModel;
00087   if(xSectionTable) { 
00088     xSectionTable->clearAndDestroy(); 
00089     delete xSectionTable;
00090   }
00091 }


Member Function Documentation

G4double G4VEmModel::ChargeSquareRatio ( const G4Track  )  [virtual]

Reimplemented in G4BetheBlochIonGasModel, and G4BraggIonGasModel.

Definition at line 254 of file G4VEmModel.cc.

References GetChargeSquareRatio(), G4Track::GetKineticEnergy(), G4Track::GetMaterial(), and G4Track::GetParticleDefinition().

Referenced by G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength().

00255 {
00256   return GetChargeSquareRatio(track.GetParticleDefinition(), 
00257                               track.GetMaterial(), track.GetKineticEnergy());
00258 }

G4double G4VEmModel::ComputeCrossSectionPerAtom ( const G4ParticleDefinition ,
const G4Element ,
G4double  kinEnergy,
G4double  cutEnergy = 0.0,
G4double  maxEnergy = DBL_MAX 
) [inline]

Definition at line 444 of file G4VEmModel.hh.

References ComputeCrossSectionPerAtom(), G4Element::GetN(), and G4Element::GetZ().

00450 {
00451   fCurrentElement = elm;
00452   return ComputeCrossSectionPerAtom(part,kinEnergy,elm->GetZ(),elm->GetN(),
00453                                     cutEnergy,maxEnergy);
00454 }

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

Reimplemented in G4eeToHadronsModel, G4eeToHadronsMultiModel, G4mplIonisationWithDeltaModel, G4BoldyshevTripletModel, G4IonParametrisedLossModel, G4LivermoreBremsstrahlungModel, G4LivermoreComptonModel, G4LivermoreComptonModifiedModel, G4LivermoreGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4PolarizedComptonModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4eBremParametrizedModel, G4eBremsstrahlungModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4eSingleCoulombScatteringModel, G4GoudsmitSaundersonMscModel, G4hCoulombScatteringModel, G4HeatedKleinNishinaCompton, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4MollerBhabhaModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PEEffectModel, G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93, G4UrbanMscModel95, G4UrbanMscModel96, G4WentzelVIModel, G4WentzelVIRelModel, G4XrayRayleighModel, and G4EmMultiModel.

Definition at line 240 of file G4VEmModel.cc.

Referenced by G4VEmProcess::ComputeCrossSectionPerAtom(), ComputeCrossSectionPerAtom(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4AdjointIonIonisationModel::CorrectPostStepWeight(), CrossSectionPerVolume(), G4AdjointComptonModel::DiffCrossSectionPerAtomPrimToScatPrim(), G4VEmAdjointModel::DiffCrossSectionPerAtomPrimToSecond(), G4AdjointIonIonisationModel::DiffCrossSectionPerAtomPrimToSecond(), G4AdjointhIonisationModel::DiffCrossSectionPerAtomPrimToSecond(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated2(), and G4EmElementSelector::Initialise().

00243 {
00244   return 0.0;
00245 }

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

Reimplemented in G4EmMultiModel.

Definition at line 407 of file G4VEmModel.hh.

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

00411 {
00412   fCurrentCouple = c;
00413   return ComputeDEDXPerVolume(c->GetMaterial(),p,kinEnergy,cutEnergy);
00414 }

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

Reimplemented in G4BetheBlochNoDeltaModel, G4BraggNoDeltaModel, G4ICRU73NoDeltaModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4IonParametrisedLossModel, G4LivermoreBremsstrahlungModel, G4LivermoreIonisationModel, G4PenelopeBremsstrahlungModel, G4PenelopeIonisationModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremParametrizedModel, G4eBremsstrahlungModel, G4eBremsstrahlungRelModel, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4MollerBhabhaModel, G4PAIModel, and G4PAIPhotonModel.

Definition at line 177 of file G4VEmModel.cc.

Referenced by G4NuclearStopping::AlongStepDoIt(), ComputeDEDX(), and G4EmCalculator::ComputeDEDX().

00180 {
00181   return 0.0;
00182 }

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

Definition at line 430 of file G4VEmModel.hh.

References CrossSectionPerVolume(), DBL_MAX, and DBL_MIN.

00435 {
00436   G4double mfp = DBL_MAX;
00437   G4double cross = CrossSectionPerVolume(material,p,ekin,emin,emax);
00438   if (cross > DBL_MIN) { mfp = 1./cross; }
00439   return mfp;
00440 }

void G4VEmModel::CorrectionsAlongStep ( const G4MaterialCutsCouple ,
const G4DynamicParticle ,
G4double eloss,
G4double niel,
G4double  length 
) [virtual]

Reimplemented in G4IonParametrisedLossModel, G4BetheBlochModel, G4BraggIonModel, and G4ICRU73QOModel.

Definition at line 279 of file G4VEmModel.cc.

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4EmCalculator::ComputeDEDX(), and G4EmCalculator::GetDEDX().

00282 {}

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

Definition at line 418 of file G4VEmModel.hh.

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

Referenced by G4PolarizedCompton::ComputeAsymmetry(), G4ePolarizedIonisation::ComputeAsymmetry(), G4eplusPolarizedAnnihilation::ComputeAsymmetry(), G4EmModelManager::FillLambdaVector(), and G4EmMultiModel::SampleSecondaries().

00423 {
00424   fCurrentCouple = c;
00425   return CrossSectionPerVolume(c->GetMaterial(),p,kinEnergy,cutEnergy,maxEnergy);
00426 }

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

Reimplemented in G4DNABornExcitationModel, G4DNABornIonisationModel, G4DNAChampionElasticModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNAEmfietzoglouExcitationModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNASancheSolvatationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4BetheBlochNoDeltaModel, G4BraggNoDeltaModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4ICRU73NoDeltaModel, G4IonParametrisedLossModel, G4MuElecElasticModel, G4MuElecInelasticModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeIonisationModel, G4MuBetheBlochModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4eBremsstrahlungModel, G4eeToTwoGammaModel, G4ICRU73QOModel, G4MollerBhabhaModel, G4PAIModel, G4PAIPhotonModel, G4PEEffectFluoModel, and G4PEEffectModel.

Definition at line 186 of file G4VEmModel.cc.

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

Referenced by G4AdjointBremsstrahlungModel::AdjointCrossSection(), G4EmCalculator::ComputeCrossSectionPerVolume(), ComputeMeanFreePath(), CrossSection(), G4VEnergyLossProcess::CrossSectionPerVolume(), G4VEmProcess::CrossSectionPerVolume(), G4VEmAdjointModel::DiffCrossSectionPerVolumePrimToSecond(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecondApproximated1(), G4AdjointBremsstrahlungModel::GetAdjointCrossSection(), G4VMscModel::GetTransportMeanFreePath(), SelectRandomAtom(), and Value().

00191 {
00192   SetupForMaterial(p, material, ekin);
00193   G4double cross = 0.0;
00194   const G4ElementVector* theElementVector = material->GetElementVector();
00195   const G4double* theAtomNumDensityVector = material->GetVecNbOfAtomsPerVolume();
00196   G4int nelm = material->GetNumberOfElements(); 
00197   if(nelm > nsec) {
00198     xsec.resize(nelm);
00199     nsec = nelm;
00200   }
00201   for (G4int i=0; i<nelm; i++) {
00202     cross += theAtomNumDensityVector[i]*
00203       ComputeCrossSectionPerAtom(p,(*theElementVector)[i],ekin,emin,emax);
00204     xsec[i] = cross;
00205   }
00206   return cross;
00207 }

const G4MaterialCutsCouple * G4VEmModel::CurrentCouple (  )  const [inline, protected]

Definition at line 377 of file G4VEmModel.hh.

Referenced by G4WentzelVIRelModel::ComputeCrossSectionPerAtom(), G4WentzelVIModel::ComputeCrossSectionPerAtom(), G4IonCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4hCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4eSingleCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4EmMultiModel::ComputeCrossSectionPerAtom(), G4eCoulombScatteringModel::ComputeCrossSectionPerAtom(), G4PAIPhotonModel::ComputeDEDXPerVolume(), G4PAIModel::ComputeDEDXPerVolume(), G4PAIPhotonModel::CrossSectionPerVolume(), G4PAIModel::CrossSectionPerVolume(), G4VMscModel::GetTransportMeanFreePath(), G4UrbanMscModel92::SampleScattering(), and G4UrbanMscModel90::SampleScattering().

00378 {
00379   return fCurrentCouple;
00380 }

G4bool G4VEmModel::DeexcitationFlag (  )  const [inline]

Definition at line 571 of file G4VEmModel.hh.

00572 {
00573   return flagDeexcitation;
00574 }

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

Reimplemented in G4PAIModel, and G4PAIPhotonModel.

Definition at line 249 of file G4VEmModel.cc.

Referenced by G4EmModelManager::AddEmModel().

00250 {}

void G4VEmModel::ForceBuildTable ( G4bool  val  )  [inline]

Definition at line 648 of file G4VEmModel.hh.

00649 {
00650   flagForceBuildTable = val;
00651 }

G4bool G4VEmModel::ForceBuildTableFlag (  )  const [inline]

Definition at line 578 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

00579 {
00580   return flagForceBuildTable;
00581 }

G4VEmAngularDistribution * G4VEmModel::GetAngularDistribution (  )  [inline]

Definition at line 508 of file G4VEmModel.hh.

Referenced by G4SeltzerBergerModel::SampleSecondaries(), G4PEEffectModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermoreBremsstrahlungModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4eBremsstrahlungModel::SampleSecondaries(), and G4eBremParametrizedModel::SampleSecondaries().

00509 {
00510   return anglModel;
00511 }

G4double G4VEmModel::GetChargeSquareRatio ( const G4ParticleDefinition ,
const G4Material ,
G4double  kineticEnergy 
) [virtual]

Reimplemented in G4IonParametrisedLossModel, G4BetheBlochModel, G4BraggIonModel, and G4BraggModel.

Definition at line 262 of file G4VEmModel.cc.

References G4ParticleDefinition::GetPDGCharge().

Referenced by G4ContinuousGainOfEnergy::AlongStepDoIt(), G4AdjointCSManager::BuildTotalSigmaTables(), ChargeSquareRatio(), G4EmCalculator::ComputeDEDX(), G4AdjointIonIonisationModel::CorrectPostStepWeight(), G4ContinuousGainOfEnergy::GetContinuousStepLimit(), and G4EmCalculator::GetDEDX().

00264 {
00265   G4double q = p->GetPDGCharge()/CLHEP::eplus;
00266   return q*q;
00267 }

G4PhysicsTable * G4VEmModel::GetCrossSectionTable (  )  [inline]

Definition at line 660 of file G4VEmModel.hh.

References xSectionTable.

Referenced by G4VMultipleScattering::StorePhysicsTable().

00661 {
00662   return xSectionTable;
00663 }

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

Definition at line 391 of file G4VEmModel.hh.

Referenced by G4VEnergyLossProcess::GetCurrentElement(), G4VEmProcess::GetCurrentElement(), G4PolarizedPEEffectModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4ePolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SelectedAtom(), G4ePolarizedBremsstrahlungModel::SelectedAtom(), G4PairProductionRelModel::SetCurrentElement(), and G4eBremsstrahlungRelModel::SetCurrentElement().

00392 {
00393   return fCurrentElement;
00394 }

G4VEmFluctuationModel * G4VEmModel::GetModelOfFluctuations (  )  [inline]

Definition at line 501 of file G4VEmModel.hh.

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4IonParametrisedLossModel::CorrectionsAlongStep(), G4BraggIonModel::CorrectionsAlongStep(), G4BetheBlochModel::CorrectionsAlongStep(), G4BraggModel::GetChargeSquareRatio(), G4VEnergyLossProcess::GetDEDXDispersion(), and G4EmMultiModel::Initialise().

00502 {
00503   return flucModel;
00504 }

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

Definition at line 655 of file G4VEmModel.hh.

Referenced by G4IonParametrisedLossModel::AddDEDXTable(), G4EmCalculator::ComputeDEDX(), G4EmElementSelector::Dump(), G4IonParametrisedLossModel::Initialise(), G4EmMultiModel::Initialise(), G4IonParametrisedLossModel::PrintDEDXTable(), G4PolarizedPhotoElectricEffect::PrintInfo(), G4PolarizedCompton::PrintInfo(), G4MuElecInelastic::PrintInfo(), G4MuElecElastic::PrintInfo(), G4DNAVibExcitation::PrintInfo(), G4DNAIonisation::PrintInfo(), G4DNAExcitation::PrintInfo(), G4DNAElastic::PrintInfo(), G4DNAChargeIncrease::PrintInfo(), G4DNAChargeDecrease::PrintInfo(), G4DNAAttachment::PrintInfo(), G4LossTableManager::Register(), G4IonParametrisedLossModel::RemoveDEDXTable(), G4eBremsstrahlungRelModel::SampleSecondaries(), and G4EmConfigurator::SetExtraEmModel().

00656 {
00657   return name;
00658 }

G4ParticleChangeForGamma * G4VEmModel::GetParticleChangeForGamma (  )  [protected]

Definition at line 109 of file G4VEmModel.cc.

References pParticleChange.

Referenced by G4XrayRayleighModel::Initialise(), G4PolarizedAnnihilationModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4PEEffectModel::Initialise(), G4PEEffectFluoModel::Initialise(), G4PairProductionRelModel::Initialise(), G4MuElecInelasticModel::Initialise(), G4MuElecElasticModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermorePolarizedPhotoElectricModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermoreGammaConversionModelRC::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4KleinNishinaModel::Initialise(), G4KleinNishinaCompton::Initialise(), G4IonCoulombScatteringModel::Initialise(), G4HeatedKleinNishinaCompton::Initialise(), G4hCoulombScatteringModel::Initialise(), G4eSingleCoulombScatteringModel::Initialise(), G4eeToTwoGammaModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4DNATransformElectronModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheSolvatationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4BoldyshevTripletModel::Initialise(), and G4BetheHeitlerModel::Initialise().

00110 {
00111   G4ParticleChangeForGamma* p = 0;
00112   if (pParticleChange) {
00113     p = static_cast<G4ParticleChangeForGamma*>(pParticleChange);
00114   } else {
00115     p = new G4ParticleChangeForGamma();
00116     pParticleChange = p;
00117   }
00118   return p;
00119 }

G4ParticleChangeForLoss * G4VEmModel::GetParticleChangeForLoss (  )  [protected]

Definition at line 95 of file G4VEmModel.cc.

References pParticleChange.

Referenced by G4PenelopeIonisationModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PAIPhotonModel::Initialise(), G4PAIModel::Initialise(), G4MuPairProductionModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4MuBetheBlochModel::Initialise(), G4mplIonisationWithDeltaModel::Initialise(), G4mplIonisationModel::Initialise(), G4MollerBhabhaModel::Initialise(), G4LivermoreIonisationModel::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4IonParametrisedLossModel::Initialise(), G4ICRU73QOModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eBremsstrahlungModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4BraggModel::Initialise(), G4BraggIonModel::Initialise(), and G4BetheBlochModel::Initialise().

00096 {
00097   G4ParticleChangeForLoss* p = 0;
00098   if (pParticleChange) {
00099     p = static_cast<G4ParticleChangeForLoss*>(pParticleChange);
00100   } else {
00101     p = new G4ParticleChangeForLoss();
00102     pParticleChange = p;
00103   }
00104   return p;
00105 }

G4double G4VEmModel::GetParticleCharge ( const G4ParticleDefinition ,
const G4Material ,
G4double  kineticEnergy 
) [virtual]

Reimplemented in G4IonParametrisedLossModel, G4BetheBlochIonGasModel, G4BetheBlochModel, G4BraggIonGasModel, G4BraggIonModel, and G4BraggModel.

Definition at line 271 of file G4VEmModel.cc.

References G4ParticleDefinition::GetPDGCharge().

Referenced by G4VEnergyLossProcess::AlongStepDoIt().

00273 {
00274   return p->GetPDGCharge();
00275 }

G4double G4VEmModel::HighEnergyActivationLimit (  )  const [inline]

Definition at line 536 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

00537 {
00538   return eMaxActive;
00539 }

G4double G4VEmModel::HighEnergyLimit (  )  const [inline]

Definition at line 522 of file G4VEmModel.hh.

Referenced by G4DNATransformElectronModel::CrossSectionPerVolume(), G4DNASancheSolvatationModel::CrossSectionPerVolume(), G4eBremsstrahlungModel::G4eBremsstrahlungModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4ContinuousGainOfEnergy::GetContinuousStepLimit(), G4VMscModel::GetParticleChangeForMSC(), G4PenelopeRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4MuElecInelasticModel::Initialise(), G4MuElecElasticModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermorePolarizedPhotoElectricModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermoreIonisationModel::Initialise(), G4LivermoreGammaConversionModelRC::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4eeToHadronsModel::Initialise(), G4eBremsstrahlungModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4BoldyshevTripletModel::Initialise(), G4mplIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4alphaIonisation::InitialiseEnergyLossProcess(), G4CoulombScattering::InitialiseProcess(), G4eBremsstrahlung::PrintInfo(), G4DNASancheSolvatationModel::SampleSecondaries(), G4mplIonisationWithDeltaModel::SetParticle(), and G4mplIonisationModel::SetParticle().

00523 {
00524   return highLimit;
00525 }

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

Implemented in G4DNABornExcitationModel, G4DNABornIonisationModel, G4DNAChampionElasticModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNAEmfietzoglouExcitationModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNASancheSolvatationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4BoldyshevTripletModel, G4IonParametrisedLossModel, G4LivermoreBremsstrahlungModel, G4LivermoreComptonModel, G4LivermoreComptonModifiedModel, G4LivermoreGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4MuElecElasticModel, G4MuElecInelasticModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4ePolarizedBremsstrahlungModel, G4PolarizedAnnihilationModel, G4PolarizedGammaConversionModel, G4PolarizedPEEffectModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4eBremParametrizedModel, G4eBremsstrahlungModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4eSingleCoulombScatteringModel, G4GoudsmitSaundersonMscModel, G4hCoulombScatteringModel, G4HeatedKleinNishinaCompton, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4MollerBhabhaModel, G4PAIModel, G4PAIPhotonModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PEEffectModel, G4SeltzerBergerModel, G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93, G4UrbanMscModel95, G4UrbanMscModel96, G4WentzelVIModel, G4WentzelVIRelModel, G4XrayRayleighModel, G4DummyModel, and G4EmMultiModel.

Referenced by G4EmModelManager::Initialise().

void G4VEmModel::InitialiseElementSelectors ( const G4ParticleDefinition ,
const G4DataVector  
)

Definition at line 123 of file G4VEmModel.cc.

References G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4LossTableManager::GetNumberOfBinsPerDecade(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), and G4LossTableManager::Instance().

Referenced by G4XrayRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PairProductionRelModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4KleinNishinaModel::Initialise(), G4hCoulombScatteringModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eBremParametrizedModel::Initialise(), and G4BetheHeitlerModel::Initialise().

00125 {
00126   // initialise before run
00127   G4LossTableManager* man = G4LossTableManager::Instance();
00128 
00129   // using spline for element selectors should be investigated in details
00130   // because small number of points may provide biased results
00131   // large number of points requires significant increase of memory
00132   //G4bool spline = man->SplineFlag();
00133   G4bool spline = false;
00134 
00135   //G4cout << "IES: for " << GetName() << " Emin(MeV)= " << lowLimit/MeV 
00136   //     << " Emax(MeV)= " << highLimit/MeV << G4endl;
00137 
00138   // two times less bins because probability functon is normalized 
00139   // so correspondingly is more smooth
00140   G4int nbins = G4int(man->GetNumberOfBinsPerDecade()
00141                       * std::log10(highLimit/lowLimit) / 6.0);
00142   if(nbins < 5) { nbins = 5; }
00143 
00144   G4ProductionCutsTable* theCoupleTable=
00145     G4ProductionCutsTable::GetProductionCutsTable();
00146   G4int numOfCouples = theCoupleTable->GetTableSize();
00147 
00148   // prepare vector
00149   if(numOfCouples > nSelectors) { 
00150     elmSelectors.resize(numOfCouples,0); 
00151     nSelectors = numOfCouples;
00152   }
00153 
00154   // initialise vector
00155   for(G4int i=0; i<numOfCouples; ++i) {
00156     fCurrentCouple = theCoupleTable->GetMaterialCutsCouple(i);
00157     const G4Material* material = fCurrentCouple->GetMaterial();
00158     G4int idx = fCurrentCouple->GetIndex();
00159 
00160     // selector already exist check if should be deleted
00161     G4bool create = true;
00162     if(elmSelectors[i]) {
00163       if(material == elmSelectors[i]->GetMaterial()) { create = false; }
00164       else { delete elmSelectors[i]; }
00165     }
00166     if(create) {
00167       elmSelectors[i] = new G4EmElementSelector(this,material,nbins,
00168                                                 lowLimit,highLimit,spline);
00169     }
00170     elmSelectors[i]->Initialise(p, cuts[idx]);
00171     //elmSelectors[i]->Dump(p);
00172   } 
00173 }

G4bool G4VEmModel::IsActive ( G4double  kinEnergy  )  [inline]

Definition at line 613 of file G4VEmModel.hh.

Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4VMultipleScattering::AlongStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), and G4VEmProcess::PostStepGetPhysicalInteractionLength().

00614 {
00615   return (kinEnergy >= eMinActive && kinEnergy <= eMaxActive);
00616 }

G4double G4VEmModel::LowEnergyActivationLimit (  )  const [inline]

Definition at line 543 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

00544 {
00545   return eMinActive;
00546 }

G4double G4VEmModel::LowEnergyLimit (  )  const [inline]

Definition at line 529 of file G4VEmModel.hh.

Referenced by G4mplIonisationWithDeltaModel::ComputeCrossSectionPerElectron(), G4EmCalculator::ComputeDEDX(), G4mplIonisationWithDeltaModel::ComputeDEDXPerVolume(), G4IonParametrisedLossModel::ComputeDEDXPerVolume(), G4IonParametrisedLossModel::CorrectionsAlongStep(), G4eBremsstrahlungModel::G4eBremsstrahlungModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4VMscModel::GetParticleChangeForMSC(), G4PenelopeRayleighModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4MuElecInelasticModel::Initialise(), G4MuElecElasticModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermorePolarizedPhotoElectricModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermoreIonisationModel::Initialise(), G4LivermoreGammaConversionModelRC::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4eeToHadronsModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eBremsstrahlungModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4BoldyshevTripletModel::Initialise(), G4mplIonisation::InitialiseEnergyLossProcess(), G4CoulombScattering::InitialiseProcess(), G4mplIonisationWithDeltaModel::SetParticle(), and G4mplIonisationModel::SetParticle().

00530 {
00531   return lowLimit;
00532 }

G4bool G4VEmModel::LPMFlag (  )  const [inline]

Definition at line 564 of file G4VEmModel.hh.

Referenced by G4eBremsstrahlungModel::SampleSecondaries(), and G4eBremsstrahlungRelModel::SetupForMaterial().

00565 {
00566   return theLPMflag;
00567 }

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

Reimplemented in G4mplIonisationWithDeltaModel, G4IonParametrisedLossModel, G4MuBetheBlochModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggIonModel, G4BraggModel, G4ICRU73QOModel, G4MollerBhabhaModel, G4PAIModel, and G4PAIPhotonModel.

Definition at line 303 of file G4VEmModel.cc.

Referenced by MaxSecondaryKinEnergy().

00305 {
00306   return kineticEnergy;
00307 }

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

Definition at line 399 of file G4VEmModel.hh.

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

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

00400 {
00401   return MaxSecondaryEnergy(dynPart->GetParticleDefinition(),
00402                             dynPart->GetKineticEnergy());
00403 }

G4double G4VEmModel::MinPrimaryEnergy ( const G4Material ,
const G4ParticleDefinition  
) [virtual]

Definition at line 295 of file G4VEmModel.cc.

Referenced by G4LossTableBuilder::BuildTableForModel().

00297 {
00298   return 0.0;
00299 }

G4double G4VEmModel::PolarAngleLimit (  )  const [inline]

Definition at line 550 of file G4VEmModel.hh.

Referenced by G4WentzelVIRelModel::Initialise(), G4WentzelVIModel::Initialise(), G4IonCoulombScatteringModel::Initialise(), G4hCoulombScatteringModel::Initialise(), G4eSingleCoulombScatteringModel::Initialise(), and G4eCoulombScatteringModel::Initialise().

00551 {
00552   return polarAngleLimit;
00553 }

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

Implemented in G4DNABornExcitationModel, G4DNABornIonisationModel, G4DNAChampionElasticModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNAEmfietzoglouExcitationModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNASancheSolvatationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4BoldyshevTripletModel, G4IonParametrisedLossModel, G4LivermoreBremsstrahlungModel, G4LivermoreComptonModel, G4LivermoreComptonModifiedModel, G4LivermoreGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4MuElecElasticModel, G4MuElecInelasticModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4ePolarizedBremsstrahlungModel, G4PolarizedAnnihilationModel, G4PolarizedComptonModel, G4PolarizedGammaConversionModel, G4PolarizedMollerBhabhaModel, G4PolarizedPEEffectModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BraggIonModel, G4BraggModel, G4eBremParametrizedModel, G4eBremsstrahlungModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eeToTwoGammaModel, G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel, G4HeatedKleinNishinaCompton, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4MollerBhabhaModel, G4PAIModel, G4PAIPhotonModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PEEffectModel, G4SeltzerBergerModel, G4UrbanMscModel90, G4XrayRayleighModel, G4DummyModel, G4EmMultiModel, and G4VMscModel.

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

G4double G4VEmModel::SecondaryThreshold (  )  const [inline]

Definition at line 557 of file G4VEmModel.hh.

Referenced by G4SeltzerBergerModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4eBremsstrahlungModel::SampleSecondaries(), and G4eBremParametrizedModel::SampleSecondaries().

00558 {
00559   return secondaryThreshold;
00560 }

G4int G4VEmModel::SelectIsotopeNumber ( const G4Element  )  [inline]

Definition at line 478 of file G4VEmModel.hh.

References G4UniformRand, G4Element::GetIsotope(), G4Isotope::GetN(), G4Element::GetN(), G4Element::GetNumberOfIsotopes(), and G4Element::GetRelativeAbundanceVector().

Referenced by G4IonCoulombScatteringModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4eSingleCoulombScatteringModel::SampleSecondaries(), and G4eCoulombScatteringModel::SampleSecondaries().

00479 {
00480   fCurrentElement = elm;
00481   G4int N = G4int(elm->GetN() + 0.5);
00482   G4int ni = elm->GetNumberOfIsotopes();
00483   if(ni > 0) {
00484     G4int idx = 0;
00485     if(ni > 1) {
00486       G4double* ab = elm->GetRelativeAbundanceVector();
00487       G4double x = G4UniformRand();
00488       for(; idx<ni; ++idx) {
00489         x -= ab[idx];
00490         if (x <= 0.0) { break; }
00491       }
00492       if(idx >= ni) { idx = ni - 1; }
00493     }
00494     N = elm->GetIsotope(idx)->GetN();
00495   }
00496   return N;
00497 }

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

Definition at line 216 of file G4VEmModel.cc.

References CrossSectionPerVolume(), G4UniformRand, G4Material::GetElementVector(), G4Material::GetNumberOfElements(), and CLHEP::detail::n.

00221 {
00222   const G4ElementVector* theElementVector = material->GetElementVector();
00223   G4int n = material->GetNumberOfElements() - 1;
00224   fCurrentElement = (*theElementVector)[n];
00225   if (n > 0) {
00226     G4double x = G4UniformRand()*
00227                  G4VEmModel::CrossSectionPerVolume(material,pd,kinEnergy,tcut,tmax);
00228     for(G4int i=0; i<n; ++i) {
00229       if (x <= xsec[i]) {
00230         fCurrentElement = (*theElementVector)[i];
00231         break;
00232       }
00233     }
00234   }
00235   return fCurrentElement;
00236 }

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

Definition at line 459 of file G4VEmModel.hh.

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

Referenced by G4XrayRayleighModel::SampleSecondaries(), G4SeltzerBergerModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PEEffectModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4PairProductionRelModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermoreGammaConversionModelRC::SampleSecondaries(), G4LivermoreGammaConversionModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4IonCoulombScatteringModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4eSingleCoulombScatteringModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4eBremParametrizedModel::SampleSecondaries(), and G4BetheHeitlerModel::SampleSecondaries().

00464 {
00465   fCurrentCouple = couple;
00466   if(nSelectors > 0) {
00467     fCurrentElement = 
00468       elmSelectors[couple->GetIndex()]->SelectRandomAtom(kinEnergy);
00469   } else {
00470     fCurrentElement = SelectRandomAtom(couple->GetMaterial(),p,kinEnergy,
00471                                        cutEnergy,maxEnergy);
00472   }
00473   return fCurrentElement;
00474 }

void G4VEmModel::SetActivationHighEnergyLimit ( G4double   )  [inline]

Definition at line 599 of file G4VEmModel.hh.

00600 {
00601   eMaxActive = val;
00602 }

void G4VEmModel::SetActivationLowEnergyLimit ( G4double   )  [inline]

Definition at line 606 of file G4VEmModel.hh.

Referenced by G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), and G4EmLivermorePhysics::ConstructProcess().

00607 {
00608   eMinActive = val;
00609 }

void G4VEmModel::SetAngularDistribution ( G4VEmAngularDistribution  )  [inline]

Definition at line 515 of file G4VEmModel.hh.

Referenced by G4EmStandardPhysics_option2::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4eBremParametrizedModel::G4eBremParametrizedModel(), G4eBremsstrahlungModel::G4eBremsstrahlungModel(), G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4LivermoreBremsstrahlungModel::G4LivermoreBremsstrahlungModel(), G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(), G4LivermorePolarizedPhotoElectricModel::G4LivermorePolarizedPhotoElectricModel(), G4LivermoreRayleighModel::G4LivermoreRayleighModel(), G4PEEffectFluoModel::G4PEEffectFluoModel(), and G4PEEffectModel::G4PEEffectModel().

00516 {
00517   anglModel = p;
00518 }

void G4VEmModel::SetCrossSectionTable ( G4PhysicsTable  ) 

Definition at line 326 of file G4VEmModel.cc.

References xSectionTable.

00327 {
00328   if(p != xSectionTable) {
00329     if(xSectionTable) { 
00330       xSectionTable->clearAndDestroy(); 
00331       delete xSectionTable;
00332     }
00333     xSectionTable = p;
00334   }
00335 }

void G4VEmModel::SetCurrentCouple ( const G4MaterialCutsCouple  )  [inline]

Definition at line 370 of file G4VEmModel.hh.

Referenced by G4EmMultiModel::ComputeCrossSectionPerAtom(), G4EmMultiModel::ComputeDEDX(), G4UrbanMscModel96::ComputeTruePathLengthLimit(), G4UrbanMscModel95::ComputeTruePathLengthLimit(), G4UrbanMscModel93::ComputeTruePathLengthLimit(), G4UrbanMscModel92::ComputeTruePathLengthLimit(), G4UrbanMscModel90::ComputeTruePathLengthLimit(), G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(), G4EmMultiModel::SampleSecondaries(), G4VEnergyLossProcess::SelectModel(), and G4VEmProcess::SelectModel().

00371 {
00372   fCurrentCouple = p;
00373 }

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

Definition at line 384 of file G4VEmModel.hh.

Referenced by G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), and G4eBremsstrahlungModel::SelectRandomAtom().

00385 {
00386   fCurrentElement = elm;
00387 }

void G4VEmModel::SetDeexcitationFlag ( G4bool  val  )  [inline]

Definition at line 641 of file G4VEmModel.hh.

Referenced by G4DNABornIonisationModel::G4DNABornIonisationModel(), G4DNARuddIonisationExtendedModel::G4DNARuddIonisationExtendedModel(), G4DNARuddIonisationModel::G4DNARuddIonisationModel(), G4KleinNishinaModel::G4KleinNishinaModel(), G4LivermoreComptonModel::G4LivermoreComptonModel(), G4LivermoreComptonModifiedModel::G4LivermoreComptonModifiedModel(), G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(), G4LivermorePolarizedPhotoElectricModel::G4LivermorePolarizedPhotoElectricModel(), G4LowEPComptonModel::G4LowEPComptonModel(), G4MuElecInelasticModel::G4MuElecInelasticModel(), G4PEEffectFluoModel::G4PEEffectFluoModel(), G4PenelopeBremsstrahlungModel::G4PenelopeBremsstrahlungModel(), G4PenelopeComptonModel::G4PenelopeComptonModel(), G4PenelopeIonisationModel::G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(), G4PEEffectModel::Initialise(), G4ICRU73QOModel::Initialise(), G4BraggModel::Initialise(), G4BraggIonModel::Initialise(), and G4BetheBlochModel::Initialise().

00642 {
00643   flagDeexcitation = val;
00644 }

void G4VEmModel::SetHighEnergyLimit ( G4double   )  [inline]

Definition at line 585 of file G4VEmModel.hh.

Referenced by TLBE< T >::ConstructEM(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmDNAPhysicsChemistry::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4BoldyshevTripletModel::G4BoldyshevTripletModel(), G4BraggIonModel::G4BraggIonModel(), G4BraggModel::G4BraggModel(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4DNASancheSolvatationModel::G4DNASancheSolvatationModel(), G4DNATransformElectronModel::G4DNATransformElectronModel(), G4ICRU73QOModel::G4ICRU73QOModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4LivermoreBremsstrahlungModel::G4LivermoreBremsstrahlungModel(), G4LivermoreGammaConversionModelRC::G4LivermoreGammaConversionModelRC(), G4LivermoreNuclearGammaConversionModel::G4LivermoreNuclearGammaConversionModel(), G4LivermorePolarizedComptonModel::G4LivermorePolarizedComptonModel(), G4LivermorePolarizedGammaConversionModel::G4LivermorePolarizedGammaConversionModel(), G4LivermorePolarizedRayleighModel::G4LivermorePolarizedRayleighModel(), G4MuElecElasticModel::G4MuElecElasticModel(), G4PenelopeAnnihilationModel::G4PenelopeAnnihilationModel(), G4PenelopeBremsstrahlungModel::G4PenelopeBremsstrahlungModel(), G4PenelopeComptonModel::G4PenelopeComptonModel(), G4PenelopeGammaConversionModel::G4PenelopeGammaConversionModel(), G4PenelopeIonisationModel::G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(), G4PenelopeRayleighModel::G4PenelopeRayleighModel(), G4XrayRayleighModel::G4XrayRayleighModel(), G4MuElecInelasticModel::Initialise(), G4MuElecElasticModel::Initialise(), G4eeToHadronsModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4hPairProduction::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4hBremsstrahlung::InitialiseEnergyLossProcess(), G4ePolarizedIonisation::InitialiseEnergyLossProcess(), G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4alphaIonisation::InitialiseEnergyLossProcess(), G4PolarizedPhotoElectricEffect::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4MuElecInelastic::InitialiseProcess(), G4MuElecElastic::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4eplusPolarizedAnnihilation::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4DNAVibExcitation::InitialiseProcess(), G4DNAIonisation::InitialiseProcess(), G4DNAExcitation::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4VEnergyLossProcess::PreparePhysicsTable(), G4VEmAdjointModel::SetHighEnergyLimit(), G4mplIonisationWithDeltaModel::SetParticle(), and G4mplIonisationModel::SetParticle().

00586 {
00587   highLimit = val;
00588 }

void G4VEmModel::SetLowEnergyLimit ( G4double   )  [inline]

Definition at line 592 of file G4VEmModel.hh.

Referenced by G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4BetheBlochModel::G4BetheBlochModel(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4DNASancheSolvatationModel::G4DNASancheSolvatationModel(), G4DNATransformElectronModel::G4DNATransformElectronModel(), G4eBremParametrizedModel::G4eBremParametrizedModel(), G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4LivermorePolarizedGammaConversionModel::G4LivermorePolarizedGammaConversionModel(), G4MuElecElasticModel::G4MuElecElasticModel(), G4MuPairProductionModel::G4MuPairProductionModel(), G4SeltzerBergerModel::G4SeltzerBergerModel(), G4MuElecInelasticModel::Initialise(), G4MuElecElasticModel::Initialise(), G4eeToHadronsModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNABornIonisationModel::Initialise(), G4DNABornExcitationModel::Initialise(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4hPairProduction::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4hBremsstrahlung::InitialiseEnergyLossProcess(), G4ePolarizedIonisation::InitialiseEnergyLossProcess(), G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4alphaIonisation::InitialiseEnergyLossProcess(), G4PolarizedPhotoElectricEffect::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4MuElecInelastic::InitialiseProcess(), G4MuElecElastic::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4eplusPolarizedAnnihilation::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4DNAVibExcitation::InitialiseProcess(), G4DNAIonisation::InitialiseProcess(), G4DNAExcitation::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4VEmAdjointModel::SetLowEnergyLimit(), G4mplIonisationWithDeltaModel::SetParticle(), and G4mplIonisationModel::SetParticle().

00593 {
00594   lowLimit = val;
00595 }

void G4VEmModel::SetLPMFlag ( G4bool  val  )  [inline]

Definition at line 634 of file G4VEmModel.hh.

Referenced by G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4SeltzerBergerModel::G4SeltzerBergerModel(), and G4eBremsstrahlung::InitialiseEnergyLossProcess().

00635 {
00636   theLPMflag = val;
00637 }

void G4VEmModel::SetParticleChange ( G4VParticleChange ,
G4VEmFluctuationModel f = 0 
)

Definition at line 318 of file G4VEmModel.cc.

References pParticleChange.

Referenced by G4VMultipleScattering::AddEmModel(), G4VEnergyLossProcess::AddEmModel(), G4VEmProcess::AddEmModel(), G4IonParametrisedLossModel::Initialise(), G4EmMultiModel::Initialise(), and G4NuclearStopping::InitialiseProcess().

00319 {
00320   if(p && pParticleChange != p) { pParticleChange = p; }
00321   flucModel = f;
00322 }

void G4VEmModel::SetPolarAngleLimit ( G4double   )  [inline]

Definition at line 620 of file G4VEmModel.hh.

Referenced by G4CoulombScattering::InitialiseProcess(), and G4VEmProcess::PreparePhysicsTable().

00621 {
00622   polarAngleLimit = val;
00623 }

void G4VEmModel::SetSecondaryThreshold ( G4double   )  [inline]

Definition at line 627 of file G4VEmModel.hh.

Referenced by G4eBremsstrahlung::InitialiseEnergyLossProcess().

00628 {
00629   secondaryThreshold = val;
00630 }

void G4VEmModel::SetupForMaterial ( const G4ParticleDefinition ,
const G4Material ,
G4double  kineticEnergy 
) [virtual]

Reimplemented in G4eBremParametrizedModel, G4eBremsstrahlungRelModel, and G4PairProductionRelModel.

Definition at line 311 of file G4VEmModel.cc.

Referenced by CrossSectionPerVolume(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4PenelopeComptonModel::CrossSectionPerVolume(), G4PenelopeBremsstrahlungModel::CrossSectionPerVolume(), and G4EmElementSelector::Initialise().

00313 {}

void G4VEmModel::StartTracking ( G4Track  )  [virtual]

Reimplemented in G4GoudsmitSaundersonMscModel, G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93, G4UrbanMscModel95, G4UrbanMscModel96, G4WentzelVIModel, and G4WentzelVIRelModel.

Definition at line 211 of file G4VEmModel.cc.

Referenced by G4VMultipleScattering::StartTracking().

00212 {}

G4double G4VEmModel::Value ( const G4MaterialCutsCouple ,
const G4ParticleDefinition ,
G4double  kineticEnergy 
) [virtual]

Definition at line 286 of file G4VEmModel.cc.

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

Referenced by G4LossTableBuilder::BuildTableForModel(), G4LivermorePhotoElectricModel::ComputeCrossSectionPerAtom(), G4SeltzerBergerModel::SampleSecondaries(), and G4LivermorePhotoElectricModel::SampleSecondaries().

00288 {
00289   fCurrentCouple = couple;
00290   return e*e*CrossSectionPerVolume(couple->GetMaterial(),p,e,0.0,DBL_MAX);
00291 }


Field Documentation

G4VParticleChange* G4VEmModel::pParticleChange [protected]

Definition at line 351 of file G4VEmModel.hh.

Referenced by GetParticleChangeForGamma(), GetParticleChangeForLoss(), G4VMscModel::GetParticleChangeForMSC(), G4EmMultiModel::Initialise(), and SetParticleChange().

const std::vector<G4double>* G4VEmModel::theDensityFactor [protected]

Definition at line 353 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

const std::vector<G4int>* G4VEmModel::theDensityIdx [protected]

Definition at line 354 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

G4PhysicsTable* G4VEmModel::xSectionTable [protected]

Definition at line 352 of file G4VEmModel.hh.

Referenced by GetCrossSectionTable(), G4VMscModel::GetParticleChangeForMSC(), G4VMscModel::GetTransportMeanFreePath(), SetCrossSectionTable(), and ~G4VEmModel().


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