Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VEmModel Class Referenceabstract

#include <G4VEmModel.hh>

+ Inheritance diagram for G4VEmModel:

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 void InitialiseLocal (const G4ParticleDefinition *, G4VEmModel *masterModel)
 
virtual void InitialiseForMaterial (const G4ParticleDefinition *, const G4Material *)
 
virtual void InitialiseForElement (const G4ParticleDefinition *, G4int Z)
 
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 GetPartialCrossSection (const G4Material *, G4int level, const G4ParticleDefinition *, G4double kineticEnergy)
 
virtual G4double ComputeCrossSectionPerAtom (const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
virtual G4double ComputeCrossSectionPerShell (const G4ParticleDefinition *, G4int Z, G4int shellIdx, G4double kinEnergy, 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 *, const G4double &length, G4double &eloss)
 
virtual G4double Value (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy)
 
virtual G4double MinPrimaryEnergy (const G4Material *, const G4ParticleDefinition *, G4double cut=0.0)
 
virtual G4double MinEnergyCut (const G4ParticleDefinition *, const G4MaterialCutsCouple *)
 
virtual void SetupForMaterial (const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
 
virtual void DefineForRegion (const G4Region *)
 
virtual void FillNumberOfSecondaries (G4int &numberOfTriplets, G4int &numberOfRecoil)
 
virtual void ModelDescription (std::ostream &outFile) const
 
void InitialiseElementSelectors (const G4ParticleDefinition *, const G4DataVector &)
 
std::vector< G4EmElementSelector * > * GetElementSelectors ()
 
void SetElementSelectors (std::vector< G4EmElementSelector * > *)
 
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)
 
const G4ElementSelectRandomAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
const G4ElementSelectTargetAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double logKineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
const G4ElementSelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
const G4ElementGetCurrentElement (const G4Material *mat=nullptr) const
 
G4int SelectRandomAtomNumber (const G4Material *) const
 
const G4IsotopeGetCurrentIsotope (const G4Element *elm=nullptr) const
 
G4int SelectIsotopeNumber (const G4Element *) const
 
void SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *f=nullptr)
 
void SetCrossSectionTable (G4PhysicsTable *, G4bool isLocal)
 
G4ElementDataGetElementData ()
 
G4PhysicsTableGetCrossSectionTable ()
 
G4VEmFluctuationModelGetModelOfFluctuations ()
 
G4VEmAngularDistributionGetAngularDistribution ()
 
G4VEmModelGetTripletModel ()
 
void SetTripletModel (G4VEmModel *)
 
void SetAngularDistribution (G4VEmAngularDistribution *)
 
G4double HighEnergyLimit () const
 
G4double LowEnergyLimit () const
 
G4double HighEnergyActivationLimit () const
 
G4double LowEnergyActivationLimit () const
 
G4double PolarAngleLimit () const
 
G4double SecondaryThreshold () const
 
G4bool DeexcitationFlag () const
 
G4bool ForceBuildTableFlag () const
 
G4bool UseAngularGeneratorFlag () const
 
void SetAngularGeneratorFlag (G4bool)
 
void SetHighEnergyLimit (G4double)
 
void SetLowEnergyLimit (G4double)
 
void SetActivationHighEnergyLimit (G4double)
 
void SetActivationLowEnergyLimit (G4double)
 
G4bool IsActive (G4double kinEnergy) const
 
void SetPolarAngleLimit (G4double)
 
void SetSecondaryThreshold (G4double)
 
void SetDeexcitationFlag (G4bool val)
 
void SetForceBuildTable (G4bool val)
 
void SetFluctuationFlag (G4bool val)
 
void SetMasterThread (G4bool val)
 
G4bool IsMaster () const
 
void SetUseBaseMaterials (G4bool val)
 
G4bool UseBaseMaterials () const
 
G4double MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle)
 
const G4StringGetName () const
 
void SetCurrentCouple (const G4MaterialCutsCouple *)
 
G4bool IsLocked () const
 
void SetLocked (G4bool)
 
void SetLPMFlag (G4bool)
 
G4VEmModeloperator= (const G4VEmModel &right)=delete
 
 G4VEmModel (const G4VEmModel &)=delete
 

Protected Member Functions

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

Protected Attributes

G4ElementDatafElementData = nullptr
 
G4VParticleChangepParticleChange = nullptr
 
G4PhysicsTablexSectionTable = nullptr
 
const G4MaterialpBaseMaterial = nullptr
 
const std::vector< G4double > * theDensityFactor = nullptr
 
const std::vector< G4int > * theDensityIdx = nullptr
 
G4double inveplus
 
G4double pFactor = 1.0
 
std::size_t currentCoupleIndex = 0
 
std::size_t basedCoupleIndex = 0
 
G4bool lossFlucFlag = true
 

Detailed Description

Definition at line 102 of file G4VEmModel.hh.

Constructor & Destructor Documentation

◆ G4VEmModel() [1/2]

G4VEmModel::G4VEmModel ( const G4String & nam)
explicit

Definition at line 67 of file G4VEmModel.cc.

67 :
68 inveplus(1.0/CLHEP::eplus),
69 lowLimit(0.1*CLHEP::keV),
70 highLimit(100.0*CLHEP::TeV),
71 polarAngleLimit(CLHEP::pi),
72 name(nam)
73{
74 xsec.resize(nsec);
75 fEmManager = G4LossTableManager::Instance();
76 fEmManager->Register(this);
77
78 G4LossTableBuilder* bld = fEmManager->GetTableBuilder();
81}
const std::vector< G4double > * GetDensityFactors() const
const std::vector< G4int > * GetCoupleIndexes() const
static G4LossTableManager * Instance()
G4LossTableBuilder * GetTableBuilder()
void Register(G4VEnergyLossProcess *p)
const std::vector< G4double > * theDensityFactor
G4double inveplus
const std::vector< G4int > * theDensityIdx

◆ ~G4VEmModel()

G4VEmModel::~G4VEmModel ( )
virtual

Definition at line 85 of file G4VEmModel.cc.

86{
87 if(localElmSelectors) {
88 for(G4int i=0; i<nSelectors; ++i) {
89 delete (*elmSelectors)[i];
90 }
91 delete elmSelectors;
92 }
93 delete anglModel;
94
95 if(localTable && xSectionTable != nullptr) {
97 delete xSectionTable;
98 xSectionTable = nullptr;
99 }
100 fEmManager->DeRegister(this);
101}
int G4int
Definition G4Types.hh:85
void DeRegister(G4VEnergyLossProcess *p)
void clearAndDestroy()
G4PhysicsTable * xSectionTable

◆ G4VEmModel() [2/2]

G4VEmModel::G4VEmModel ( const G4VEmModel & )
delete

Member Function Documentation

◆ ChargeSquareRatio()

G4double G4VEmModel::ChargeSquareRatio ( const G4Track & track)
virtual

Reimplemented in G4BetheBlochIonGasModel, and G4BraggIonGasModel.

