76#ifndef G4MICROELECINELASTICMODEL_NEW_HH
77#define G4MICROELECINELASTICMODEL_NEW_HH 1
98 const G4String& nam =
"MicroElecInelasticModel");
166 typedef std::map<G4String,G4String,std::less<G4String> >
MapFile;
167 typedef std::map<G4String,G4MicroElecCrossSectionDataSet_new*,std::less<G4String> >
MapData;
169 typedef std::map<G4double, std::vector<G4double> >
VecMap;
172 typedef std::map<G4String, MapData*, std::less<G4String> >
TCSMap;
183 typedef std::map<G4String, G4MicroElecMaterialStructure*, std::less<G4String> >
MapStructure;
static const G4double e1[44]
static const G4double e2[44]
static const G4double emax
static constexpr double m2
std::map< G4String, G4String, std::less< G4String > > MapFile
G4MicroElecInelasticModel_new & operator=(const G4MicroElecInelasticModel_new &right)=delete
G4double RandomizeCreatedElectronEnergy(G4double secondaryKinetic)
G4double DifferentialCrossSection(const G4ParticleDefinition *aParticleDefinition, G4double k, G4double energyTransfer, G4int shell)
G4double stepFunc(G4double x)
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
std::map< G4String, VecMap * > TranfEnergyMap
incidentEnergyMap eIncidentEnergyStorage
dataDiffCSMap eDiffDatatable
std::map< G4String, G4double, std::less< G4String > > highEnergyLimit
TranfEnergyMap eVecmStorage
std::map< G4String, G4MicroElecCrossSectionDataSet_new *, std::less< G4String > > MapData
dataDiffCSMap pNrjTransStorage
G4double QuadInterpolator(G4double e11, G4double e12, G4double e21, G4double e22, G4double x11, G4double x12, G4double x21, G4double x22, G4double t1, G4double t2, G4double t, G4double e)
G4VAtomDeexcitation * fAtomDeexcitation
G4MicroElecInelasticModel_new(const G4MicroElecInelasticModel_new &)=delete
G4MicroElecInelasticModel_new(const G4ParticleDefinition *p=nullptr, const G4String &nam="MicroElecInelasticModel")
~G4MicroElecInelasticModel_new() override
incidentEnergyMap pIncidentEnergyStorage
TranfEnergyMap pVecmStorage
G4int RandomSelect(G4double energy, const G4String &particle, G4double originalMass, G4int originalZ)
G4double RandomizeEjectedElectronEnergy(const G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell, G4double originalMass, G4int originalZ)
G4double ComputeElasticQmax(G4double T1i, G4double T2i, G4double m1, G4double m2)
G4ParticleChangeForGamma * fParticleChangeForGamma
std::map< G4String, std::vector< VecMap > * > dataProbaShellMap
std::map< G4String, std::vector< G4double > * > incidentEnergyMap
dataDiffCSMap eNrjTransStorage
G4double RandomizeEjectedElectronEnergyFromCumulatedDcs(const G4ParticleDefinition *, G4double k, G4int shell)
std::map< G4String, MapData *, std::less< G4String > > TCSMap
G4double TransferedEnergy(const G4ParticleDefinition *, G4double k, G4int ionizationLevelIndex, G4double random)
std::map< G4double, std::map< G4double, G4double > > TriDimensionMap
std::map< G4String, G4MicroElecMaterialStructure *, std::less< G4String > > MapStructure
G4double BKZ(G4double Ep, G4double mp, G4int Zp, G4double EF)
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double Interpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
dataProbaShellMap pProbaShellStorage
G4double ComputeRelativistVelocity(G4double E, G4double mass)
dataDiffCSMap pDiffDatatable
std::map< G4String, std::vector< TriDimensionMap > * > dataDiffCSMap
dataProbaShellMap eProbaShellStorage
std::map< G4String, G4double, std::less< G4String > > lowEnergyLimit
MapStructure tableMaterialsStructures
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4MicroElecMaterialStructure * currentMaterialStructure
std::map< G4double, std::vector< G4double > > VecMap
G4double vrkreussler(G4double v, G4double vF)
G4double energy(const ThreeVector &p, const G4double m)