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

Protected Member Functions

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

Protected Attributes

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

Detailed Description

Definition at line 101 of file G4VEmModel.hh.

Constructor & Destructor Documentation

◆ G4VEmModel()

G4VEmModel::G4VEmModel ( const G4String nam)

Definition at line 61 of file G4VEmModel.cc.

61 :
62 flucModel(0),anglModel(0), name(nam), lowLimit(0.1*CLHEP::keV),
63 highLimit(100.0*CLHEP::TeV),eMinActive(0.0),eMaxActive(DBL_MAX),
64 polarAngleLimit(CLHEP::pi),secondaryThreshold(DBL_MAX),
65 theLPMflag(false),flagDeexcitation(false),flagForceBuildTable(false),
67 fCurrentCouple(0),fCurrentElement(0),
68 nsec(5)
69{
70 xsec.resize(nsec);
71 nSelectors = 0;
73}
static G4LossTableManager * Instance()
void Register(G4VEnergyLossProcess *p)
G4PhysicsTable * xSectionTable
Definition: G4VEmModel.hh:352
const std::vector< G4double > * theDensityFactor
Definition: G4VEmModel.hh:353
G4VParticleChange * pParticleChange
Definition: G4VEmModel.hh:351
const std::vector< G4int > * theDensityIdx
Definition: G4VEmModel.hh:354
#define DBL_MAX
Definition: templates.hh:83

◆ ~G4VEmModel()

G4VEmModel::~G4VEmModel ( )
virtual

Definition at line 77 of file G4VEmModel.cc.

78{
80 G4int n = elmSelectors.size();
81 if(n > 0) {
82 for(G4int i=0; i<n; ++i) {
83 delete elmSelectors[i];
84 }
85 }
86 delete anglModel;
87 if(xSectionTable) {
89 delete xSectionTable;
90 }
91}
int G4int
Definition: G4Types.hh:66
void DeRegister(G4VEnergyLossProcess *p)
void clearAndDestroy()

Member Function Documentation

◆ ChargeSquareRatio()

G4double G4VEmModel::ChargeSquareRatio ( const G4Track track)
virtual

Reimplemented in G4BraggIonGasModel, and G4BetheBlochIonGasModel.

Definition at line 254 of file G4VEmModel.cc.

255{
257 track.GetMaterial(), track.GetKineticEnergy());
258}
const G4ParticleDefinition * GetParticleDefinition() const
G4Material * GetMaterial() const
G4double GetKineticEnergy() const
virtual G4double GetChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
Definition: G4VEmModel.cc:262

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

450{
451 fCurrentElement = elm;
452 return ComputeCrossSectionPerAtom(part,kinEnergy,elm->GetZ(),elm->GetN(),
453 cutEnergy,maxEnergy);
454}
G4double GetZ() const
Definition: G4Element.hh:131
G4double GetN() const
Definition: G4Element.hh:134
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
Definition: G4VEmModel.cc:240

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

Definition at line 240 of file G4VEmModel.cc.

243{
244 return 0.0;
245}

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

◆ ComputeDEDX()

G4double G4VEmModel::ComputeDEDX ( const G4MaterialCutsCouple c,
const G4ParticleDefinition p,
G4double  kineticEnergy,
G4double  cutEnergy = DBL_MAX 
)
inline

Definition at line 407 of file G4VEmModel.hh.

411{
412 fCurrentCouple = c;
413 return ComputeDEDXPerVolume(c->GetMaterial(),p,kinEnergy,cutEnergy);
414}
const G4Material * GetMaterial() const
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
Definition: G4VEmModel.cc:177

◆ ComputeDEDXPerVolume()

◆ ComputeMeanFreePath()

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

Definition at line 430 of file G4VEmModel.hh.

435{
436 G4double mfp = DBL_MAX;
437 G4double cross = CrossSectionPerVolume(material,p,ekin,emin,emax);
438 if (cross > DBL_MIN) { mfp = 1./cross; }
439 return mfp;
440}
double G4double
Definition: G4Types.hh:64
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
Definition: G4VEmModel.cc:186
#define DBL_MIN
Definition: templates.hh:75

◆ CorrectionsAlongStep()

◆ CrossSection()

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

◆ CrossSectionPerVolume()

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

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

Definition at line 186 of file G4VEmModel.cc.

191{
192 SetupForMaterial(p, material, ekin);
193 G4double cross = 0.0;
194 const G4ElementVector* theElementVector = material->GetElementVector();
195 const G4double* theAtomNumDensityVector = material->GetVecNbOfAtomsPerVolume();
196 G4int nelm = material->GetNumberOfElements();
197 if(nelm > nsec) {
198 xsec.resize(nelm);
199 nsec = nelm;
200 }
201 for (G4int i=0; i<nelm; i++) {
202 cross += theAtomNumDensityVector[i]*
203 ComputeCrossSectionPerAtom(p,(*theElementVector)[i],ekin,emin,emax);
204 xsec[i] = cross;
205 }
206 return cross;
207}
std::vector< G4Element * > G4ElementVector
const G4ElementVector * GetElementVector() const
Definition: G4Material.hh:189
size_t GetNumberOfElements() const
Definition: G4Material.hh:185
const G4double * GetVecNbOfAtomsPerVolume() const
Definition: G4Material.hh:205
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
Definition: G4VEmModel.cc:311

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

◆ CurrentCouple()

◆ DeexcitationFlag()

G4bool G4VEmModel::DeexcitationFlag ( ) const
inline

Definition at line 571 of file G4VEmModel.hh.

572{
573 return flagDeexcitation;
574}

Referenced by G4EmModelManager::DumpModelList().

◆ DefineForRegion()

void G4VEmModel::DefineForRegion ( const G4Region )
virtual

Reimplemented in G4PAIModel, and G4PAIPhotonModel.

Definition at line 249 of file G4VEmModel.cc.

250{}

Referenced by G4EmModelManager::AddEmModel().

◆ ForceBuildTable()

void G4VEmModel::ForceBuildTable ( G4bool  val)
inline

Definition at line 648 of file G4VEmModel.hh.

649{
650 flagForceBuildTable = val;
651}

◆ ForceBuildTableFlag()

G4bool G4VEmModel::ForceBuildTableFlag ( ) const
inline

Definition at line 578 of file G4VEmModel.hh.

579{
580 return flagForceBuildTable;
581}

Referenced by G4VMscModel::GetParticleChangeForMSC().

◆ GetAngularDistribution()

◆ GetChargeSquareRatio()

◆ GetCrossSectionTable()

G4PhysicsTable * G4VEmModel::GetCrossSectionTable ( )
inline

Definition at line 660 of file G4VEmModel.hh.

661{
662 return xSectionTable;
663}

Referenced by G4EmModelManager::DumpModelList(), and G4VMultipleScattering::StorePhysicsTable().

◆ GetCurrentElement()

◆ GetModelOfFluctuations()

◆ GetName()

◆ GetParticleChangeForGamma()

G4ParticleChangeForGamma * G4VEmModel::GetParticleChangeForGamma ( )
protected

Definition at line 109 of file G4VEmModel.cc.

110{
112 if (pParticleChange) {
113 p = static_cast<G4ParticleChangeForGamma*>(pParticleChange);
114 } else {
115 p = new G4ParticleChangeForGamma();
116 pParticleChange = p;
117 }
118 return p;
119}

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

◆ GetParticleChangeForLoss()

◆ GetParticleCharge()

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

◆ HighEnergyActivationLimit()

G4double G4VEmModel::HighEnergyActivationLimit ( ) const
inline

Definition at line 536 of file G4VEmModel.hh.

537{
538 return eMaxActive;
539}

Referenced by G4EmModelManager::DumpModelList(), and G4VMscModel::GetParticleChangeForMSC().

◆ HighEnergyLimit()

G4double G4VEmModel::HighEnergyLimit ( ) const
inline

Definition at line 522 of file G4VEmModel.hh.

523{
524 return highLimit;
525}

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

◆ Initialise()

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

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

Referenced by G4EmModelManager::Initialise().

◆ InitialiseElementSelectors()

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

Definition at line 123 of file G4VEmModel.cc.

125{
126 // initialise before run
128
129 // using spline for element selectors should be investigated in details
130 // because small number of points may provide biased results
131 // large number of points requires significant increase of memory
132 //G4bool spline = man->SplineFlag();
133 G4bool spline = false;
134
135 //G4cout << "IES: for " << GetName() << " Emin(MeV)= " << lowLimit/MeV
136 // << " Emax(MeV)= " << highLimit/MeV << G4endl;
137
138 // two times less bins because probability functon is normalized
139 // so correspondingly is more smooth
141 * std::log10(highLimit/lowLimit) / 6.0);
142 if(nbins < 5) { nbins = 5; }
143
144 G4ProductionCutsTable* theCoupleTable=
146 G4int numOfCouples = theCoupleTable->GetTableSize();
147
148 // prepare vector
149 if(numOfCouples > nSelectors) {
150 elmSelectors.resize(numOfCouples,0);
151 nSelectors = numOfCouples;
152 }
153
154 // initialise vector
155 for(G4int i=0; i<numOfCouples; ++i) {
156 fCurrentCouple = theCoupleTable->GetMaterialCutsCouple(i);
157 const G4Material* material = fCurrentCouple->GetMaterial();
158 G4int idx = fCurrentCouple->GetIndex();
159
160 // selector already exist check if should be deleted
161 G4bool create = true;
162 if(elmSelectors[i]) {
163 if(material == elmSelectors[i]->GetMaterial()) { create = false; }
164 else { delete elmSelectors[i]; }
165 }
166 if(create) {
167 elmSelectors[i] = new G4EmElementSelector(this,material,nbins,
168 lowLimit,highLimit,spline);
169 }
170 elmSelectors[i]->Initialise(p, cuts[idx]);
171 //elmSelectors[i]->Dump(p);
172 }
173}
bool G4bool
Definition: G4Types.hh:67
G4int GetNumberOfBinsPerDecade() const
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
static G4ProductionCutsTable * GetProductionCutsTable()

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

◆ IsActive()

◆ LowEnergyActivationLimit()

G4double G4VEmModel::LowEnergyActivationLimit ( ) const
inline

Definition at line 543 of file G4VEmModel.hh.

544{
545 return eMinActive;
546}

Referenced by G4EmModelManager::DumpModelList(), and G4VMscModel::GetParticleChangeForMSC().

◆ LowEnergyLimit()

G4double G4VEmModel::LowEnergyLimit ( ) const
inline

Definition at line 529 of file G4VEmModel.hh.

530{
531 return lowLimit;
532}

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

◆ LPMFlag()

G4bool G4VEmModel::LPMFlag ( ) const
inline

Definition at line 564 of file G4VEmModel.hh.

565{
566 return theLPMflag;
567}

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

◆ MaxSecondaryEnergy()

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

◆ MaxSecondaryKinEnergy()

◆ MinPrimaryEnergy()

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

Definition at line 295 of file G4VEmModel.cc.

297{
298 return 0.0;
299}

Referenced by G4LossTableBuilder::BuildTableForModel().

◆ PolarAngleLimit()

◆ SampleSecondaries()

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

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

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

◆ SecondaryThreshold()

G4double G4VEmModel::SecondaryThreshold ( ) const
inline

◆ SelectIsotopeNumber()

G4int G4VEmModel::SelectIsotopeNumber ( const G4Element elm)
inline

Definition at line 478 of file G4VEmModel.hh.

479{
480 fCurrentElement = elm;
481 G4int N = G4int(elm->GetN() + 0.5);
482 G4int ni = elm->GetNumberOfIsotopes();
483 if(ni > 0) {
484 G4int idx = 0;
485 if(ni > 1) {
488 for(; idx<ni; ++idx) {
489 x -= ab[idx];
490 if (x <= 0.0) { break; }
491 }
492 if(idx >= ni) { idx = ni - 1; }
493 }
494 N = elm->GetIsotope(idx)->GetN();
495 }
496 return N;
497}
#define G4UniformRand()
Definition: Randomize.hh:53
G4double * GetRelativeAbundanceVector() const
Definition: G4Element.hh:166
const G4Isotope * GetIsotope(G4int iso) const
Definition: G4Element.hh:169
size_t GetNumberOfIsotopes() const
Definition: G4Element.hh:158
G4int GetN() const
Definition: G4Isotope.hh:94

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

◆ SelectRandomAtom() [1/2]

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

Definition at line 216 of file G4VEmModel.cc.

221{
222 const G4ElementVector* theElementVector = material->GetElementVector();
223 G4int n = material->GetNumberOfElements() - 1;
224 fCurrentElement = (*theElementVector)[n];
225 if (n > 0) {
227 G4VEmModel::CrossSectionPerVolume(material,pd,kinEnergy,tcut,tmax);
228 for(G4int i=0; i<n; ++i) {
229 if (x <= xsec[i]) {
230 fCurrentElement = (*theElementVector)[i];
231 break;
232 }
233 }
234 }
235 return fCurrentElement;
236}

◆ SelectRandomAtom() [2/2]

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

Definition at line 459 of file G4VEmModel.hh.

464{
465 fCurrentCouple = couple;
466 if(nSelectors > 0) {
467 fCurrentElement =
468 elmSelectors[couple->GetIndex()]->SelectRandomAtom(kinEnergy);
469 } else {
470 fCurrentElement = SelectRandomAtom(couple->GetMaterial(),p,kinEnergy,
471 cutEnergy,maxEnergy);
472 }
473 return fCurrentElement;
474}
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
Definition: G4VEmModel.hh:459

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

◆ SetActivationHighEnergyLimit()

void G4VEmModel::SetActivationHighEnergyLimit ( G4double  val)
inline

Definition at line 599 of file G4VEmModel.hh.

600{
601 eMaxActive = val;
602}

◆ SetActivationLowEnergyLimit()

◆ SetAngularDistribution()

◆ SetCrossSectionTable()

void G4VEmModel::SetCrossSectionTable ( G4PhysicsTable p)

Definition at line 326 of file G4VEmModel.cc.

327{
328 if(p != xSectionTable) {
329 if(xSectionTable) {
331 delete xSectionTable;
332 }
333 xSectionTable = p;
334 }
335}

◆ SetCurrentCouple()

◆ SetCurrentElement()

void G4VEmModel::SetCurrentElement ( const G4Element elm)
inlineprotected

◆ SetDeexcitationFlag()

◆ SetHighEnergyLimit()

void G4VEmModel::SetHighEnergyLimit ( G4double  val)
inline

Definition at line 585 of file G4VEmModel.hh.

586{
587 highLimit = val;
588}

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

◆ SetLowEnergyLimit()

void G4VEmModel::SetLowEnergyLimit ( G4double  val)
inline

Definition at line 592 of file G4VEmModel.hh.

593{
594 lowLimit = val;
595}

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

◆ SetLPMFlag()

void G4VEmModel::SetLPMFlag ( G4bool  val)
inline

◆ SetParticleChange()

◆ SetPolarAngleLimit()

void G4VEmModel::SetPolarAngleLimit ( G4double  val)
inline

Definition at line 620 of file G4VEmModel.hh.

621{
622 polarAngleLimit = val;
623}

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

◆ SetSecondaryThreshold()

void G4VEmModel::SetSecondaryThreshold ( G4double  val)
inline

Definition at line 627 of file G4VEmModel.hh.

628{
629 secondaryThreshold = val;
630}

Referenced by G4eBremsstrahlung::InitialiseEnergyLossProcess().

◆ SetupForMaterial()

◆ StartTracking()

◆ Value()

Member Data Documentation

◆ pParticleChange

◆ theDensityFactor

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

Definition at line 353 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

◆ theDensityIdx

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

Definition at line 354 of file G4VEmModel.hh.

Referenced by G4VMscModel::GetParticleChangeForMSC().

◆ xSectionTable


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