Definition at line 314 of file G4VEmModel.cc.

315{
317 track.GetMaterial(), track.GetKineticEnergy());
318}
const G4ParticleDefinition * GetParticleDefinition() const
G4Material * GetMaterial() const
G4double GetKineticEnergy() const
virtual G4double GetChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)

Referenced by G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength().

◆ ComputeCrossSectionPerAtom() [1/2]

G4double G4VEmModel::ComputeCrossSectionPerAtom ( const G4ParticleDefinition * part,
const G4Element * elm,
G4double kinEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX )
inline

Definition at line 546 of file G4VEmModel.hh.

551{
552 fCurrentElement = elm;
553 return ComputeCrossSectionPerAtom(part,kinEnergy,elm->GetZ(),elm->GetN(),
554 cutEnergy,maxEnergy);
555}
G4double GetZ() const
Definition G4Element.hh:119
G4double GetN() const
Definition G4Element.hh:123
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)

◆ ComputeCrossSectionPerAtom() [2/2]

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

Reimplemented in G4AtimaEnergyLossModel, G4BetheBlochModel, G4BetheHeitlerModel, G4BoldyshevTripletModel, G4BraggIonModel, G4BraggModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eDPWACoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eplusTo2GammaOKVIModel, G4eplusTo3GammaOKVIModel, G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4IonParametrisedLossModel, G4JAEAElasticScatteringModel, G4JAEAPolarizedElasticScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4LindhardSorensenIonModel, G4LivermoreComptonModel, G4LivermoreGammaConversion5DModel, G4LivermoreGammaConversionModel, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4LowEPPolarizedComptonModel, G4MollerBhabhaModel, G4mplIonisationWithDeltaModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4PenelopeRayleighModelMI, G4PolarizedComptonModel, G4SeltzerBergerModel, G4UrbanAdjointMscModel, G4UrbanMscModel, G4WentzelVIModel, G4WentzelVIRelModel, and G4XrayRayleighModel.

Definition at line 281 of file G4VEmModel.cc.

284{
285 return 0.0;
286}

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

◆ ComputeCrossSectionPerShell()

G4double G4VEmModel::ComputeCrossSectionPerShell ( const G4ParticleDefinition * ,
G4int Z,
G4int shellIdx,
G4double kinEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX )
virtual

Definition at line 291 of file G4VEmModel.cc.

294{
295 return 0.0;
296}

Referenced by G4EmCalculator::ComputeCrossSectionPerShell().

◆ ComputeDEDX()

G4double G4VEmModel::ComputeDEDX ( const G4MaterialCutsCouple * couple,
const G4ParticleDefinition * part,
G4double kineticEnergy,
G4double cutEnergy = DBL_MAX )
inline

Definition at line 508 of file G4VEmModel.hh.

512{
513 SetCurrentCouple(couple);
514 return pFactor*ComputeDEDXPerVolume(pBaseMaterial,part,kinEnergy,cutEnergy);
515}
void SetCurrentCouple(const G4MaterialCutsCouple *)
const G4Material * pBaseMaterial
G4double pFactor
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)

◆ ComputeDEDXPerVolume()

◆ ComputeMeanFreePath()

G4double G4VEmModel::ComputeMeanFreePath ( const G4ParticleDefinition * part,
G4double kineticEnergy,
const G4Material * material,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX )
inline

Definition at line 533 of file G4VEmModel.hh.

538{
539 G4double cross = CrossSectionPerVolume(material,part,ekin,emin,emax);
540 return (cross > 0.0) ? 1./cross : DBL_MAX;
541}
double G4double
Definition G4Types.hh:83
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
#define DBL_MAX
Definition templates.hh:62

◆ CorrectionsAlongStep()

◆ CrossSection()

G4double G4VEmModel::CrossSection ( const G4MaterialCutsCouple * couple,
const G4ParticleDefinition * part,
G4double kineticEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX )
inline

Definition at line 519 of file G4VEmModel.hh.

524{
525 SetCurrentCouple(couple);
526 return pFactor*CrossSectionPerVolume(pBaseMaterial,part,kinEnergy,
527 cutEnergy,maxEnergy);
528}

Referenced by G4EmModelManager::FillLambdaVector(), and G4EmMultiModel::SampleSecondaries().

◆ CrossSectionPerVolume()

G4double G4VEmModel::CrossSectionPerVolume ( const G4Material * mat,
const G4ParticleDefinition * p,
G4double kineticEnergy,
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX )
virtual

Reimplemented in G4AtimaEnergyLossModel, G4BetheBlochModel, G4BetheBlochNoDeltaModel, G4BraggIonModel, G4BraggModel, G4BraggNoDeltaModel, G4DNABornExcitationModel1, G4DNABornExcitationModel2, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNAChampionElasticModel, G4DNACPA100ElasticModel, G4DNACPA100ExcitationModel, G4DNACPA100IonisationModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNADiracRMatrixExcitationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4eplusTo2GammaOKVIModel, G4eplusTo3GammaOKVIModel, G4GoudsmitSaundersonMscModel, G4ICRU73NoDeltaModel, G4ICRU73QOModel, G4IonParametrisedLossModel, G4LEPTSAttachmentModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSExcitationModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, G4LEPTSVibExcitationModel, G4LindhardSorensenIonModel, G4LivermorePhotoElectricModel, G4MicroElecElasticModel, G4MicroElecElasticModel_new, G4MicroElecInelasticModel, G4MicroElecInelasticModel_new, G4MicroElecLOPhononModel, G4MollerBhabhaModel, G4MuBetheBlochModel, G4PAIModel, G4PAIPhotModel, G4PEEffectFluoModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeIonisationModel, G4PenelopeRayleighModelMI, G4TDNAOneStepThermalizationModel< MODEL >, and G4VDNAModel.

Definition at line 178 of file G4VEmModel.cc.

183{
184 SetupForMaterial(p, mat, ekin);
185 const G4double* theAtomNumDensityVector = mat->GetVecNbOfAtomsPerVolume();
186 G4int nelm = (G4int)mat->GetNumberOfElements();
187 if(nelm > nsec) {
188 xsec.resize(nelm);
189 nsec = nelm;
190 }
191 G4double cross = 0.0;
192 for (G4int i=0; i<nelm; ++i) {
193 cross += theAtomNumDensityVector[i]*
194 ComputeCrossSectionPerAtom(p,mat->GetElement(i),ekin,emin,emax);
195 xsec[i] = cross;
196 }
197 return cross;
198}
const G4Element * GetElement(G4int iel) const
const G4double * GetVecNbOfAtomsPerVolume() const
std::size_t GetNumberOfElements() const
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)

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

◆ CurrentCouple()

◆ DeexcitationFlag()

G4bool G4VEmModel::DeexcitationFlag ( ) const
inline

Definition at line 675 of file G4VEmModel.hh.

676{
677 return flagDeexcitation;
678}

Referenced by G4EmModelManager::DumpModelList().

◆ DefineForRegion()

void G4VEmModel::DefineForRegion ( const G4Region * )
virtual

Reimplemented in G4PAIModel, and G4PAIPhotModel.

Definition at line 300 of file G4VEmModel.cc.

301{}

Referenced by G4EmModelManager::AddEmModel().

◆ FillNumberOfSecondaries()

void G4VEmModel::FillNumberOfSecondaries ( G4int & numberOfTriplets,
G4int & numberOfRecoil )
virtual

Definition at line 305 of file G4VEmModel.cc.

307{
308 numberOfTriplets = 0;
309 numberOfRecoil = 0;
310}

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

◆ ForceBuildTableFlag()

G4bool G4VEmModel::ForceBuildTableFlag ( ) const
inline

Definition at line 682 of file G4VEmModel.hh.

683{
684 return flagForceBuildTable;
685}

Referenced by G4VMscModel::GetParticleChangeForMSC().

◆ GetAngularDistribution()

G4VEmAngularDistribution * G4VEmModel::GetAngularDistribution ( )
inline

Definition at line 599 of file G4VEmModel.hh.

600{
601 return anglModel;
602}

Referenced by G4EmModelManager::DumpModelList(), G4AtimaEnergyLossModel::Initialise(), G4BetheBlochModel::Initialise(), G4BraggModel::Initialise(), G4ICRU73QOModel::Initialise(), G4LindhardSorensenIonModel::Initialise(), G4MollerBhabhaModel::Initialise(), G4MuBetheBlochModel::Initialise(), G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4AtimaEnergyLossModel::SampleSecondaries(), G4BetheBlochModel::SampleSecondaries(), G4BetheHeitlerModel::SampleSecondaries(), G4BraggModel::SampleSecondaries(), G4DNABornIonisationModel1::SampleSecondaries(), G4DNABornIonisationModel2::SampleSecondaries(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNARPWBAIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4eBremParametrizedModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4ICRU73QOModel::SampleSecondaries(), G4IonParametrisedLossModel::SampleSecondaries(), G4LindhardSorensenIonModel::SampleSecondaries(), G4LivermoreBremsstrahlungModel::SampleSecondaries(), G4LivermoreIonisationModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4MicroElecInelasticModel::SampleSecondaries(), G4MicroElecInelasticModel_new::SampleSecondaries(), G4MollerBhabhaModel::SampleSecondaries(), G4MuBetheBlochModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4MuonToMuonPairProductionModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4PAIModel::SampleSecondaries(), G4PAIPhotModel::SampleSecondaries(), G4PairProductionRelModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), and G4SeltzerBergerModel::SampleSecondaries().

◆ GetChargeSquareRatio()

◆ GetCrossSectionTable()

G4PhysicsTable * G4VEmModel::GetCrossSectionTable ( )
inline

◆ GetCurrentElement()

◆ GetCurrentIsotope()

const G4Isotope * G4VEmModel::GetCurrentIsotope ( const G4Element * elm = nullptr) const

Definition at line 258 of file G4VEmModel.cc.

259{
260 const G4Isotope* iso = nullptr;
261 const G4Element* el = elm;
262 if(nullptr == el && nullptr != fCurrentCouple) {
263 el = GetCurrentElement(fCurrentCouple->GetMaterial());
264 }
265 if(nullptr != el) {
267 }
268 return iso;
269}
static const G4Isotope * SampleRandomIsotope(const G4Element *)
const G4Material * GetMaterial() const
const G4Element * GetCurrentElement(const G4Material *mat=nullptr) const

Referenced by G4VEmProcess::GetTargetIsotope(), and SelectIsotopeNumber().

◆ GetElementData()

G4ElementData * G4VEmModel::GetElementData ( )
inline

Definition at line 827 of file G4VEmModel.hh.

828{
829 return fElementData;
830}
G4ElementData * fElementData

Referenced by G4ePairProduction::StreamProcessInfo(), and G4MuPairProduction::StreamProcessInfo().

◆ GetElementSelectors()

◆ GetModelOfFluctuations()

◆ GetName()

◆ GetPartialCrossSection()

G4double G4VEmModel::GetPartialCrossSection ( const G4Material * ,
G4int level,
const G4ParticleDefinition * ,
G4double kineticEnergy )
virtual

◆ GetParticleChangeForGamma()

G4ParticleChangeForGamma * G4VEmModel::GetParticleChangeForGamma ( )
protected

Definition at line 120 of file G4VEmModel.cc.

121{
122 G4ParticleChangeForGamma* p = nullptr;
123 if (pParticleChange != nullptr) {
124 p = static_cast<G4ParticleChangeForGamma*>(pParticleChange);
125 } else {
126 p = new G4ParticleChangeForGamma();
127 pParticleChange = p;
128 }
129 if(fTripletModel != nullptr) { fTripletModel->SetParticleChange(p); }
130 return p;
131}
void SetParticleChange(G4VParticleChange *, G4VEmFluctuationModel *f=nullptr)
G4VParticleChange * pParticleChange

Referenced by G4BetheHeitlerModel::Initialise(), G4BoldyshevTripletModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNACPA100ElasticModel::Initialise(), G4DNACPA100ExcitationModel::Initialise(), G4DNACPA100IonisationModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADiracRMatrixExcitationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), G4DNAPTBIonisationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNATransformElectronModel::Initialise(), G4DNAUeharaScreenedRutherfordElasticModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), G4eeToTwoGammaModel::Initialise(), G4eplusTo2GammaOKVIModel::Initialise(), G4eplusTo3GammaOKVIModel::Initialise(), G4eSingleCoulombScatteringModel::Initialise(), G4hCoulombScatteringModel::Initialise(), G4IonCoulombScatteringModel::Initialise(), G4JAEAElasticScatteringModel::Initialise(), G4JAEAPolarizedElasticScatteringModel::Initialise(), G4KleinNishinaCompton::Initialise(), G4KleinNishinaModel::Initialise(), G4LEPTSAttachmentModel::Initialise(), G4LEPTSDissociationModel::Initialise(), G4LEPTSElasticModel::Initialise(), G4LEPTSExcitationModel::Initialise(), G4LEPTSIonisationModel::Initialise(), G4LEPTSPositroniumModel::Initialise(), G4LEPTSRotExcitationModel::Initialise(), G4LEPTSVibExcitationModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreGammaConversion5DModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), G4MicroElecElasticModel::Initialise(), G4MicroElecElasticModel_new::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MicroElecInelasticModel_new::Initialise(), G4MicroElecLOPhononModel::Initialise(), G4PairProductionRelModel::Initialise(), G4PEEffectFluoModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopeRayleighModelMI::Initialise(), G4PolarizedAnnihilationModel::Initialise(), and G4XrayRayleighModel::Initialise().

◆ GetParticleChangeForLoss()

◆ GetParticleCharge()

G4double G4VEmModel::GetParticleCharge ( const G4ParticleDefinition * p,
const G4Material * ,
G4double kineticEnergy )
virtual

◆ GetTripletModel()

G4VEmModel * G4VEmModel::GetTripletModel ( )
inline

Definition at line 616 of file G4VEmModel.hh.

617{
618 return fTripletModel;
619}

Referenced by G4eBremsstrahlungRelModel::Initialise(), G4SeltzerBergerModel::Initialise(), and G4eBremsstrahlungRelModel::SampleSecondaries().

◆ HighEnergyActivationLimit()

G4double G4VEmModel::HighEnergyActivationLimit ( ) const
inline

◆ HighEnergyLimit()

G4double G4VEmModel::HighEnergyLimit ( ) const
inline

Definition at line 633 of file G4VEmModel.hh.

634{
635 return highLimit;
636}

Referenced by G4DNAChampionElasticModel::CrossSectionPerVolume(), G4DNAELSEPAElasticModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4DNAEmfietzoglouIonisationModel::CrossSectionPerVolume(), G4DNAMeltonAttachmentModel::CrossSectionPerVolume(), G4DNASancheExcitationModel::CrossSectionPerVolume(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4DNATransformElectronModel::CrossSectionPerVolume(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4LivermorePolarizedRayleighModel::G4LivermorePolarizedRayleighModel(), G4ContinuousGainOfEnergy::GetContinuousStepLimit(), G4VMscModel::GetParticleChangeForMSC(), G4BoldyshevTripletModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADiracRMatrixExcitationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNAUeharaScreenedRutherfordElasticModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4EmModelManager::Initialise(), G4GoudsmitSaundersonMscModel::Initialise(), G4JAEAElasticScatteringModel::Initialise(), G4JAEAPolarizedElasticScatteringModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreGammaConversion5DModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreIonisationModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), G4MicroElecElasticModel::Initialise(), G4MicroElecElasticModel_new::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MicroElecInelasticModel_new::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4MuPairProductionModel::Initialise(), G4PAIModel::Initialise(), G4PAIPhotModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopeRayleighModelMI::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4hIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlungModel::InitialiseLocal(), G4MuPairProductionModel::InitialiseLocal(), G4CoulombScattering::InitialiseProcess(), G4VEmProcess::PostStepDoIt(), G4EmTableUtil::PrepareEmProcess(), G4EmTableUtil::PrepareMscProcess(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNASancheExcitationModel::SampleSecondaries(), G4EmConfigurator::SetExtraEmModel(), G4mplIonisationModel::SetParticle(), G4mplIonisationWithDeltaModel::SetParticle(), G4eBremsstrahlung::StreamProcessInfo(), and G4EmTableUtil::UpdateModels().

◆ Initialise()

virtual void G4VEmModel::Initialise ( const G4ParticleDefinition * ,
const G4DataVector &  )
pure virtual

Implemented in G4AtimaEnergyLossModel, G4BetheBlochModel, G4BetheHeitler5DModel, G4BetheHeitlerModel, G4BoldyshevTripletModel, G4BraggIonModel, G4BraggModel, G4DNABornExcitationModel1, G4DNABornExcitationModel2, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNAChampionElasticModel, G4DNACPA100ElasticModel, G4DNACPA100ExcitationModel, G4DNACPA100IonisationModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNADiracRMatrixExcitationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4DummyModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eDPWACoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eplusTo2GammaOKVIModel, G4eplusTo3GammaOKVIModel, G4eSingleCoulombScatteringModel, G4GoudsmitSaundersonMscModel, G4hCoulombScatteringModel, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4IonParametrisedLossModel, G4JAEAElasticScatteringModel, G4JAEAPolarizedElasticScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4LEPTSAttachmentModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSExcitationModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, G4LEPTSVibExcitationModel, G4LindhardSorensenIonModel, G4LivermoreBremsstrahlungModel, G4LivermoreComptonModel, G4LivermoreGammaConversion5DModel, G4LivermoreGammaConversionModel, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4LowEPPolarizedComptonModel, G4MicroElecElasticModel, G4MicroElecElasticModel_new, G4MicroElecInelasticModel, G4MicroElecInelasticModel_new, G4MicroElecLOPhononModel, G4MollerBhabhaModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4PAIModel, G4PAIPhotModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4PenelopeRayleighModelMI, G4PolarizedAnnihilationModel, G4PolarizedBremsstrahlungModel, G4PolarizedGammaConversionModel, G4PolarizedPhotoElectricModel, G4SeltzerBergerModel, G4TDNAOneStepThermalizationModel< MODEL >, G4UrbanAdjointMscModel, G4UrbanMscModel, G4VDNAModel, G4WentzelVIModel, G4WentzelVIRelModel, and G4XrayRayleighModel.

Referenced by G4eBremsstrahlungRelModel::Initialise(), and G4EmModelManager::Initialise().

◆ InitialiseElementSelectors()

void G4VEmModel::InitialiseElementSelectors ( const G4ParticleDefinition * part,
const G4DataVector & cuts )

Definition at line 135 of file G4VEmModel.cc.

137{
138 if(highLimit <= lowLimit) { return; }
139 G4EmUtility::InitialiseElementSelectors(this,part,cuts,lowLimit,highLimit);
140 localElmSelectors = true;
141}
static void InitialiseElementSelectors(G4VEmModel *, const G4ParticleDefinition *, const G4DataVector &cuts, const G4double emin, const G4double emax)

Referenced by G4BetheHeitlerModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4eSingleCoulombScatteringModel::Initialise(), G4hCoulombScatteringModel::Initialise(), G4JAEAElasticScatteringModel::Initialise(), G4JAEAPolarizedElasticScatteringModel::Initialise(), G4KleinNishinaCompton::Initialise(), G4KleinNishinaModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreGammaConversion5DModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4MuPairProductionModel::Initialise(), G4PAIModel::Initialise(), G4PAIPhotModel::Initialise(), G4PairProductionRelModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4SeltzerBergerModel::Initialise(), and G4XrayRayleighModel::Initialise().

◆ InitialiseForElement()

◆ InitialiseForMaterial()

void G4VEmModel::InitialiseForMaterial ( const G4ParticleDefinition * part,
const G4Material * material )
virtual

Definition at line 150 of file G4VEmModel.cc.

152{
153 if(material != nullptr) {
154 G4int n = (G4int)material->GetNumberOfElements();
155 for(G4int i=0; i<n; ++i) {
156 G4int Z = material->GetElement(i)->GetZasInt();
157 InitialiseForElement(part, Z);
158 }
159 }
160}
G4int GetZasInt() const
Definition G4Element.hh:120
virtual void InitialiseForElement(const G4ParticleDefinition *, G4int Z)

◆ InitialiseLocal()

◆ IsActive()

◆ IsLocked()

◆ IsMaster()

G4bool G4VEmModel::IsMaster ( ) const
inline

Definition at line 717 of file G4VEmModel.hh.

718{
719 return isMaster;
720}

Referenced by G4MuonToMuonPairProductionModel::DataCorrupted(), G4MuPairProductionModel::DataCorrupted(), G4PenelopePhotoElectricModel::GetNumberOfShellXS(), G4VMscModel::GetParticleChangeForMSC(), G4BetheBlochModel::Initialise(), G4BetheHeitlerModel::Initialise(), G4BoldyshevTripletModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4eeToTwoGammaModel::Initialise(), G4EmMultiModel::Initialise(), G4eplusTo2GammaOKVIModel::Initialise(), G4eSingleCoulombScatteringModel::Initialise(), G4GoudsmitSaundersonMscModel::Initialise(), G4hCoulombScatteringModel::Initialise(), G4JAEAElasticScatteringModel::Initialise(), G4JAEAPolarizedElasticScatteringModel::Initialise(), G4KleinNishinaCompton::Initialise(), G4KleinNishinaModel::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreGammaConversion5DModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermorePolarizedRayleighModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), G4mplIonisationModel::Initialise(), G4mplIonisationWithDeltaModel::Initialise(), G4MuBremsstrahlungModel::Initialise(), G4MuPairProductionModel::Initialise(), G4PAIModel::Initialise(), G4PAIPhotModel::Initialise(), G4PairProductionRelModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopeRayleighModelMI::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4PenelopeBremsstrahlungModel::InitialiseLocal(), G4BoldyshevTripletModel::~G4BoldyshevTripletModel(), G4eDPWACoulombScatteringModel::~G4eDPWACoulombScatteringModel(), G4GoudsmitSaundersonMscModel::~G4GoudsmitSaundersonMscModel(), G4JAEAElasticScatteringModel::~G4JAEAElasticScatteringModel(), G4JAEAPolarizedElasticScatteringModel::~G4JAEAPolarizedElasticScatteringModel(), G4LivermoreBremsstrahlungModel::~G4LivermoreBremsstrahlungModel(), G4LivermoreComptonModel::~G4LivermoreComptonModel(), G4LivermoreGammaConversion5DModel::~G4LivermoreGammaConversion5DModel(), G4LivermoreGammaConversionModel::~G4LivermoreGammaConversionModel(), G4LivermoreNuclearGammaConversionModel::~G4LivermoreNuclearGammaConversionModel(), G4LivermorePolarizedComptonModel::~G4LivermorePolarizedComptonModel(), G4LivermorePolarizedGammaConversionModel::~G4LivermorePolarizedGammaConversionModel(), G4LivermorePolarizedRayleighModel::~G4LivermorePolarizedRayleighModel(), G4LivermoreRayleighModel::~G4LivermoreRayleighModel(), G4LowEPComptonModel::~G4LowEPComptonModel(), G4LowEPPolarizedComptonModel::~G4LowEPPolarizedComptonModel(), G4mplIonisationModel::~G4mplIonisationModel(), G4mplIonisationWithDeltaModel::~G4mplIonisationWithDeltaModel(), G4PAIModel::~G4PAIModel(), G4PAIPhotModel::~G4PAIPhotModel(), G4PenelopeBremsstrahlungModel::~G4PenelopeBremsstrahlungModel(), G4PenelopeGammaConversionModel::~G4PenelopeGammaConversionModel(), G4PenelopeIonisationModel::~G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::~G4PenelopePhotoElectricModel(), G4PenelopeRayleighModel::~G4PenelopeRayleighModel(), G4PenelopeRayleighModelMI::~G4PenelopeRayleighModelMI(), and G4WentzelVIModel::~G4WentzelVIModel().

◆ LowEnergyActivationLimit()

G4double G4VEmModel::LowEnergyActivationLimit ( ) const
inline

◆ LowEnergyLimit()

G4double G4VEmModel::LowEnergyLimit ( ) const
inline

Definition at line 640 of file G4VEmModel.hh.

641{
642 return lowLimit;
643}

Referenced by G4eBremsstrahlungRelModel::ComputeCrossSectionPerAtom(), G4KleinNishinaCompton::ComputeCrossSectionPerAtom(), G4KleinNishinaModel::ComputeCrossSectionPerAtom(), G4LivermoreComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedComptonModel::ComputeCrossSectionPerAtom(), G4LowEPComptonModel::ComputeCrossSectionPerAtom(), G4LowEPPolarizedComptonModel::ComputeCrossSectionPerAtom(), G4mplIonisationWithDeltaModel::ComputeCrossSectionPerElectron(), G4EmCalculator::ComputeDEDX(), G4eBremsstrahlungRelModel::ComputeDEDXPerVolume(), G4IonParametrisedLossModel::ComputeDEDXPerVolume(), G4mplIonisationWithDeltaModel::ComputeDEDXPerVolume(), G4IonParametrisedLossModel::CorrectionsAlongStep(), G4DNAChampionElasticModel::CrossSectionPerVolume(), G4DNAELSEPAElasticModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4DNAEmfietzoglouIonisationModel::CrossSectionPerVolume(), G4DNAMeltonAttachmentModel::CrossSectionPerVolume(), G4DNASancheExcitationModel::CrossSectionPerVolume(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4PenelopeComptonModel::CrossSectionPerVolume(), G4PenelopeRayleighModelMI::CrossSectionPerVolume(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4LivermorePolarizedRayleighModel::G4LivermorePolarizedRayleighModel(), G4VMscModel::GetParticleChangeForMSC(), G4BoldyshevTripletModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADiracRMatrixExcitationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNAUeharaScreenedRutherfordElasticModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4EmModelManager::Initialise(), G4GoudsmitSaundersonMscModel::Initialise(), G4JAEAElasticScatteringModel::Initialise(), G4JAEAPolarizedElasticScatteringModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4LivermoreGammaConversion5DModel::Initialise(), G4LivermoreGammaConversionModel::Initialise(), G4LivermoreIonisationModel::Initialise(), G4LivermoreNuclearGammaConversionModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4LivermorePolarizedGammaConversionModel::Initialise(), G4LivermoreRayleighModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), G4MicroElecElasticModel::Initialise(), G4MicroElecElasticModel_new::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MicroElecInelasticModel_new::Initialise(), G4MuPairProductionModel::Initialise(), G4PAIModel::Initialise(), G4PAIPhotModel::Initialise(), G4PenelopeAnnihilationModel::Initialise(), G4PenelopeBremsstrahlungModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4PenelopeGammaConversionModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeRayleighModel::Initialise(), G4PenelopeRayleighModelMI::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4mplIonisation::InitialiseEnergyLossProcess(), G4CoulombScattering::InitialiseProcess(), G4VEmProcess::PostStepDoIt(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4eBremsstrahlungRelModel::SampleSecondaries(), G4KleinNishinaCompton::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4PenelopeComptonModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4EmConfigurator::SetExtraEmModel(), G4mplIonisationModel::SetParticle(), and G4mplIonisationWithDeltaModel::SetParticle().

◆ MaxSecondaryEnergy()

G4double G4VEmModel::MaxSecondaryEnergy ( const G4ParticleDefinition * ,
G4double kineticEnergy )
protectedvirtual

◆ MaxSecondaryKinEnergy()

G4double G4VEmModel::MaxSecondaryKinEnergy ( const G4DynamicParticle * dynParticle)
inline

Definition at line 500 of file G4VEmModel.hh.

501{
502 return MaxSecondaryEnergy(dynPart->GetParticleDefinition(),
503 dynPart->GetKineticEnergy());
504}
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kineticEnergy)

Referenced by G4ContinuousGainOfEnergy::AlongStepDoIt(), G4VEnergyLossProcess::AlongStepDoIt(), G4VEnergyLossProcess::GetDEDXDispersion(), G4BraggModel::SampleSecondaries(), G4ICRU73QOModel::SampleSecondaries(), G4IonParametrisedLossModel::SampleSecondaries(), and G4PolarizedIonisationModel::SampleSecondaries().

◆ MinEnergyCut()

◆ MinPrimaryEnergy()

◆ ModelDescription()

void G4VEmModel::ModelDescription ( std::ostream & outFile) const
virtual

Reimplemented in G4eeToHadronsMultiModel.

Definition at line 424 of file G4VEmModel.cc.

425{
426 outFile << "The description for this model has not been written yet.\n";
427}

◆ operator=()

G4VEmModel & G4VEmModel::operator= ( const G4VEmModel & right)
delete

◆ PolarAngleLimit()

G4double G4VEmModel::PolarAngleLimit ( ) const
inline

◆ SampleSecondaries()

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

Implemented in G4AtimaEnergyLossModel, G4BetheBlochModel, G4BetheHeitler5DModel, G4BetheHeitlerModel, G4BoldyshevTripletModel, G4BraggModel, G4DNABornExcitationModel1, G4DNABornExcitationModel2, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNAChampionElasticModel, G4DNACPA100ElasticModel, G4DNACPA100ExcitationModel, G4DNACPA100IonisationModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNADiracRMatrixExcitationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4DummyModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eDPWACoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eplusTo2GammaOKVIModel, G4eplusTo3GammaOKVIModel, G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4IonParametrisedLossModel, G4JAEAElasticScatteringModel, G4JAEAPolarizedElasticScatteringModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4LEPTSAttachmentModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSExcitationModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, G4LEPTSVibExcitationModel, G4LindhardSorensenIonModel, G4LivermoreBremsstrahlungModel, G4LivermoreComptonModel, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePhotoElectricModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4LowEPPolarizedComptonModel, G4MicroElecElasticModel, G4MicroElecElasticModel_new, G4MicroElecInelasticModel, G4MicroElecInelasticModel_new, G4MicroElecLOPhononModel, G4MollerBhabhaModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuonToMuonPairProductionModel, G4MuPairProductionModel, G4PAIModel, G4PAIPhotModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PenelopeAnnihilationModel, G4PenelopeBremsstrahlungModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4PenelopeRayleighModelMI, G4PolarizedAnnihilationModel, G4PolarizedBremsstrahlungModel, G4PolarizedComptonModel, G4PolarizedGammaConversionModel, G4PolarizedIonisationModel, G4PolarizedPhotoElectricModel, G4SeltzerBergerModel, G4TDNAOneStepThermalizationModel< MODEL >, G4VDNAModel, G4VMscModel, and G4XrayRayleighModel.

Referenced by G4TransportationWithMsc::AlongStepGetPhysicalInteractionLength(), G4eplusAnnihilation::AtRestDoIt(), G4VEmProcess::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), and G4eBremsstrahlungRelModel::SampleSecondaries().

◆ SecondaryThreshold()

◆ SelectIsotopeNumber()

G4int G4VEmModel::SelectIsotopeNumber ( const G4Element * elm) const

Definition at line 273 of file G4VEmModel.cc.

274{
275 auto iso = GetCurrentIsotope(elm);
276 return (nullptr != iso) ? iso->GetN() : 0;
277}
const G4Isotope * GetCurrentIsotope(const G4Element *elm=nullptr) const

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

◆ SelectRandomAtom() [1/2]

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

Definition at line 216 of file G4VEmModel.cc.

221{
223 fCurrentElement = mat->GetElement(0);
224 if (n > 1) {
225 const G4double x = G4UniformRand()*
226 G4VEmModel::CrossSectionPerVolume(mat,pd,kinEnergy,tcut,tmax);
227 for(G4int i=0; i<n; ++i) {
228 if (x <= xsec[i]) {
229 fCurrentElement = mat->GetElement(i);
230 break;
231 }
232 }
233 }
234 return fCurrentElement;
235}
#define G4UniformRand()
Definition Randomize.hh:52

◆ SelectRandomAtom() [2/2]

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

Definition at line 560 of file G4VEmModel.hh.

565{
566 SetCurrentCouple(couple);
567 fCurrentElement = (nSelectors > 0) ?
568 ((*elmSelectors)[couple->GetIndex()])->SelectRandomAtom(kinEnergy) :
569 SelectRandomAtom(pBaseMaterial,part,kinEnergy,cutEnergy,maxEnergy);
570 return fCurrentElement;
571}
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)

