Concrete monopole ionisation model.
More...
#include <G4mplIonisationWithDeltaModel.h>
|
| 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 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 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.
|
|
|
virtual G4double | MaxSecondaryEnergy (const G4ParticleDefinition *p, G4double kinEnergy) override |
| Calculate maximum energy available for secondary particle emission. More...
|
|
|
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 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 36 of file G4mplIonisationWithDeltaModel.h.
◆ G4mplIonisationWithDeltaModel() [1/2]
Constructor.
- Parameters
-
mCharge | Magnetic charge of the monopole, in e+ units |
nam | Name of the ionisation process in GEANT4 |
Definition at line 43 of file G4mplIonisationWithDeltaModel.cc.
45 : G4VEmModel(nam), G4VEmFluctuationModel(nam),
61 B2INFO(
"Monopole ionisation model with d-electron production, Gmag= " <<
magCharge / eplus);
63 B2WARNING(
"Monopole charge Gmag= " <<
magCharge / eplus <<
"e not reasonable. Please choose a value smaller than 411e.");
◆ G4mplIonisationWithDeltaModel() [2/2]
Copy constructor should be hidden.
- Parameters
-
◆ ComputeCrossSectionPerAtom()
G4double ComputeCrossSectionPerAtom |
( |
const G4ParticleDefinition * |
p, |
|
|
G4double |
kineticEnergy, |
|
|
G4double |
Z, |
|
|
G4double |
A, |
|
|
G4double |
cutEnergy, |
|
|
G4double |
maxEnergy |
|
) |
| |
|
overridevirtual |
Compute cross section per atom for delta electrons emission.
- Parameters
-
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 |
- Returns
- Cross section
Definition at line 216 of file G4mplIonisationWithDeltaModel.cc.
◆ ComputeCrossSectionPerElectron()
G4double ComputeCrossSectionPerElectron |
( |
const G4ParticleDefinition * |
p, |
|
|
G4double |
kineticEnergy, |
|
|
G4double |
cutEnergy, |
|
|
G4double |
maxEnergy |
|
) |
| |
|
virtual |
Compute cross section per electron for delta electrons emission.
- Parameters
-
p | Pointer to monopole definition |
kineticEnergy | Monopole kinetic energy value |
cutEnergy | Cut energy for ionisation process |
maxEnergy | Maximum energy of secondary electron |
- Returns
- Cross section
Definition at line 198 of file G4mplIonisationWithDeltaModel.cc.
◆ ComputeDEDXAhlen()
G4double ComputeDEDXAhlen |
( |
const G4Material * |
material, |
|
|
G4double |
bg2, |
|
|
G4double |
cut |
|
) |
| |
|
private |
Caculate 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
- Parameters
-
material | Pointer to the material of current volume |
bg2 | (beta*gamma)^2 |
cut | Cut energy for ionisation process |
- Returns
- dedx magnitude
Definition at line 163 of file G4mplIonisationWithDeltaModel.cc.
◆ ComputeDEDXPerVolume()
G4double ComputeDEDXPerVolume |
( |
const G4Material * |
material, |
|
|
const G4ParticleDefinition * |
p, |
|
|
G4double |
kineticEnergy, |
|
|
G4double |
maxEnergy |
|
) |
| |
|
overridevirtual |
G4VEmModel::ComputeDEDXPerVolume implementation.
Combines dedx estimation from extrapolated Ahlen formula and formula for low beta.
- Parameters
-
material | Pointer to the material of current volume |
p | Pointer to monopole definition |
kineticEnergy | Monopole kinetic energy value |
maxEnergy | Maximum energy of secondary electron |
- Returns
- dedx magnitude
Definition at line 121 of file G4mplIonisationWithDeltaModel.cc.
◆ Dispersion()
G4double Dispersion |
( |
const G4Material * |
material, |
|
|
const G4DynamicParticle * |
dp, |
|
|
G4double |
tmax, |
|
|
G4double |
length |
|
) |
| |
|
overridevirtual |
Calculate dispersion.
- Parameters
-
material | Pointer to current material definition |
dp | Secnodary particle pointer |
tmax | Tmax in dispersion formula? |
length | Length in dispersion formula? |
- Returns
- Dispersion
Definition at line 310 of file G4mplIonisationWithDeltaModel.cc.
◆ Initialise()
void Initialise |
( |
const G4ParticleDefinition * |
p, |
|
|
const G4DataVector & |
|
|
) |
| |
|
overridevirtual |
◆ MaxSecondaryEnergy()
G4double MaxSecondaryEnergy |
( |
const G4ParticleDefinition * |
p, |
|
|
G4double |
kinEnergy |
|
) |
| |
|
overrideprotectedvirtual |
Calculate maximum energy available for secondary particle emission.
- Parameters
-
p | This argument of base function is ignored |
kinEnergy | Kinetic energy of the ionising particle |
- Returns
- Maximum energy available for secondary particle emission
Definition at line 328 of file G4mplIonisationWithDeltaModel.cc.
◆ operator=()
Assignment operator should be hidden.
- Parameters
-
◆ SampleFluctuations()
G4double SampleFluctuations |
( |
const G4MaterialCutsCouple * |
couple, |
|
|
const G4DynamicParticle * |
dp, |
|
|
G4double |
tmax, |
|
|
G4double |
length, |
|
|
G4double |
meanLoss |
|
) |
| |
|
overridevirtual |
Create fluctuations in the energies lost to a secondary delta electron.
- Parameters
-
couple | Current volume coulple to get its material |
dp | Secnodary particle pointer |
tmax | Tmax in dispersion formula? |
length | Length in dispersion formula? |
meanLoss | Mean of energy loss |
- Returns
- Fluctuated loss
Definition at line 281 of file G4mplIonisationWithDeltaModel.cc.
◆ SampleSecondaries()
void SampleSecondaries |
( |
std::vector< G4DynamicParticle * > * |
vdp, |
|
|
const G4MaterialCutsCouple * |
materialCutsCouple, |
|
|
const G4DynamicParticle * |
dp, |
|
|
G4double |
tmin, |
|
|
G4double |
maxEnergy |
|
) |
| |
|
overridevirtual |
Create the sample of secondary delta electrons.
- Parameters
-
vdp | Pointer to the storage of sampled delta electrons |
materialCutsCouple | This argument of base function is ignored |
dp | Secnodary particle pointer |
tmin | Minimal energy of secondary electrons |
maxEnergy | Maximum energy of secondary electrons |
Definition at line 229 of file G4mplIonisationWithDeltaModel.cc.
◆ nmpl
The documentation for this class was generated from the following files: