#include <G4VEmModel.hh>
Inheritance diagram for G4VEmModel:
Definition at line 101 of file G4VEmModel.hh.
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 }
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().
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().
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().
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().
G4bool G4VEmModel::DeexcitationFlag | ( | ) | const [inline] |
void G4VEmModel::DefineForRegion | ( | const G4Region * | ) | [virtual] |
Reimplemented in G4PAIModel, and G4PAIPhotonModel.
Definition at line 249 of file G4VEmModel.cc.
Referenced by G4EmModelManager::AddEmModel().
void G4VEmModel::ForceBuildTable | ( | G4bool | val | ) | [inline] |
G4bool G4VEmModel::ForceBuildTableFlag | ( | ) | const [inline] |
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().
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().
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().
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().
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] |
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().
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 }
Definition at line 613 of file G4VEmModel.hh.
Referenced by G4VEnergyLossProcess::AlongStepDoIt(), G4VMultipleScattering::AlongStepGetPhysicalInteractionLength(), G4VEnergyLossProcess::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(), and G4VEmProcess::PostStepGetPhysicalInteractionLength().
G4double G4VEmModel::LowEnergyActivationLimit | ( | ) | const [inline] |
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().
G4bool G4VEmModel::LPMFlag | ( | ) | const [inline] |
Definition at line 564 of file G4VEmModel.hh.
Referenced by G4eBremsstrahlungModel::SampleSecondaries(), and G4eBremsstrahlungRelModel::SetupForMaterial().
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().
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().
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().
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().
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] |
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().
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().
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().
void G4VEmModel::SetCurrentElement | ( | const G4Element * | ) | [inline, protected] |
Definition at line 384 of file G4VEmModel.hh.
Referenced by G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4eBremParametrizedModel::ComputeDEDXPerVolume(), and G4eBremsstrahlungModel::SelectRandomAtom().
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().
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().
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().
void G4VEmModel::SetLPMFlag | ( | G4bool | val | ) | [inline] |
Definition at line 634 of file G4VEmModel.hh.
Referenced by G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4SeltzerBergerModel::G4SeltzerBergerModel(), and G4eBremsstrahlung::InitialiseEnergyLossProcess().
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().
void G4VEmModel::SetSecondaryThreshold | ( | G4double | ) | [inline] |
Definition at line 627 of file G4VEmModel.hh.
Referenced by G4eBremsstrahlung::InitialiseEnergyLossProcess().
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().
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().
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 }
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] |
const std::vector<G4int>* G4VEmModel::theDensityIdx [protected] |
G4PhysicsTable* G4VEmModel::xSectionTable [protected] |
Definition at line 352 of file G4VEmModel.hh.
Referenced by GetCrossSectionTable(), G4VMscModel::GetParticleChangeForMSC(), G4VMscModel::GetTransportMeanFreePath(), SetCrossSectionTable(), and ~G4VEmModel().