Referenced by G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4JAEAElasticScatteringModel::SampleSecondaries(), G4JAEAPolarizedElasticScatteringModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4LivermoreBremsstrahlungModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4LivermoreNuclearGammaConversionModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermorePolarizedGammaConversionModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4LowEPPolarizedComptonModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4MuonToMuonPairProductionModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), SelectRandomAtom(), and SelectTargetAtom().

◆ SelectRandomAtomNumber()

◆ SelectTargetAtom()

◆ SetActivationHighEnergyLimit()

void G4VEmModel::SetActivationHighEnergyLimit ( G4double val)
inline

Definition at line 752 of file G4VEmModel.hh.

753{
754 eMaxActive = val;
755}

Referenced by G4NuclearStopping::InitialiseProcess(), and G4EmConfigurator::SetExtraEmModel().

◆ SetActivationLowEnergyLimit()

◆ SetAngularDistribution()

void G4VEmModel::SetAngularDistribution ( G4VEmAngularDistribution * p)
inline

Definition at line 606 of file G4VEmModel.hh.

607{
608 if(p != anglModel) {
609 delete anglModel;
610 anglModel = p;
611 }
612}

Referenced by G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsSS::ConstructProcess(), G4BetheHeitlerModel::G4BetheHeitlerModel(), G4DNABornIonisationModel1::G4DNABornIonisationModel1(), G4DNABornIonisationModel2::G4DNABornIonisationModel2(), G4DNAEmfietzoglouIonisationModel::G4DNAEmfietzoglouIonisationModel(), G4DNARPWBAIonisationModel::G4DNARPWBAIonisationModel(), G4DNARuddIonisationExtendedModel::G4DNARuddIonisationExtendedModel(), G4DNARuddIonisationModel::G4DNARuddIonisationModel(), G4eBremParametrizedModel::G4eBremParametrizedModel(), G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4LivermoreBremsstrahlungModel::G4LivermoreBremsstrahlungModel(), G4LivermoreIonisationModel::G4LivermoreIonisationModel(), G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(), G4LivermoreRayleighModel::G4LivermoreRayleighModel(), G4MicroElecInelasticModel::G4MicroElecInelasticModel(), G4MicroElecInelasticModel_new::G4MicroElecInelasticModel_new(), G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(), G4MuPairProductionModel::G4MuPairProductionModel(), G4PAIModel::G4PAIModel(), G4PAIPhotModel::G4PAIPhotModel(), G4PairProductionRelModel::G4PairProductionRelModel(), G4PEEffectFluoModel::G4PEEffectFluoModel(), G4SeltzerBergerModel::G4SeltzerBergerModel(), G4AtimaEnergyLossModel::Initialise(), G4BetheBlochModel::Initialise(), G4BraggModel::Initialise(), G4ICRU73QOModel::Initialise(), G4LindhardSorensenIonModel::Initialise(), G4MollerBhabhaModel::Initialise(), and G4MuBetheBlochModel::Initialise().

◆ SetAngularGeneratorFlag()

void G4VEmModel::SetAngularGeneratorFlag ( G4bool val)
inline

Definition at line 696 of file G4VEmModel.hh.

697{
698 useAngularGenerator = val;
699}

Referenced by G4EmTableUtil::UpdateModels().

◆ SetCrossSectionTable()

void G4VEmModel::SetCrossSectionTable ( G4PhysicsTable * p,
G4bool isLocal )

Definition at line 397 of file G4VEmModel.cc.

398{
399 if(p != xSectionTable) {
400 if(xSectionTable != nullptr && localTable) {
402 delete xSectionTable;
403 }
404 xSectionTable = p;
405 }
406 localTable = isLocal;
407}

Referenced by G4EmTableUtil::BuildMscProcess(), and G4TransportationWithMsc::BuildPhysicsTable().

◆ SetCurrentCouple()

void G4VEmModel::SetCurrentCouple ( const G4MaterialCutsCouple * ptr)
inline

Definition at line 467 of file G4VEmModel.hh.

468{
469 if(fCurrentCouple != ptr) {
470 fCurrentCouple = ptr;
472 pBaseMaterial = ptr->GetMaterial();
473 pFactor = 1.0;
474 if(useBaseMaterials) {
475 basedCoupleIndex = (*theDensityIdx)[currentCoupleIndex];
476 if(nullptr != pBaseMaterial->GetBaseMaterial())
478 pFactor = (*theDensityFactor)[currentCoupleIndex];
479 }
480 }
481}
const G4Material * GetBaseMaterial() const
std::size_t currentCoupleIndex
std::size_t basedCoupleIndex

Referenced by G4TransportationWithMsc::AlongStepGetPhysicalInteractionLength(), G4VMultipleScattering::AlongStepGetPhysicalInteractionLength(), G4EmMultiModel::ComputeCrossSectionPerAtom(), ComputeDEDX(), G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(), G4UrbanAdjointMscModel::ComputeTruePathLengthLimit(), G4UrbanMscModel::ComputeTruePathLengthLimit(), CrossSection(), G4WentzelVIModel::DefineMaterial(), G4WentzelVIRelModel::DefineMaterial(), G4EmCalculator::GetCrossSectionPerVolume(), G4EmUtility::InitialiseElementSelectors(), G4EmMultiModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4VEmProcess::SelectModel(), G4VEnergyLossProcess::SelectModel(), SelectRandomAtom(), SelectTargetAtom(), and Value().

◆ SetCurrentElement()

void G4VEmModel::SetCurrentElement ( const G4Element * elm)
inlineprotected

◆ SetDeexcitationFlag()

void G4VEmModel::SetDeexcitationFlag ( G4bool val)
inline

◆ SetElementSelectors()

void G4VEmModel::SetElementSelectors ( std::vector< G4EmElementSelector * > * p)
inline

◆ SetFluctuationFlag()

void G4VEmModel::SetFluctuationFlag ( G4bool val)
inline

Definition at line 703 of file G4VEmModel.hh.

704{
705 lossFlucFlag = val;
706}
G4bool lossFlucFlag

Referenced by G4EmCalculator::ComputeNuclearDEDX().

◆ SetForceBuildTable()

void G4VEmModel::SetForceBuildTable ( G4bool val)
inline

Definition at line 794 of file G4VEmModel.hh.

795{
796 flagForceBuildTable = val;
797}

◆ SetHighEnergyLimit()

void G4VEmModel::SetHighEnergyLimit ( G4double val)
inline

Definition at line 738 of file G4VEmModel.hh.

739{
740 highLimit = val;
741}

Referenced by G4EmDNABuilder::ConstructDNAElectronPhysics(), G4EmDNABuilder::ConstructDNALightIonPhysics(), G4EmDNABuilder::ConstructDNAProtonPhysics(), LBE::ConstructEM(), G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4BraggModel::G4BraggModel(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAELSEPAElasticModel::G4DNAELSEPAElasticModel(), G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(), G4DNAEmfietzoglouIonisationModel::G4DNAEmfietzoglouIonisationModel(), G4DNAIonElasticModel::G4DNAIonElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4DNAScreenedRutherfordElasticModel::G4DNAScreenedRutherfordElasticModel(), G4DNATransformElectronModel::G4DNATransformElectronModel(), G4eDPWACoulombScatteringModel::G4eDPWACoulombScatteringModel(), G4ICRU73QOModel::G4ICRU73QOModel(), G4MicroElecElasticModel::G4MicroElecElasticModel(), G4MicroElecElasticModel_new::G4MicroElecElasticModel_new(), G4PenelopeAnnihilationModel::G4PenelopeAnnihilationModel(), G4PenelopeBremsstrahlungModel::G4PenelopeBremsstrahlungModel(), G4PenelopeComptonModel::G4PenelopeComptonModel(), G4PenelopeGammaConversionModel::G4PenelopeGammaConversionModel(), G4PenelopeIonisationModel::G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(), G4PenelopeRayleighModel::G4PenelopeRayleighModel(), G4PenelopeRayleighModelMI::G4PenelopeRayleighModelMI(), G4TDNAOneStepThermalizationModel< MODEL >::G4TDNAOneStepThermalizationModel(), G4XrayRayleighModel::G4XrayRayleighModel(), G4VLEPTSModel::Init(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4MicroElecElasticModel::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MicroElecInelasticModel_new::Initialise(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4ePairProduction::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuonToMuonPairProduction::InitialiseEnergyLossProcess(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4PolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4PolarizedIonisation::InitialiseEnergyLossProcess(), G4ComptonScattering::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNADissociation::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAPlasmonExcitation::InitialiseProcess(), G4DNAPositronium::InitialiseProcess(), G4DNARotExcitation::InitialiseProcess(), G4DNAVibExcitation::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedPhotoElectric::InitialiseProcess(), G4EmTableUtil::PrepareEmProcess(), G4EmTableUtil::PrepareMscProcess(), G4DNAUeharaScreenedRutherfordElasticModel::SelectHighEnergyLimit(), G4VEmAdjointModel::SetHighEnergyLimit(), G4DNAELSEPAElasticModel::SetMaximumEnergy(), G4mplIonisationModel::SetParticle(), G4mplIonisationWithDeltaModel::SetParticle(), and G4EmTableUtil::UpdateModels().

◆ SetLocked()

void G4VEmModel::SetLocked ( G4bool val)
inline

Definition at line 848 of file G4VEmModel.hh.

849{
850 isLocked = val;
851}

◆ SetLowEnergyLimit()

void G4VEmModel::SetLowEnergyLimit ( G4double val)
inline

Definition at line 745 of file G4VEmModel.hh.

746{
747 lowLimit = val;
748}

Referenced by G4EmDNABuilder::ConstructDNAElectronPhysics(), G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4DNASancheExcitationModel::ExtendLowEnergyLimit(), G4AtimaEnergyLossModel::G4AtimaEnergyLossModel(), G4BetheBlochModel::G4BetheBlochModel(), G4BetheHeitler5DModel::G4BetheHeitler5DModel(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAELSEPAElasticModel::G4DNAELSEPAElasticModel(), G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(), G4DNAEmfietzoglouIonisationModel::G4DNAEmfietzoglouIonisationModel(), G4DNAIonElasticModel::G4DNAIonElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4DNAScreenedRutherfordElasticModel::G4DNAScreenedRutherfordElasticModel(), G4DNATransformElectronModel::G4DNATransformElectronModel(), G4DummyModel::G4DummyModel(), G4eBremParametrizedModel::G4eBremParametrizedModel(), G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4eDPWACoulombScatteringModel::G4eDPWACoulombScatteringModel(), G4LivermoreBremsstrahlungModel::G4LivermoreBremsstrahlungModel(), G4MicroElecElasticModel::G4MicroElecElasticModel(), G4MicroElecElasticModel_new::G4MicroElecElasticModel_new(), G4SeltzerBergerModel::G4SeltzerBergerModel(), G4TDNAOneStepThermalizationModel< MODEL >::G4TDNAOneStepThermalizationModel(), G4VLEPTSModel::Init(), G4BetheHeitler5DModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNARuddIonisationModel::Initialise(), G4MicroElecElasticModel::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MicroElecInelasticModel_new::Initialise(), G4eBremsstrahlung::InitialiseEnergyLossProcess(), G4eIonisation::InitialiseEnergyLossProcess(), G4ePairProduction::InitialiseEnergyLossProcess(), G4hhIonisation::InitialiseEnergyLossProcess(), G4hIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlung::InitialiseEnergyLossProcess(), G4MuIonisation::InitialiseEnergyLossProcess(), G4MuonToMuonPairProduction::InitialiseEnergyLossProcess(), G4MuPairProduction::InitialiseEnergyLossProcess(), G4PolarizedBremsstrahlung::InitialiseEnergyLossProcess(), G4PolarizedIonisation::InitialiseEnergyLossProcess(), G4ComptonScattering::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNADissociation::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAPlasmonExcitation::InitialiseProcess(), G4DNAPositronium::InitialiseProcess(), G4DNARotExcitation::InitialiseProcess(), G4DNAVibExcitation::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4PolarizedPhotoElectric::InitialiseProcess(), G4VEmAdjointModel::SetLowEnergyLimit(), G4mplIonisationModel::SetParticle(), and G4mplIonisationWithDeltaModel::SetParticle().

◆ SetLPMFlag()

void G4VEmModel::SetLPMFlag ( G4bool )

Definition at line 411 of file G4VEmModel.cc.

412{
413 if (G4EmParameters::Instance()->Verbose() > 0) {
415 ed << "The obsolete method SetLPMFlag(..) of the model class " << GetName()
416 << " is called. Please, use G4EmParameters::Instance()->SetLPM(..)"
417 << " instead";
418 G4Exception("G4VEmModel::SetLPMFlag", "em0001", JustWarning, ed);
419 }
420}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
static G4EmParameters * Instance()
const G4String & GetName() const

◆ SetMasterThread()

void G4VEmModel::SetMasterThread ( G4bool val)
inline

◆ SetParticleChange()

◆ SetPolarAngleLimit()

void G4VEmModel::SetPolarAngleLimit ( G4double val)
inline

Definition at line 773 of file G4VEmModel.hh.

774{
775 if(!isLocked) { polarAngleLimit = val; }
776}

Referenced by G4TransportationWithMsc::AddSSModel(), G4CoulombScattering::InitialiseProcess(), G4EmTableUtil::PrepareEmProcess(), and G4EmTableUtil::PrepareMscProcess().

◆ SetSecondaryThreshold()

◆ SetTripletModel()

void G4VEmModel::SetTripletModel ( G4VEmModel * p)
inline

Definition at line 623 of file G4VEmModel.hh.

624{
625 if(p != fTripletModel) {
626 delete fTripletModel;
627 fTripletModel = p;
628 }
629}

Referenced by G4eplusTo2GammaOKVIModel::G4eplusTo2GammaOKVIModel().

◆ SetupForMaterial()

◆ SetUseBaseMaterials()

void G4VEmModel::SetUseBaseMaterials ( G4bool val)
inline

◆ StartTracking()

void G4VEmModel::StartTracking ( G4Track * )
virtual

◆ UseAngularGeneratorFlag()

◆ UseBaseMaterials()

G4bool G4VEmModel::UseBaseMaterials ( ) const
inline

Definition at line 731 of file G4VEmModel.hh.

732{
733 return useBaseMaterials;
734}

◆ Value()

Member Data Documentation

◆ basedCoupleIndex

std::size_t G4VEmModel::basedCoupleIndex = 0
protected

◆ currentCoupleIndex

std::size_t G4VEmModel::currentCoupleIndex = 0
protected

Definition at line 444 of file G4VEmModel.hh.

Referenced by SetCurrentCouple().

◆ fElementData

◆ inveplus

◆ lossFlucFlag

G4bool G4VEmModel::lossFlucFlag = true
protected

Definition at line 446 of file G4VEmModel.hh.

Referenced by SetFluctuationFlag().

◆ pBaseMaterial

◆ pFactor

◆ pParticleChange

◆ theDensityFactor

const std::vector<G4double>* G4VEmModel::theDensityFactor = nullptr
protected

Definition at line 424 of file G4VEmModel.hh.

Referenced by G4VEmModel().

◆ theDensityIdx

const std::vector<G4int>* G4VEmModel::theDensityIdx = nullptr
protected

Definition at line 425 of file G4VEmModel.hh.

Referenced by G4VEmModel().

◆ xSectionTable


The documentation for this class was generated from the following files: