#include <G4VEmModel.hh>
Inherited by G4BetheBlochModel, G4BetheHeitlerModel, G4BoldyshevTripletModel, G4BraggIonModel, G4BraggModel, G4DiscreteScatteringModel, G4DNABornExcitationModel1, G4DNABornExcitationModel2, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNAChampionElasticModel, G4DNADingfelderChargeDecreaseModel, G4DNADingfelderChargeIncreaseModel, G4DNAEmfietzoglouExcitationModel, G4DNAEmfietzoglouIonisationModel, G4DNAIonElasticModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNAOneStepThermalizationModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAScreenedRutherfordElasticModel, G4DNATransformElectronModel, G4DNAUeharaScreenedRutherfordElasticModel, G4eBremParametrizedModel, G4eBremsstrahlungRelModel, G4eCoulombScatteringModel, G4eeToHadronsModel, G4eeToHadronsMultiModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel, G4ICRU49NuclearStoppingModel, G4ICRU73QOModel, G4IonCoulombScatteringModel, G4IonParametrisedLossModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4LivermoreComptonModel, G4LivermoreComptonModifiedModel, G4LivermoreGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreIonisationModel, G4LivermoreNuclearGammaConversionModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedPhotoElectricGDModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4LivermoreRayleighModel, G4LowEPComptonModel, G4LowEPPolarizedComptonModel, G4MicroElecElasticModel, G4MicroElecInelasticModel, G4MollerBhabhaModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4MuElecElasticModel, G4MuElecInelasticModel, G4MuPairProductionModel, G4PAIModel, G4PAIPhotModel, G4PairProductionRelModel, G4PEEffectFluoModel, G4PenelopeAnnihilationModel, G4PenelopeComptonModel, G4PenelopeGammaConversionModel, G4PenelopeIonisationModel, G4PenelopePhotoElectricModel, G4PenelopeRayleighModel, G4VDNAPTBModel, G4VLEPTSModel, G4VMscModel, and G4XrayRayleighModel.
|
| 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, const G4ParticleDefinition *, G4double) |
|
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 *, G4double &eloss, G4double &niel, G4double length) |
|
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 | 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) |
|
G4int | SelectIsotopeNumber (const G4Element *) |
|
const G4Element * | SelectRandomAtom (const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
const G4Element * | SelectRandomAtom (const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) |
|
G4int | SelectRandomAtomNumber (const G4Material *) |
|
void | SetParticleChange (G4VParticleChange *, G4VEmFluctuationModel *f=0) |
|
void | SetCrossSectionTable (G4PhysicsTable *, G4bool isLocal) |
|
G4ElementData * | GetElementData () |
|
G4PhysicsTable * | GetCrossSectionTable () |
|
G4VEmFluctuationModel * | GetModelOfFluctuations () |
|
G4VEmAngularDistribution * | GetAngularDistribution () |
|
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 |
|
G4bool | UseAngularGeneratorFlag () const |
|
void | SetAngularGeneratorFlag (G4bool) |
|
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 | SetForceBuildTable (G4bool val) |
|
void | SetMasterThread (G4bool val) |
|
G4bool | IsMaster () const |
|
G4double | MaxSecondaryKinEnergy (const G4DynamicParticle *dynParticle) |
|
const G4String & | GetName () const |
|
void | SetCurrentCouple (const G4MaterialCutsCouple *) |
|
const G4Element * | GetCurrentElement () const |
|
const G4Isotope * | GetCurrentIsotope () const |
|
G4bool | IsLocked () const |
|
void | SetLocked (G4bool) |
|
Definition at line 104 of file G4VEmModel.hh.
◆ G4VEmModel() [1/2]
G4VEmModel::G4VEmModel |
( |
const G4String & |
nam | ) |
|
Definition at line 69 of file G4VEmModel.cc.
G4bool flagForceBuildTable
static G4LossTableManager * Instance()
const G4Element * fCurrentElement
G4VEmFluctuationModel * flucModel
G4LossTableManager * fManager
const std::vector< G4int > * theDensityIdx
G4double secondaryThreshold
const G4MaterialCutsCouple * fCurrentCouple
std::vector< G4EmElementSelector * > * elmSelectors
G4VEmAngularDistribution * anglModel
void Register(G4VEnergyLossProcess *p)
const std::vector< G4double > * theDensityFactor
std::vector< G4double > xsec
G4bool useAngularGenerator
G4VParticleChange * pParticleChange
G4PhysicsTable * xSectionTable
const G4Isotope * fCurrentIsotope
G4ElementData * fElementData
◆ ~G4VEmModel()
G4VEmModel::~G4VEmModel |
( |
| ) |
|
|
virtual |
Definition at line 93 of file G4VEmModel.cc.
98 delete (*elmSelectors)[i];
void DeRegister(G4VEnergyLossProcess *p)
G4LossTableManager * fManager
std::vector< G4EmElementSelector * > * elmSelectors
G4VEmAngularDistribution * anglModel
G4PhysicsTable * xSectionTable
G4ElementData * fElementData
◆ G4VEmModel() [2/2]
◆ ChargeSquareRatio()
G4double G4VEmModel::ChargeSquareRatio |
( |
const G4Track & |
track | ) |
|
|
virtual |
◆ ComputeCrossSectionPerAtom() [1/2]
Reimplemented in G4IonParametrisedLossModel, G4LowEPPolarizedComptonModel, G4LowEPComptonModel, G4BetheBlochModel, G4eCoulombScatteringModel, G4MuBetheBlochModel, G4MuBremsstrahlungModel, G4BraggIonModel, G4BraggModel, G4ICRU73QOModel, G4MuPairProductionModel, G4UrbanMscModel, G4PenelopeComptonModel, G4eBremParametrizedModel, G4PenelopeIonisationModel, G4eBremsstrahlungRelModel, G4WentzelVIModel, G4WentzelVIRelModel, G4eeToHadronsMultiModel, G4mplIonisationWithDeltaModel, G4hCoulombScatteringModel, G4IonCoulombScatteringModel, G4MollerBhabhaModel, G4EmMultiModel, G4eSingleCoulombScatteringModel, G4eeToTwoGammaModel, G4eeToHadronsModel, G4PairProductionRelModel, G4BetheHeitlerModel, G4PenelopePhotoElectricModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4LivermoreIonisationModel, G4PenelopeRayleighModel, G4PEEffectFluoModel, G4LivermorePolarizedComptonModel, G4PenelopeAnnihilationModel, G4PenelopeGammaConversionModel, G4PolarizedComptonModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4LivermoreComptonModel, G4LivermoreGammaConversionModel, G4LivermoreComptonModifiedModel, G4LivermorePolarizedGammaConversionModel, G4LivermoreNuclearGammaConversionModel, G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC, G4LivermorePolarizedPhotoElectricGDModel, G4LivermoreRayleighModel, G4XrayRayleighModel, and G4DiscreteScatteringModel.
Definition at line 313 of file G4VEmModel.cc.
◆ ComputeCrossSectionPerAtom() [2/2]
Definition at line 530 of file G4VEmModel.hh.
538 cutEnergy,maxEnergy);
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
void SetCurrentElement(const G4Element *)
◆ ComputeCrossSectionPerShell()
◆ ComputeDEDX()
Definition at line 490 of file G4VEmModel.hh.
const G4Material * GetMaterial() const
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=DBL_MAX)
void SetCurrentCouple(const G4MaterialCutsCouple *)
◆ ComputeDEDXPerVolume()
Reimplemented in G4IonParametrisedLossModel, G4BetheBlochModel, G4PenelopeIonisationModel, G4MuBetheBlochModel, G4BraggIonModel, G4BraggModel, G4ICRU73QOModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4MollerBhabhaModel, G4LivermoreIonisationModel, G4PAIModel, G4eBremParametrizedModel, G4PAIPhotModel, G4eBremsstrahlungRelModel, G4ICRU49NuclearStoppingModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4BetheBlochNoDeltaModel, G4BraggNoDeltaModel, G4ICRU73NoDeltaModel, MyMollerBhabhaModel, and MyMollerBhabhaModel.
Definition at line 249 of file G4VEmModel.cc.
◆ ComputeMeanFreePath()
Definition at line 515 of file G4VEmModel.hh.
523 if (cross >
DBL_MIN) { mfp = 1./cross; }
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
static const G4double emax
◆ CorrectionsAlongStep()
◆ CrossSection()
Definition at line 501 of file G4VEmModel.hh.
509 cutEnergy,maxEnergy);
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4Material * GetMaterial() const
void SetCurrentCouple(const G4MaterialCutsCouple *)
◆ CrossSectionPerVolume()
Reimplemented in G4IonParametrisedLossModel, G4BetheBlochModel, G4MuBetheBlochModel, G4BraggIonModel, G4BraggModel, G4ICRU73QOModel, G4PenelopeIonisationModel, G4MollerBhabhaModel, G4PAIModel, G4eeToTwoGammaModel, G4PAIPhotModel, G4PenelopeComptonModel, G4PEEffectFluoModel, G4MicroElecInelasticModel, G4MuElecInelasticModel, G4DNAOneStepThermalizationModel, G4eeToHadronsMultiModel, G4eeToHadronsModel, G4DNATransformElectronModel, G4BetheBlochNoDeltaModel, G4BraggNoDeltaModel, G4ICRU73NoDeltaModel, G4DNAEmfietzoglouIonisationModel, G4VDNAPTBModel, G4DNAEmfietzoglouExcitationModel, G4MicroElecElasticModel, G4MuElecElasticModel, G4DNAIonElasticModel, G4LivermorePolarizedPhotoElectricModel, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNABornExcitationModel2, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, MyKleinNishinaCompton, G4DNABornExcitationModel1, G4DNAChampionElasticModel, G4DNADingfelderChargeIncreaseModel, G4DNADingfelderChargeDecreaseModel, G4DNAScreenedRutherfordElasticModel, G4LEPTSAttachmentModel, G4LEPTSExcitationModel, G4DNAUeharaScreenedRutherfordElasticModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, and G4LEPTSVibExcitationModel.
Definition at line 258 of file G4VEmModel.cc.
267 const G4double* theAtomNumDensityVector =
274 for (
G4int i=0; i<nelm; ++i) {
275 cross += theAtomNumDensityVector[i]*
std::vector< G4Element * > G4ElementVector
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
const G4double * GetVecNbOfAtomsPerVolume() const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
static const G4double emax
std::vector< G4double > xsec
size_t GetNumberOfElements() const
const G4ElementVector * GetElementVector() const
◆ CurrentCouple()
Definition at line 452 of file G4VEmModel.hh.
const G4MaterialCutsCouple * fCurrentCouple
◆ DeexcitationFlag()
G4bool G4VEmModel::DeexcitationFlag |
( |
| ) |
const |
|
inline |
◆ DefineForRegion()
void G4VEmModel::DefineForRegion |
( |
const G4Region * |
| ) |
|
|
virtual |
◆ ForceBuildTableFlag()
G4bool G4VEmModel::ForceBuildTableFlag |
( |
| ) |
const |
|
inline |
◆ GetAngularDistribution()
Definition at line 617 of file G4VEmModel.hh.
G4VEmAngularDistribution * anglModel
◆ GetChargeSquareRatio()
◆ GetCrossSectionTable()
◆ GetCurrentElement()
const G4Element * G4VEmModel::GetCurrentElement |
( |
| ) |
const |
|
inline |
◆ GetCurrentIsotope()
const G4Isotope * G4VEmModel::GetCurrentIsotope |
( |
| ) |
const |
|
inline |
◆ GetElementData()
◆ GetElementSelectors()
Definition at line 802 of file G4VEmModel.hh.
std::vector< G4EmElementSelector * > * elmSelectors
◆ GetModelOfFluctuations()
◆ GetName()
const G4String & G4VEmModel::GetName |
( |
void |
| ) |
const |
|
inline |
◆ GetPartialCrossSection()
◆ GetParticleChangeForGamma()
G4ParticleChangeForGamma * G4VEmModel::GetParticleChangeForGamma |
( |
| ) |
|
|
protected |
Definition at line 134 of file G4VEmModel.cc.
136 G4ParticleChangeForGamma* p =
nullptr;
140 p =
new G4ParticleChangeForGamma();
G4VParticleChange * pParticleChange
◆ GetParticleChangeForLoss()
G4ParticleChangeForLoss * G4VEmModel::GetParticleChangeForLoss |
( |
| ) |
|
|
protected |
Definition at line 120 of file G4VEmModel.cc.
122 G4ParticleChangeForLoss* p =
nullptr;
126 p =
new G4ParticleChangeForLoss();
G4VParticleChange * pParticleChange
◆ GetParticleCharge()
◆ HighEnergyActivationLimit()
G4double G4VEmModel::HighEnergyActivationLimit |
( |
| ) |
const |
|
inline |
◆ HighEnergyLimit()
G4double G4VEmModel::HighEnergyLimit |
( |
| ) |
const |
|
inline |
◆ Initialise()
Implemented in G4GoudsmitSaundersonMscModel, G4IonParametrisedLossModel, G4LowEPPolarizedComptonModel, G4LowEPComptonModel, G4eCoulombScatteringModel, G4UrbanMscModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4BetheBlochModel, G4BraggModel, G4ICRU73QOModel, G4MuBetheBlochModel, G4IonCoulombScatteringModel, G4BraggIonModel, G4PAIModel, G4WentzelVIRelModel, G4PenelopeIonisationModel, G4hCoulombScatteringModel, G4eSingleCoulombScatteringModel, G4WentzelVIModel, G4MicroElecInelasticModel, G4MuElecInelasticModel, G4DNAOneStepThermalizationModel, G4eeToHadronsMultiModel, G4PenelopeComptonModel, G4PolarizedAnnihilationModel, G4MollerBhabhaModel, G4PAIPhotModel, G4PolarizedPEEffectModel, G4eBremsstrahlungRelModel, G4LivermoreBremsstrahlungModel, G4eBremParametrizedModel, G4ICRU49NuclearStoppingModel, G4PairProductionRelModel, G4SeltzerBergerModel, G4BetheHeitlerModel, G4eeToTwoGammaModel, G4EmMultiModel, G4eeToHadronsModel, G4PenelopePhotoElectricModel, G4mplIonisationModel, G4mplIonisationWithDeltaModel, G4LivermoreIonisationModel, G4ePolarizedBremsstrahlungModel, G4PolarizedGammaConversionModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4PEEffectFluoModel, G4DNATransformElectronModel, G4PenelopeGammaConversionModel, G4PenelopeRayleighModel, G4DNAEmfietzoglouIonisationModel, G4PenelopeAnnihilationModel, G4LivermorePolarizedComptonModel, G4DummyModel, G4DNAEmfietzoglouExcitationModel, G4MicroElecElasticModel, G4MuElecElasticModel, G4LivermorePolarizedRayleighModel, G4LivermorePolarizedPhotoElectricModel, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4DNAIonElasticModel, G4LivermoreComptonModifiedModel, G4LivermoreComptonModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4DNAMeltonAttachmentModel, G4DNAMillerGreenExcitationModel, G4DNABornExcitationModel2, G4LivermorePolarizedGammaConversionModel, G4LivermorePolarizedPhotoElectricGDModel, G4XrayRayleighModel, G4DNABornExcitationModel1, G4DNAChampionElasticModel, G4DNADingfelderChargeIncreaseModel, G4LivermoreGammaConversionModel, G4DNADingfelderChargeDecreaseModel, G4LivermoreGammaConversionModelRC, G4DNAScreenedRutherfordElasticModel, G4LivermoreNuclearGammaConversionModel, G4LivermoreRayleighModel, G4VDNAPTBModel, G4BoldyshevTripletModel, G4DNAUeharaScreenedRutherfordElasticModel, G4LEPTSAttachmentModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSExcitationModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, G4LEPTSVibExcitationModel, and G4DiscreteScatteringModel.
◆ InitialiseElementSelectors()
Definition at line 148 of file G4VEmModel.cc.
180 for(
G4int i=0; i<numOfCouples; ++i) {
183 if(cuts[i] ==
DBL_MAX) {
continue; }
191 if(material == ((*
elmSelectors)[i])->GetMaterial()) { create =
false; }
192 else {
delete (*elmSelectors)[i]; }
205 ((*elmSelectors)[i])->
Initialise(part, cuts[i]);
const G4Material * GetMaterial() const
virtual G4double MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double cut=0.0)
G4LossTableManager * fManager
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)=0
const G4MaterialCutsCouple * fCurrentCouple
std::vector< G4EmElementSelector * > * elmSelectors
G4int GetNumberOfBinsPerDecade() const
static const G4double emax
G4double G4Log(G4double x)
static G4ProductionCutsTable * GetProductionCutsTable()
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
size_t GetTableSize() const
◆ InitialiseForElement()
Reimplemented in G4LowEPPolarizedComptonModel, G4LowEPComptonModel, G4LivermorePolarizedPhotoElectricModel, G4LivermoreBremsstrahlungModel, G4SeltzerBergerModel, G4LivermorePolarizedPhotoElectricGDModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedRayleighModel, G4LivermoreComptonModel, G4LivermoreGammaConversionModel, G4LivermorePolarizedGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreNuclearGammaConversionModel, G4BoldyshevTripletModel, and G4LivermoreRayleighModel.
Definition at line 244 of file G4VEmModel.cc.
◆ InitialiseForMaterial()
Definition at line 225 of file G4VEmModel.cc.
231 for(
G4int i=0; i<
n; ++i) {
virtual void InitialiseForElement(const G4ParticleDefinition *, G4int Z)
std::vector< G4Element * > G4ElementVector
size_t GetNumberOfElements() const
const G4ElementVector * GetElementVector() const
◆ InitialiseLocal()
Reimplemented in G4LowEPPolarizedComptonModel, G4LowEPComptonModel, G4eCoulombScatteringModel, G4MuBremsstrahlungModel, G4MuPairProductionModel, G4PAIModel, G4hCoulombScatteringModel, G4PenelopeIonisationModel, G4eSingleCoulombScatteringModel, G4WentzelVIModel, G4PAIPhotModel, G4PenelopeComptonModel, G4eBremsstrahlungRelModel, G4eBremParametrizedModel, G4PairProductionRelModel, G4BetheHeitlerModel, G4PenelopePhotoElectricModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4PenelopeGammaConversionModel, G4PenelopeRayleighModel, G4PenelopeAnnihilationModel, G4LivermorePolarizedComptonModel, G4LivermorePolarizedRayleighModel, G4LivermoreComptonModel, G4LivermoreGammaConversionModel, G4LivermorePolarizedGammaConversionModel, G4LivermoreGammaConversionModelRC, G4LivermoreNuclearGammaConversionModel, G4BoldyshevTripletModel, and G4LivermoreRayleighModel.
Definition at line 219 of file G4VEmModel.cc.
◆ IsActive()
◆ IsLocked()
G4bool G4VEmModel::IsLocked |
( |
| ) |
const |
|
inline |
◆ IsMaster()
G4bool G4VEmModel::IsMaster |
( |
| ) |
const |
|
inline |
◆ LowEnergyActivationLimit()
G4double G4VEmModel::LowEnergyActivationLimit |
( |
| ) |
const |
|
inline |
◆ LowEnergyLimit()
G4double G4VEmModel::LowEnergyLimit |
( |
| ) |
const |
|
inline |
◆ LPMFlag()
G4bool G4VEmModel::LPMFlag |
( |
| ) |
const |
|
inline |
◆ MaxSecondaryEnergy()
◆ MaxSecondaryKinEnergy()
Definition at line 482 of file G4VEmModel.hh.
485 dynPart->GetKineticEnergy());
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kineticEnergy)
◆ MinEnergyCut()
◆ MinPrimaryEnergy()
◆ ModelDescription()
void G4VEmModel::ModelDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Definition at line 432 of file G4VEmModel.cc.
434 outFile <<
"The description for this model has not been written yet.\n";
◆ operator=()
◆ PolarAngleLimit()
G4double G4VEmModel::PolarAngleLimit |
( |
| ) |
const |
|
inline |
◆ SampleSecondaries()
Implemented in G4IonParametrisedLossModel, G4BetheBlochModel, G4LowEPPolarizedComptonModel, G4MuBetheBlochModel, G4BraggIonModel, G4BraggModel, G4ICRU73QOModel, G4LowEPComptonModel, G4MuBremsstrahlungModel, G4eCoulombScatteringModel, G4MuPairProductionModel, G4MollerBhabhaModel, G4PenelopeIonisationModel, G4PAIModel, G4PenelopeComptonModel, G4eeToTwoGammaModel, G4eeToHadronsModel, G4eBremParametrizedModel, G4hCoulombScatteringModel, G4IonCoulombScatteringModel, G4PAIPhotModel, G4eeToHadronsMultiModel, G4mplIonisationWithDeltaModel, G4eBremsstrahlungRelModel, G4VMscModel, G4eSingleCoulombScatteringModel, G4EmMultiModel, G4PolarizedAnnihilationModel, G4PairProductionRelModel, G4BetheHeitlerModel, G4PEEffectFluoModel, G4MicroElecInelasticModel, G4MuElecInelasticModel, G4DNAOneStepThermalizationModel, G4PenelopePhotoElectricModel, G4KleinNishinaCompton, G4KleinNishinaModel, G4ICRU49NuclearStoppingModel, G4PolarizedComptonModel, G4LivermoreIonisationModel, G4PenelopeRayleighModel, G4LivermorePolarizedComptonModel, G4PenelopeGammaConversionModel, G4PenelopeAnnihilationModel, G4DNATransformElectronModel, G4mplIonisationModel, G4LivermoreBremsstrahlungModel, G4LivermorePolarizedPhotoElectricModel, G4LivermorePolarizedRayleighModel, G4PolarizedMollerBhabhaModel, G4PolarizedPEEffectModel, G4SeltzerBergerModel, G4DNAEmfietzoglouIonisationModel, G4VDNAPTBModel, G4LivermoreComptonModel, G4DNAEmfietzoglouExcitationModel, G4ePolarizedBremsstrahlungModel, G4PolarizedGammaConversionModel, G4LivermoreGammaConversionModel, G4MicroElecElasticModel, G4MuElecElasticModel, G4LivermorePolarizedGammaConversionModel, G4DNABornExcitationModel2, G4DNAIonElasticModel, G4DNAMillerGreenExcitationModel, G4LivermoreComptonModifiedModel, G4HeatedKleinNishinaCompton, G4DNABornIonisationModel1, G4DNABornIonisationModel2, G4LivermoreNuclearGammaConversionModel, G4DNABornExcitationModel1, G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC, G4DummyModel, G4DNARuddIonisationExtendedModel, G4DNARuddIonisationModel, G4DNASancheExcitationModel, G4LivermorePolarizedPhotoElectricGDModel, G4LivermoreRayleighModel, G4DNAMeltonAttachmentModel, G4XrayRayleighModel, MyKleinNishinaCompton, G4DNAChampionElasticModel, G4DNADingfelderChargeIncreaseModel, G4DNADingfelderChargeDecreaseModel, G4DNAScreenedRutherfordElasticModel, G4DNAUeharaScreenedRutherfordElasticModel, G4LEPTSAttachmentModel, G4LEPTSExcitationModel, G4LEPTSDissociationModel, G4LEPTSElasticModel, G4LEPTSIonisationModel, G4LEPTSPositroniumModel, G4LEPTSRotExcitationModel, G4LEPTSVibExcitationModel, and G4DiscreteScatteringModel.
◆ SecondaryThreshold()
G4double G4VEmModel::SecondaryThreshold |
( |
| ) |
const |
|
inline |
◆ SelectIsotopeNumber()
Definition at line 585 of file G4VEmModel.hh.
596 for(; idx<ni; ++idx) {
598 if (x <= 0.0) {
break; }
600 if(idx >= ni) { idx = ni - 1; }
const G4Isotope * GetIsotope(G4int iso) const
size_t GetNumberOfIsotopes() const
G4double * GetRelativeAbundanceVector() const
const G4Isotope * fCurrentIsotope
void SetCurrentElement(const G4Element *)
◆ SelectRandomAtom() [1/2]
Definition at line 544 of file G4VEmModel.hh.
556 cutEnergy,maxEnergy);
const G4Material * GetMaterial() const
const G4Element * fCurrentElement
const G4MaterialCutsCouple * fCurrentCouple
const G4Isotope * fCurrentIsotope
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
◆ SelectRandomAtom() [2/2]
Definition at line 289 of file G4VEmModel.cc.
301 for(
G4int i=0; i<
n; ++i) {
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
std::vector< G4Element * > G4ElementVector
const G4Element * fCurrentElement
std::vector< G4double > xsec
size_t GetNumberOfElements() const
const G4ElementVector * GetElementVector() const
◆ SelectRandomAtomNumber()
Definition at line 564 of file G4VEmModel.hh.
574 for(
size_t i=0; i<
nn; ++i) {
575 Z =
G4lrint((*elmv)[0]->GetZ());
577 if(tot <= 0.0) {
break; }
std::vector< G4Element * > G4ElementVector
G4double GetTotNbOfAtomsPerVolume() const
const G4double * GetVecNbOfAtomsPerVolume() const
size_t GetNumberOfElements() const
const G4ElementVector * GetElementVector() const
◆ SetActivationHighEnergyLimit()
void G4VEmModel::SetActivationHighEnergyLimit |
( |
G4double |
val | ) |
|
|
inline |
◆ SetActivationLowEnergyLimit()
void G4VEmModel::SetActivationLowEnergyLimit |
( |
G4double |
val | ) |
|
|
inline |
◆ SetAngularDistribution()
Definition at line 624 of file G4VEmModel.hh.
G4VEmAngularDistribution * anglModel
◆ SetAngularGeneratorFlag()
void G4VEmModel::SetAngularGeneratorFlag |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetCrossSectionTable()
◆ SetCurrentCouple()
Definition at line 445 of file G4VEmModel.hh.
const G4MaterialCutsCouple * fCurrentCouple
◆ SetCurrentElement()
void G4VEmModel::SetCurrentElement |
( |
const G4Element * |
elm | ) |
|
|
inlineprotected |
Definition at line 459 of file G4VEmModel.hh.
const G4Element * fCurrentElement
const G4Isotope * fCurrentIsotope
◆ SetDeexcitationFlag()
void G4VEmModel::SetDeexcitationFlag |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetElementSelectors()
Definition at line 810 of file G4VEmModel.hh.
std::vector< G4EmElementSelector * > * elmSelectors
◆ SetForceBuildTable()
void G4VEmModel::SetForceBuildTable |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetHighEnergyLimit()
void G4VEmModel::SetHighEnergyLimit |
( |
G4double |
val | ) |
|
|
inline |
◆ SetLocked()
void G4VEmModel::SetLocked |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetLowEnergyLimit()
void G4VEmModel::SetLowEnergyLimit |
( |
G4double |
val | ) |
|
|
inline |
◆ SetLPMFlag()
void G4VEmModel::SetLPMFlag |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetMasterThread()
void G4VEmModel::SetMasterThread |
( |
G4bool |
val | ) |
|
|
inline |
◆ SetParticleChange()
Definition at line 410 of file G4VEmModel.cc.
G4VEmFluctuationModel * flucModel
G4VParticleChange * pParticleChange
◆ SetPolarAngleLimit()
void G4VEmModel::SetPolarAngleLimit |
( |
G4double |
val | ) |
|
|
inline |
◆ SetSecondaryThreshold()
void G4VEmModel::SetSecondaryThreshold |
( |
G4double |
val | ) |
|
|
inline |
◆ SetupForMaterial()
◆ StartTracking()
void G4VEmModel::StartTracking |
( |
G4Track * |
| ) |
|
|
virtual |
◆ UseAngularGeneratorFlag()
G4bool G4VEmModel::UseAngularGeneratorFlag |
( |
| ) |
const |
|
inline |
◆ Value()
Definition at line 369 of file G4VEmModel.cc.
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
const G4Material * GetMaterial() const
void SetCurrentCouple(const G4MaterialCutsCouple *)
◆ anglModel
◆ elmSelectors
◆ eMaxActive
◆ eMinActive
◆ fCurrentCouple
◆ fCurrentElement
◆ fCurrentIsotope
◆ fElementData
◆ flagDeexcitation
G4bool G4VEmModel::flagDeexcitation |
|
private |
◆ flagForceBuildTable
G4bool G4VEmModel::flagForceBuildTable |
|
private |
◆ flucModel
◆ fManager
◆ highLimit
◆ idxTable
size_t G4VEmModel::idxTable |
|
protected |
◆ inveplus
◆ isLocked
◆ isMaster
◆ localElmSelectors
G4bool G4VEmModel::localElmSelectors |
|
private |
◆ localTable
◆ lowLimit
◆ name
◆ nsec
◆ nSelectors
G4int G4VEmModel::nSelectors |
|
private |
◆ polarAngleLimit
◆ pParticleChange
G4VParticleChange* G4VEmModel::pParticleChange |
|
protected |
◆ secondaryThreshold
◆ theDensityFactor
const std::vector<G4double>* G4VEmModel::theDensityFactor |
|
protected |
◆ theDensityIdx
const std::vector<G4int>* G4VEmModel::theDensityIdx |
|
protected |
◆ theLPMflag
◆ useAngularGenerator
G4bool G4VEmModel::useAngularGenerator |
|
private |
◆ xsec
◆ xSectionTable
The documentation for this class was generated from the following files: