![]() |
Belle II Software
release-08-02-04
|
Concrete monopole ionisation model. More...
#include <G4mplIonisationWithDeltaModel.h>


Public Member Functions | |
| G4mplIonisationWithDeltaModel (G4double mCharge, const G4String &nam="mplIonisationWithDelta") | |
| Constructor. More... | |
| virtual | ~G4mplIonisationWithDeltaModel () |
| Destructor. | |
| virtual void | Initialise (const G4ParticleDefinition *p, const G4DataVector &) override |
| G4VEmModel::Initialise implementation. More... | |
| virtual G4double | ComputeDEDXPerVolume (const G4Material *material, const G4ParticleDefinition *p, G4double kineticEnergy, G4double maxEnergy) override |
| G4VEmModel::ComputeDEDXPerVolume implementation. More... | |
| virtual G4double | ComputeCrossSectionPerElectron (const G4ParticleDefinition *p, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) |
| Compute cross section per electron for delta electrons emission. More... | |
| virtual G4double | ComputeCrossSectionPerAtom (const G4ParticleDefinition *p, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override |
| Compute cross section per atom for delta electrons emission. More... | |
| virtual void | SampleSecondaries (std::vector< G4DynamicParticle * > *vdp, const G4MaterialCutsCouple *materialCutsCouple, const G4DynamicParticle *dp, G4double tmin, G4double maxEnergy) override |
| Create the sample of secondary delta electrons. More... | |
| virtual G4double | SampleFluctuations (const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double tcut, G4double tmax, G4double length, G4double meanLoss) override |
| Create fluctuations in the energies lost to a secondary delta electron. More... | |
| virtual G4double | Dispersion (const G4Material *material, const G4DynamicParticle *, G4double tcut, G4double tmax, G4double length) override |
| Calculate dispersion. More... | |
| virtual G4double | MinEnergyCut (const G4ParticleDefinition *, const G4MaterialCutsCouple *couple) override |
| Threshold for zero value. | |
| void | SetParticle (const G4ParticleDefinition *p) |
| Read definition of the monopole. | |
Protected Member Functions | |
| virtual G4double | MaxSecondaryEnergy (const G4ParticleDefinition *p, G4double kinEnergy) override |
| Calculate maximum energy available for secondary particle emission. More... | |
Private Member Functions | |
| G4double | ComputeDEDXAhlen (const G4Material *material, G4double bg2, G4double cut) |
| Calculate dedx based on extrapolated Ahlen formula. More... | |
| G4mplIonisationWithDeltaModel & | operator= (const G4mplIonisationWithDeltaModel &right)=delete |
| Assignment operator should be hidden. More... | |
| G4mplIonisationWithDeltaModel (const G4mplIonisationWithDeltaModel ©)=delete | |
| Copy constructor should be hidden. More... | |
Private Attributes | |
| const G4ParticleDefinition * | monopole |
| Monopole definition. | |
| G4ParticleDefinition * | theElectron |
| Electron definition. | |
| G4ParticleChangeForLoss * | fParticleChange |
| Pointer to ionising particle. | |
| G4double | mass |
| Mass of the monopole. | |
| G4double | magCharge |
| Monopole magnetic charge in e+ units. | |
| G4double | twoln10 |
| log(100.0) | |
| G4double | betalow |
| Beta threshold for low asymptotic. | |
| G4double | betalim |
| Beta threshold for high energy (only Ahlen formula) | |
| G4double | beta2lim |
| Square of betalim. | |
| G4double | bg2lim |
| (beta*gamma)^2 for betalim | |
| G4double | chargeSquare |
| Square of magnetic charge in units of Dirac charge. | |
| G4double | dedxlim |
| dedx limit in asymptotic formula, not used | |
| G4double | pi_hbarc2_over_mc2 |
| Convenient constants combination with mass. | |
| G4double | nmpl |
| Magn. More... | |
Static Private Attributes | |
| static std::vector< G4double > * | dedx0 = nullptr |
| Base dedx for each couple in current material. | |
Concrete monopole ionisation model.
Monopole magnetic ionisation dedx is similar to electric one with the exception of beta*beta factor. This model is also capable of producing secondary delta electrons.
Definition at line 34 of file G4mplIonisationWithDeltaModel.h.
|
explicit |
Constructor.
| mCharge | Magnetic charge of the monopole, in e+ units |
| nam | Name of the ionisation process in GEANT4 |
Definition at line 41 of file G4mplIonisationWithDeltaModel.cc.
|
privatedelete |
Copy constructor should be hidden.
| copy | Copy reference |
|
overridevirtual |
Compute cross section per atom for delta electrons emission.
| p | Pointer to monopole definition |
| kineticEnergy | Monopole kinetic energy value |
| Z | Atomic charge |
| A | This argument of base function is ignored |
| cutEnergy | Cut energy for ionisation process |
| maxEnergy | Maximum energy of secondary electron |
Definition at line 214 of file G4mplIonisationWithDeltaModel.cc.
|
virtual |
Compute cross section per electron for delta electrons emission.
| p | Pointer to monopole definition |
| kineticEnergy | Monopole kinetic energy value |
| cutEnergy | Cut energy for ionisation process |
| maxEnergy | Maximum energy of secondary electron |
Definition at line 196 of file G4mplIonisationWithDeltaModel.cc.
|
private |
Calculate dedx based on extrapolated Ahlen formula.
References [1] Steven P. Ahlen: Energy loss of relativistic heavy ionizing particles, S.P. Ahlen, Rev. Mod. Phys 52(1980), p121 [2] K.A. Milton arXiv:hep-ex/0602040 [3] S.P. Ahlen and K. Kinoshita, Phys. Rev. D26 (1982) 2347
| material | Pointer to the material of current volume |
| bg2 | (beta*gamma)^2 |
| cut | Cut energy for ionisation process |
Definition at line 161 of file G4mplIonisationWithDeltaModel.cc.
|
overridevirtual |
G4VEmModel::ComputeDEDXPerVolume implementation.
Combines dedx estimation from extrapolated Ahlen formula and formula for low beta.
| material | Pointer to the material of current volume |
| p | Pointer to monopole definition |
| kineticEnergy | Monopole kinetic energy value |
| maxEnergy | Maximum energy of secondary electron |
Definition at line 119 of file G4mplIonisationWithDeltaModel.cc.
|
overridevirtual |
Calculate dispersion.
| material | Pointer to current material definition |
| dp | Secondary particle pointer |
| tcut | Tcut in dispersion formula |
| tmax | Tmax in dispersion formula? |
| length | Length in dispersion formula? |
Definition at line 309 of file G4mplIonisationWithDeltaModel.cc.
|
overridevirtual |
G4VEmModel::Initialise implementation.
| p | Monopole definition pointer. |
Definition at line 84 of file G4mplIonisationWithDeltaModel.cc.
|
overrideprotectedvirtual |
Calculate maximum energy available for secondary particle emission.
| p | This argument of base function is ignored |
| kinEnergy | Kinetic energy of the ionising particle |
Definition at line 327 of file G4mplIonisationWithDeltaModel.cc.
|
privatedelete |
Assignment operator should be hidden.
| right | Assign reference |
|
overridevirtual |
Create fluctuations in the energies lost to a secondary delta electron.
| couple | Current volume couple to get its material |
| dp | Secondary particle pointer |
| tcut | Tcut in dispersion formula |
| tmax | Tmax in dispersion formula? |
| length | Length in dispersion formula? |
| meanLoss | Mean of energy loss |
Definition at line 279 of file G4mplIonisationWithDeltaModel.cc.
|
overridevirtual |
Create the sample of secondary delta electrons.
| vdp | Pointer to the storage of sampled delta electrons |
| materialCutsCouple | This argument of base function is ignored |
| dp | Secondary particle pointer |
| tmin | Minimal energy of secondary electrons |
| maxEnergy | Maximum energy of secondary electrons |
Definition at line 227 of file G4mplIonisationWithDeltaModel.cc.
|
private |
Magn.
charge in units of Dirac charge g_D, nmpl=1 -> g = g_D
Definition at line 227 of file G4mplIonisationWithDeltaModel.h.