Geant4 11.3.0
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)
 
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)
 
void SetMasterThread (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 isMaster = fEmManager->IsMaster();
78
79 G4LossTableBuilder* bld = fEmManager->GetTableBuilder();
82}
static const std::vector< G4double > * GetDensityFactors()
static const std::vector< G4int > * GetCoupleIndexes()
static G4LossTableManager * Instance()
const std::vector< G4double > * theDensityFactor
G4double inveplus
const std::vector< G4int > * theDensityIdx

Referenced by G4EmMultiModel::AddModel(), G4AtimaEnergyLossModel::G4AtimaEnergyLossModel(), G4BetheBlochModel::G4BetheBlochModel(), G4BetheHeitlerModel::G4BetheHeitlerModel(), G4BoldyshevTripletModel::G4BoldyshevTripletModel(), G4BraggModel::G4BraggModel(), G4DNABornExcitationModel1::G4DNABornExcitationModel1(), G4DNABornExcitationModel2::G4DNABornExcitationModel2(), G4DNABornIonisationModel1::G4DNABornIonisationModel1(), G4DNABornIonisationModel2::G4DNABornIonisationModel2(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNADingfelderChargeDecreaseModel::G4DNADingfelderChargeDecreaseModel(), G4DNADingfelderChargeIncreaseModel::G4DNADingfelderChargeIncreaseModel(), G4DNADiracRMatrixExcitationModel::G4DNADiracRMatrixExcitationModel(), G4DNADoubleIonisationModel::G4DNADoubleIonisationModel(), G4DNAELSEPAElasticModel::G4DNAELSEPAElasticModel(), G4DNAEmfietzoglouExcitationModel::G4DNAEmfietzoglouExcitationModel(), G4DNAEmfietzoglouIonisationModel::G4DNAEmfietzoglouIonisationModel(), G4DNAGeneralIonIonisationModel::G4DNAGeneralIonIonisationModel(), G4DNAIonChargeDecreaseModel::G4DNAIonChargeDecreaseModel(), G4DNAIonChargeIncreaseModel::G4DNAIonChargeIncreaseModel(), G4DNAIonElasticModel::G4DNAIonElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNAMillerGreenExcitationModel::G4DNAMillerGreenExcitationModel(), G4DNAModelInterface::G4DNAModelInterface(), G4DNAQuinnPlasmonExcitationModel::G4DNAQuinnPlasmonExcitationModel(), G4DNARelativisticIonisationModel::G4DNARelativisticIonisationModel(), G4DNARPWBAExcitationModel::G4DNARPWBAExcitationModel(), G4DNARPWBAIonisationModel::G4DNARPWBAIonisationModel(), G4DNARuddIonisationExtendedModel::G4DNARuddIonisationExtendedModel(), G4DNARuddIonisationModel::G4DNARuddIonisationModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4DNAScreenedRutherfordElasticModel::G4DNAScreenedRutherfordElasticModel(), G4DNATransformElectronModel::G4DNATransformElectronModel(), G4DNAUeharaScreenedRutherfordElasticModel::G4DNAUeharaScreenedRutherfordElasticModel(), G4eBremParametrizedModel::G4eBremParametrizedModel(), G4eBremsstrahlungRelModel::G4eBremsstrahlungRelModel(), G4eCoulombScatteringModel::G4eCoulombScatteringModel(), G4eDPWACoulombScatteringModel::G4eDPWACoulombScatteringModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4eeToHadronsMultiModel::G4eeToHadronsMultiModel(), G4eeToTwoGammaModel::G4eeToTwoGammaModel(), G4EmMultiModel::G4EmMultiModel(), G4eplusTo2or3GammaModel::G4eplusTo2or3GammaModel(), G4eplusTo3GammaOKVIModel::G4eplusTo3GammaOKVIModel(), G4eSingleCoulombScatteringModel::G4eSingleCoulombScatteringModel(), G4hCoulombScatteringModel::G4hCoulombScatteringModel(), G4ICRU49NuclearStoppingModel::G4ICRU49NuclearStoppingModel(), G4ICRU73QOModel::G4ICRU73QOModel(), G4IonCoulombScatteringModel::G4IonCoulombScatteringModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4JAEAElasticScatteringModel::G4JAEAElasticScatteringModel(), G4JAEAPolarizedElasticScatteringModel::G4JAEAPolarizedElasticScatteringModel(), G4KleinNishinaCompton::G4KleinNishinaCompton(), G4KleinNishinaModel::G4KleinNishinaModel(), G4LindhardSorensenIonModel::G4LindhardSorensenIonModel(), G4LivermoreComptonModel::G4LivermoreComptonModel(), G4LivermoreIonisationModel::G4LivermoreIonisationModel(), G4LivermoreNuclearGammaConversionModel::G4LivermoreNuclearGammaConversionModel(), G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(), G4LivermorePolarizedComptonModel::G4LivermorePolarizedComptonModel(), G4LivermorePolarizedGammaConversionModel::G4LivermorePolarizedGammaConversionModel(), G4LivermorePolarizedRayleighModel::G4LivermorePolarizedRayleighModel(), G4LivermoreRayleighModel::G4LivermoreRayleighModel(), G4LowEPComptonModel::G4LowEPComptonModel(), G4LowEPPolarizedComptonModel::G4LowEPPolarizedComptonModel(), G4MicroElecElasticModel::G4MicroElecElasticModel(), G4MicroElecElasticModel_new::G4MicroElecElasticModel_new(), G4MicroElecInelasticModel::G4MicroElecInelasticModel(), G4MicroElecInelasticModel_new::G4MicroElecInelasticModel_new(), G4MicroElecLOPhononModel::G4MicroElecLOPhononModel(), G4MollerBhabhaModel::G4MollerBhabhaModel(), G4mplIonisationModel::G4mplIonisationModel(), G4mplIonisationWithDeltaModel::G4mplIonisationWithDeltaModel(), G4MuBetheBlochModel::G4MuBetheBlochModel(), G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(), G4MuPairProductionModel::G4MuPairProductionModel(), G4PAIModel::G4PAIModel(), G4PAIPhotModel::G4PAIPhotModel(), G4PairProductionRelModel::G4PairProductionRelModel(), G4PEEffectFluoModel::G4PEEffectFluoModel(), G4PenelopeAnnihilationModel::G4PenelopeAnnihilationModel(), G4PenelopeBremsstrahlungModel::G4PenelopeBremsstrahlungModel(), G4PenelopeComptonModel::G4PenelopeComptonModel(), G4PenelopeGammaConversionModel::G4PenelopeGammaConversionModel(), G4PenelopeIonisationModel::G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(), G4PenelopeRayleighModel::G4PenelopeRayleighModel(), G4PenelopeRayleighModelMI::G4PenelopeRayleighModelMI(), G4RiGeMuPairProductionModel::G4RiGeMuPairProductionModel(), G4SeltzerBergerModel::G4SeltzerBergerModel(), G4TDNAOneStepThermalizationModel< MODEL >::G4TDNAOneStepThermalizationModel(), G4VDNAModel::G4VDNAModel(), G4VEmModel(), G4VLEPTSModel::G4VLEPTSModel(), G4VMscModel::G4VMscModel(), G4XrayRayleighModel::G4XrayRayleighModel(), GetTripletModel(), G4BetheHeitlerModel::InitialiseLocal(), G4eBremParametrizedModel::InitialiseLocal(), G4eBremsstrahlungRelModel::InitialiseLocal(), G4eCoulombScatteringModel::InitialiseLocal(), G4eDPWACoulombScatteringModel::InitialiseLocal(), G4eSingleCoulombScatteringModel::InitialiseLocal(), G4GoudsmitSaundersonMscModel::InitialiseLocal(), G4hCoulombScatteringModel::InitialiseLocal(), G4JAEAElasticScatteringModel::InitialiseLocal(), G4JAEAPolarizedElasticScatteringModel::InitialiseLocal(), G4KleinNishinaCompton::InitialiseLocal(), G4KleinNishinaModel::InitialiseLocal(), G4LivermoreComptonModel::InitialiseLocal(), G4LivermoreNuclearGammaConversionModel::InitialiseLocal(), G4LivermorePolarizedComptonModel::InitialiseLocal(), G4LivermorePolarizedGammaConversionModel::InitialiseLocal(), G4LivermorePolarizedRayleighModel::InitialiseLocal(), G4LivermoreRayleighModel::InitialiseLocal(), G4LowEPComptonModel::InitialiseLocal(), G4LowEPPolarizedComptonModel::InitialiseLocal(), G4MuBremsstrahlungModel::InitialiseLocal(), G4MuPairProductionModel::InitialiseLocal(), G4PAIModel::InitialiseLocal(), G4PAIPhotModel::InitialiseLocal(), G4PairProductionRelModel::InitialiseLocal(), G4PenelopeAnnihilationModel::InitialiseLocal(), G4PenelopeBremsstrahlungModel::InitialiseLocal(), G4PenelopeComptonModel::InitialiseLocal(), G4PenelopeGammaConversionModel::InitialiseLocal(), G4PenelopeIonisationModel::InitialiseLocal(), G4PenelopePhotoElectricModel::InitialiseLocal(), G4PenelopeRayleighModel::InitialiseLocal(), G4PenelopeRayleighModelMI::InitialiseLocal(), G4RiGeMuPairProductionModel::InitialiseLocal(), G4SeltzerBergerModel::InitialiseLocal(), InitialiseLocal(), G4WentzelVIModel::InitialiseLocal(), G4DNAModelInterface::operator=(), operator=(), G4DNAModelInterface::RegisterModel(), SampleSecondaries(), SetTripletModel(), G4EmMultiModel::~G4EmMultiModel(), G4KleinNishinaCompton::~G4KleinNishinaCompton(), G4KleinNishinaModel::~G4KleinNishinaModel(), G4MuPairProductionModel::~G4MuPairProductionModel(), and G4RiGeMuPairProductionModel::~G4RiGeMuPairProductionModel().

◆ ~G4VEmModel()

G4VEmModel::~G4VEmModel ( )
virtual

Definition at line 86 of file G4VEmModel.cc.

87{
88 if(localElmSelectors) {
89 for(G4int i=0; i<nSelectors; ++i) {
90 delete (*elmSelectors)[i];
91 }
92 delete elmSelectors;
93 }
94 delete anglModel;
95
96 if(localTable && xSectionTable != nullptr) {
97 xSectionTable->clearAndDestroy();
98 delete xSectionTable;
99 xSectionTable = nullptr;
100 }
101 fEmManager->DeRegister(this);
102}
int G4int
Definition G4Types.hh:85
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 315 of file G4VEmModel.cc.

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

◆ 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, G4eplusTo2or3GammaModel, 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, G4RiGeMuPairProductionModel, G4SeltzerBergerModel, G4UrbanAdjointMscModel, G4UrbanMscModel, G4WentzelVIModel, G4WentzelVIRelModel, and G4XrayRayleighModel.

Definition at line 282 of file G4VEmModel.cc.

285{
286 return 0.0;
287}

Referenced by ComputeCrossSectionPerAtom(), and CrossSectionPerVolume().

◆ ComputeCrossSectionPerShell()

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

Definition at line 292 of file G4VEmModel.cc.

295{
296 return 0.0;
297}

◆ 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()

void G4VEmModel::CorrectionsAlongStep ( const G4MaterialCutsCouple * ,
const G4DynamicParticle * ,
const G4double & length,
G4double & eloss )
virtual

◆ 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, G4DNADoubleIonisationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAGeneralIonIonisationModel, G4DNAIonChargeDecreaseModel, G4DNAIonChargeIncreaseModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuadrupleIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNATripleIonisationModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4eplusTo2or3GammaModel, 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 >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, and G4VDNAModel.

Definition at line 179 of file G4VEmModel.cc.

184{
185 SetupForMaterial(p, mat, ekin);
186 const G4double* theAtomNumDensityVector = mat->GetVecNbOfAtomsPerVolume();
187 G4int nelm = (G4int)mat->GetNumberOfElements();
188 if(nelm > nsec) {
189 xsec.resize(nelm);
190 nsec = nelm;
191 }
192 G4double cross = 0.0;
193 for (G4int i=0; i<nelm; ++i) {
194 cross += theAtomNumDensityVector[i]*
195 ComputeCrossSectionPerAtom(p,mat->GetElement(i),ekin,emin,emax);
196 xsec[i] = cross;
197 }
198 return cross;
199}
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 ComputeMeanFreePath(), CrossSection(), G4LivermorePhotoElectricModel::CrossSectionPerVolume(), G4PenelopeRayleighModelMI::CrossSectionPerVolume(), 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 301 of file G4VEmModel.cc.

302{}

Referenced by G4EmModelManager::AddEmModel().

◆ FillNumberOfSecondaries()

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

Definition at line 306 of file G4VEmModel.cc.

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

◆ ForceBuildTableFlag()

G4bool G4VEmModel::ForceBuildTableFlag ( ) const
inline

Definition at line 682 of file G4VEmModel.hh.

683{
684 return flagForceBuildTable;
685}

Referenced by G4EmTableUtil::BuildMscProcess().

◆ GetAngularDistribution()

G4VEmAngularDistribution * G4VEmModel::GetAngularDistribution ( )
inline

Definition at line 599 of file G4VEmModel.hh.

600{
601 return anglModel;
602}

Referenced by G4EmModelManager::DumpModelList(), G4DNADoubleIonisationModel::GenerateSecondaries(), G4AtimaEnergyLossModel::Initialise(), G4BetheBlochModel::Initialise(), G4BraggModel::Initialise(), G4ICRU73QOModel::Initialise(), G4LindhardSorensenIonModel::Initialise(), G4MollerBhabhaModel::Initialise(), G4MuBetheBlochModel::Initialise(), 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()

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

◆ GetCrossSectionTable()

G4PhysicsTable * G4VEmModel::GetCrossSectionTable ( )
inline

◆ GetCurrentElement()

const G4Element * G4VEmModel::GetCurrentElement ( const G4Material * mat = nullptr) const

Definition at line 240 of file G4VEmModel.cc.

241{
242 const G4Element* elm = fCurrentElement;
243 if(nullptr == elm && nullptr != mat) {
245 }
246 return elm;
247}
static const G4Element * SampleRandomElement(const G4Material *)

Referenced by GetCurrentIsotope(), G4PolarizedBremsstrahlungModel::SampleSecondaries(), G4PolarizedGammaConversionModel::SampleSecondaries(), G4PolarizedPhotoElectricModel::SampleSecondaries(), G4PolarizedBremsstrahlungModel::SelectedAtom(), G4PolarizedGammaConversionModel::SelectedAtom(), and SelectRandomAtomNumber().

◆ GetCurrentIsotope()

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

Definition at line 259 of file G4VEmModel.cc.

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

Referenced by SelectIsotopeNumber().

◆ GetElementData()

G4ElementData * G4VEmModel::GetElementData ( )
inline

Definition at line 820 of file G4VEmModel.hh.

821{
822 return fElementData;
823}
G4ElementData * fElementData

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

◆ GetElementSelectors()

◆ GetModelOfFluctuations()

G4VEmFluctuationModel * G4VEmModel::GetModelOfFluctuations ( )
inline

Definition at line 592 of file G4VEmModel.hh.

593{
594 return flucModel;
595}

Referenced by G4IonParametrisedLossModel::CorrectionsAlongStep(), and G4EmMultiModel::Initialise().

◆ GetName()

◆ GetPartialCrossSection()

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

◆ GetParticleChangeForGamma()

G4ParticleChangeForGamma * G4VEmModel::GetParticleChangeForGamma ( )
protected

Definition at line 121 of file G4VEmModel.cc.

122{
123 G4ParticleChangeForGamma* p = nullptr;
124 if (pParticleChange != nullptr) {
125 p = static_cast<G4ParticleChangeForGamma*>(pParticleChange);
126 } else {
127 p = new G4ParticleChangeForGamma();
128 pParticleChange = p;
129 }
130 if(fTripletModel != nullptr) { fTripletModel->SetParticleChange(p); }
131 return p;
132}
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(), G4DNADoubleIonisationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAGeneralIonIonisationModel::Initialise(), G4DNAIonChargeDecreaseModel::Initialise(), G4DNAIonChargeIncreaseModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), G4DNAPTBIonisationModel::Initialise(), G4DNAQuadrupleIonisationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNATransformElectronModel::Initialise(), G4DNATripleIonisationModel::Initialise(), G4DNAUeharaScreenedRutherfordElasticModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4eeToHadronsMultiModel::Initialise(), G4eeToTwoGammaModel::Initialise(), G4eplusTo2or3GammaModel::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(), G4TDNAOneStepThermalizationModel< MODEL >::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 G4EmTableUtil::BuildMscProcess(), G4DNAChampionElasticModel::CrossSectionPerVolume(), G4DNAELSEPAElasticModel::CrossSectionPerVolume(), G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume(), G4DNAEmfietzoglouIonisationModel::CrossSectionPerVolume(), G4DNAMeltonAttachmentModel::CrossSectionPerVolume(), G4DNASancheExcitationModel::CrossSectionPerVolume(), G4DNAScreenedRutherfordElasticModel::CrossSectionPerVolume(), G4DNATransformElectronModel::CrossSectionPerVolume(), G4TDNAOneStepThermalizationModel< MODEL >::CrossSectionPerVolume(), G4DNAChampionElasticModel::G4DNAChampionElasticModel(), G4DNAMeltonAttachmentModel::G4DNAMeltonAttachmentModel(), G4DNASancheExcitationModel::G4DNASancheExcitationModel(), G4eeToHadronsModel::G4eeToHadronsModel(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4LivermorePolarizedRayleighModel::G4LivermorePolarizedRayleighModel(), G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >::GetRmean(), G4BoldyshevTripletModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADiracRMatrixExcitationModel::Initialise(), G4DNADoubleIonisationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAQuadrupleIonisationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNATripleIonisationModel::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(), G4RiGeMuPairProductionModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4hIonisation::InitialiseEnergyLossProcess(), G4ionIonisation::InitialiseEnergyLossProcess(), G4mplIonisation::InitialiseEnergyLossProcess(), G4MuBremsstrahlungModel::InitialiseLocal(), G4MuPairProductionModel::InitialiseLocal(), G4RiGeMuPairProductionModel::InitialiseLocal(), G4CoulombScattering::InitialiseProcess(), 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, G4DNADoubleIonisationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAGeneralIonIonisationModel, G4DNAIonChargeDecreaseModel, G4DNAIonChargeIncreaseModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuadrupleIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNATripleIonisationModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4DummyModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eDPWACoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eplusTo2or3GammaModel, 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, G4RiGeMuPairProductionModel, G4SeltzerBergerModel, G4TDNAOneStepThermalizationModel< MODEL >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, G4UrbanAdjointMscModel, G4UrbanMscModel, G4VDNAModel, G4WentzelVIModel, G4WentzelVIRelModel, and G4XrayRayleighModel.

Referenced by G4eBremsstrahlungRelModel::Initialise().

◆ InitialiseElementSelectors()

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

Definition at line 136 of file G4VEmModel.cc.

138{
139 if(highLimit <= lowLimit) { return; }
140 G4EmUtility::InitialiseElementSelectors(this,part,cuts,lowLimit,highLimit);
141 localElmSelectors = true;
142}
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(), G4RiGeMuPairProductionModel::Initialise(), G4SeltzerBergerModel::Initialise(), and G4XrayRayleighModel::Initialise().

◆ InitialiseForElement()

◆ InitialiseForMaterial()

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

Definition at line 151 of file G4VEmModel.cc.

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

◆ InitialiseLocal()

◆ IsActive()

G4bool G4VEmModel::IsActive ( G4double kinEnergy) const
inline

Definition at line 759 of file G4VEmModel.hh.

760{
761 return (kinEnergy >= eMinActive && kinEnergy <= eMaxActive);
762}

Referenced by G4NuclearStopping::AlongStepDoIt(), and G4TransportationWithMsc::AlongStepGetPhysicalInteractionLength().

◆ IsLocked()

◆ IsMaster()

G4bool G4VEmModel::IsMaster ( ) const
inline

Definition at line 710 of file G4VEmModel.hh.

711{
712 return isMaster;
713}

Referenced by G4MuonToMuonPairProductionModel::DataCorrupted(), G4MuPairProductionModel::DataCorrupted(), G4RiGeMuPairProductionModel::DataCorrupted(), G4PenelopePhotoElectricModel::GetNumberOfShellXS(), G4BetheBlochModel::Initialise(), G4BetheHeitlerModel::Initialise(), G4BoldyshevTripletModel::Initialise(), G4eBremParametrizedModel::Initialise(), G4eBremsstrahlungRelModel::Initialise(), G4eCoulombScatteringModel::Initialise(), G4eDPWACoulombScatteringModel::Initialise(), G4EmMultiModel::Initialise(), G4eplusTo2or3GammaModel::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(), G4RiGeMuPairProductionModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4PenelopeBremsstrahlungModel::InitialiseLocal(), G4BoldyshevTripletModel::~G4BoldyshevTripletModel(), G4eDPWACoulombScatteringModel::~G4eDPWACoulombScatteringModel(), G4eplusTo2or3GammaModel::~G4eplusTo2or3GammaModel(), 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 G4EmTableUtil::BuildMscProcess(), G4eBremsstrahlungRelModel::ComputeCrossSectionPerAtom(), G4KleinNishinaCompton::ComputeCrossSectionPerAtom(), G4KleinNishinaModel::ComputeCrossSectionPerAtom(), G4LivermoreComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedComptonModel::ComputeCrossSectionPerAtom(), G4LowEPComptonModel::ComputeCrossSectionPerAtom(), G4LowEPPolarizedComptonModel::ComputeCrossSectionPerAtom(), G4mplIonisationWithDeltaModel::ComputeCrossSectionPerElectron(), 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(), G4BoldyshevTripletModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNAChampionElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNADiracRMatrixExcitationModel::Initialise(), G4DNADoubleIonisationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAQuadrupleIonisationModel::Initialise(), G4DNAQuinnPlasmonExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNARPWBAExcitationModel::Initialise(), G4DNARPWBAIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNATripleIonisationModel::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(), G4RiGeMuPairProductionModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4WentzelVIModel::Initialise(), G4mplIonisation::InitialiseEnergyLossProcess(), G4CoulombScattering::InitialiseProcess(), 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 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, G4DNADoubleIonisationModel, G4DNAELSEPAElasticModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAGeneralIonIonisationModel, G4DNAIonChargeDecreaseModel, G4DNAIonChargeIncreaseModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAModelInterface, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAPTBIonisationModel, G4DNAQuadrupleIonisationModel, G4DNAQuinnPlasmonExcitationModel, G4DNARelativisticIonisationModel, G4DNARPWBAExcitationModel, G4DNARPWBAIonisationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNATripleIonisationModel, G4DNAUeharaScreenedRutherfordElasticModel, G4DNAVacuumModel, G4DummyModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eDPWACoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eplusTo2or3GammaModel, 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, G4RiGeMuPairProductionModel, G4SeltzerBergerModel, G4TDNAOneStepThermalizationModel< MODEL >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, G4TDNAOneStepThermalizationModel< DNA::Penetration::Meesungnoen2002 >, G4VDNAModel, G4VMscModel, and G4XrayRayleighModel.

Referenced by G4TransportationWithMsc::AlongStepGetPhysicalInteractionLength(), and G4eBremsstrahlungRelModel::SampleSecondaries().

◆ SecondaryThreshold()

◆ SelectIsotopeNumber()

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

Definition at line 274 of file G4VEmModel.cc.

275{
276 auto iso = GetCurrentIsotope(elm);
277 return (nullptr != iso) ? iso->GetN() : 0;
278}
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 217 of file G4VEmModel.cc.

222{
224 fCurrentElement = mat->GetElement(0);
225 if (n > 1) {
226 const G4double x = G4UniformRand()*
227 G4VEmModel::CrossSectionPerVolume(mat,pd,kinEnergy,tcut,tmax);
228 for(G4int i=0; i<n; ++i) {
229 if (x <= xsec[i]) {
230 fCurrentElement = mat->GetElement(i);
231 break;
232 }
233 }
234 }
235 return fCurrentElement;
236}
#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 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(), G4RiGeMuPairProductionModel::SampleSecondaries(), SelectRandomAtom(), and SelectTargetAtom().

◆ SelectRandomAtomNumber()

◆ SelectTargetAtom()

◆ SetActivationHighEnergyLimit()

void G4VEmModel::SetActivationHighEnergyLimit ( G4double val)
inline

Definition at line 745 of file G4VEmModel.hh.

746{
747 eMaxActive = val;
748}

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(), G4DNADoubleIonisationModel::G4DNADoubleIonisationModel(), 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(), G4RiGeMuPairProductionModel::G4RiGeMuPairProductionModel(), 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 398 of file G4VEmModel.cc.

399{
400 xSectionTable = p;
401 localTable = isLocal;
402}

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

◆ SetCurrentCouple()

◆ SetCurrentElement()

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

◆ SetDeexcitationFlag()

void G4VEmModel::SetDeexcitationFlag ( G4bool val)
inline

Definition at line 780 of file G4VEmModel.hh.

781{
782 flagDeexcitation = val;
783}

Referenced by G4DNABornIonisationModel1::G4DNABornIonisationModel1(), G4DNABornIonisationModel2::G4DNABornIonisationModel2(), G4DNADoubleIonisationModel::G4DNADoubleIonisationModel(), G4DNAEmfietzoglouIonisationModel::G4DNAEmfietzoglouIonisationModel(), G4DNARelativisticIonisationModel::G4DNARelativisticIonisationModel(), G4DNARPWBAIonisationModel::G4DNARPWBAIonisationModel(), G4DNARuddIonisationExtendedModel::G4DNARuddIonisationExtendedModel(), G4DNARuddIonisationModel::G4DNARuddIonisationModel(), G4KleinNishinaModel::G4KleinNishinaModel(), G4LEPTSIonisationModel::G4LEPTSIonisationModel(), G4LivermoreComptonModel::G4LivermoreComptonModel(), G4LivermorePhotoElectricModel::G4LivermorePhotoElectricModel(), G4LivermorePolarizedComptonModel::G4LivermorePolarizedComptonModel(), G4LowEPComptonModel::G4LowEPComptonModel(), G4LowEPPolarizedComptonModel::G4LowEPPolarizedComptonModel(), G4MicroElecInelasticModel::G4MicroElecInelasticModel(), G4MicroElecInelasticModel_new::G4MicroElecInelasticModel_new(), G4PEEffectFluoModel::G4PEEffectFluoModel(), G4PenelopeBremsstrahlungModel::G4PenelopeBremsstrahlungModel(), G4PenelopeComptonModel::G4PenelopeComptonModel(), G4PenelopeIonisationModel::G4PenelopeIonisationModel(), G4PenelopePhotoElectricModel::G4PenelopePhotoElectricModel(), G4AtimaEnergyLossModel::Initialise(), G4BetheBlochModel::Initialise(), G4BraggModel::Initialise(), G4ICRU73QOModel::Initialise(), and G4LindhardSorensenIonModel::Initialise().

◆ SetElementSelectors()

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

Definition at line 809 of file G4VEmModel.hh.

810{
811 if(p != elmSelectors) {
812 elmSelectors = p;
813 nSelectors = (nullptr != elmSelectors) ? G4int(elmSelectors->size()) : 0;
814 localElmSelectors = false;
815 }
816}

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

◆ 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 787 of file G4VEmModel.hh.

788{
789 flagForceBuildTable = val;
790}

◆ SetHighEnergyLimit()

void G4VEmModel::SetHighEnergyLimit ( G4double val)
inline

Definition at line 731 of file G4VEmModel.hh.

732{
733 highLimit = val;
734}

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(), G4DNADoubleIonisationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNAQuadrupleIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNATripleIonisationModel::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(), 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(), G4DNAELSEPAElasticModel::SetMaximumEnergy(), G4mplIonisationModel::SetParticle(), G4mplIonisationWithDeltaModel::SetParticle(), and G4EmTableUtil::UpdateModels().

◆ SetLocked()

void G4VEmModel::SetLocked ( G4bool val)
inline

Definition at line 841 of file G4VEmModel.hh.

842{
843 isLocked = val;
844}

◆ SetLowEnergyLimit()

void G4VEmModel::SetLowEnergyLimit ( G4double val)
inline

Definition at line 738 of file G4VEmModel.hh.

739{
740 lowLimit = val;
741}

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(), G4DNADoubleIonisationModel::Initialise(), G4DNAELSEPAElasticModel::Initialise(), G4DNAIonElasticModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNAModelInterface::Initialise(), G4DNAQuadrupleIonisationModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNATripleIonisationModel::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(), 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(), G4mplIonisationModel::SetParticle(), and G4mplIonisationWithDeltaModel::SetParticle().

◆ SetLPMFlag()

void G4VEmModel::SetLPMFlag ( G4bool )

Definition at line 406 of file G4VEmModel.cc.

407{
408 if (G4EmParameters::Instance()->Verbose() > 0) {
410 ed << "The obsolete method SetLPMFlag(..) of the model class " << GetName()
411 << " is called. Please, use G4EmParameters::Instance()->SetLPM(..)"
412 << " instead";
413 G4Exception("G4VEmModel::SetLPMFlag", "em0001", JustWarning, ed);
414 }
415}
@ 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 )

Definition at line 419 of file G4VEmModel.cc.

420{}

◆ SetParticleChange()

void G4VEmModel::SetParticleChange ( G4VParticleChange * p,
G4VEmFluctuationModel * f = nullptr )

◆ SetPolarAngleLimit()

void G4VEmModel::SetPolarAngleLimit ( G4double val)
inline

◆ 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 G4eplusTo2or3GammaModel::G4eplusTo2or3GammaModel().

◆ SetupForMaterial()

◆ SetUseBaseMaterials()

void G4VEmModel::SetUseBaseMaterials ( G4bool val)
inline

◆ StartTracking()

◆ UseAngularGeneratorFlag()

◆ UseBaseMaterials()

G4bool G4VEmModel::UseBaseMaterials ( ) const
inline

Definition at line 724 of file G4VEmModel.hh.

725{
726 return useBaseMaterials;
727}

◆ 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: