31#ifndef G4DNAPTBIONISATIONMODEL_h
32#define G4DNAPTBIONISATIONMODEL_h 1
67 const G4String &nam =
"DNAPTBIonisationModel",
68 const G4bool isAuger=
true);
130 typedef std::map<G4String, std::map<G4String, std::map<double, std::map<double, std::map<double, double> > > > > TriDimensionMap;
131 TriDimensionMap diffCrossSectionData;
132 TriDimensionMap fEnergySecondaryData;
133 std::map<G4String, std::map<G4String, std::vector<double> > > fTMapWithVec;
134 typedef std::map<G4String, std::map<G4String, std::map<double, std::vector<double> > > > VecMap;
135 VecMap fEMapWithVector;
136 typedef std::map<G4String, std::map<G4String, std::map<double, std::map<double, std::vector<double> > > > > VecMapWithShell;
137 VecMapWithShell fProbaShellMap;
190 G4double QuadInterpolator(
G4double e11,
G4double e12,
G4double e21,
G4double e22,
G4double xs11,
G4double xs12,
G4double xs21,
G4double xs22,
G4double t1,
G4double t2,
G4double t,
G4double e);
The G4DNAPTBAugerModel class Implement the PTB Auger model.
The G4DNAPTBIonisationModel class Implements the PTB ionisation model.
virtual void Initialise(const G4ParticleDefinition *particle, const G4DataVector &= *(new G4DataVector()), G4ParticleChangeForGamma *fpChangeForGamme=nullptr)
Initialise Method called once at the beginning of the simulation. It is used to setup the list of the...
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4String &materialName, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
CrossSectionPerVolume Mandatory for every model the CrossSectionPerVolume method is in charge of retu...
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4String &materialName, const G4DynamicParticle *, G4ParticleChangeForGamma *particleChangeForGamma, G4double tmin, G4double tmax)
SampleSecondaries If the model is selected for the ModelInterface then SampleSecondaries will be call...
virtual ~G4DNAPTBIonisationModel()
~G4DNAPTBIonisationModel Destructor