76#ifndef G4MICROELECELASTICMODEL_NEW_HH
77#define G4MICROELECELASTICMODEL_NEW_HH 1
96 const G4String& nam =
"MicroElecElasticModel");
150 typedef std::map<G4String,G4String,std::less<G4String> >
MapFile;
152 typedef std::map<G4String,G4MicroElecCrossSectionDataSet_new*,std::less<G4String> >
MapData;
155 typedef std::map<G4String, MapData*, std::less<G4String> >
TCSMap;
161 typedef std::map<G4String, TriDimensionMap* >
ThetaMap;
164 typedef std::map<G4String, std::vector<G4double>* >
energyMap;
167 typedef std::map<G4double, std::vector<G4double> >
VecMap;
172 typedef std::map<G4String, G4MicroElecMaterialStructure*, std::less<G4String> >
MapStructure;
177 typedef std::map<G4String, G4double, std::less<G4String> >
MapEnergy;
static const G4double e1[44]
static const G4double e2[44]
static const G4double emax
MapEnergy highEnergyLimitTable
std::map< G4double, std::map< G4double, G4double > > TriDimensionMap
std::map< G4String, G4MicroElecMaterialStructure *, std::less< G4String > > MapStructure
ThetaMap thetaDataStorage
std::map< G4String, G4double, std::less< G4String > > MapEnergy
G4bool acousticModelEnabled
MapEnergy workFunctionTable
G4double AcousticCrossSectionPerVolume(G4double ekin, G4double kbz, G4double rho, G4double cs, G4double Aac, G4double Eac, G4double prefactor)
void SetKillBelowThreshold(G4double threshold)
~G4MicroElecElasticModel_new() override
std::map< G4String, VecMap * > ProbaMap
G4double LinLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
G4MicroElecElasticModel_new(const G4ParticleDefinition *p=0, const G4String &nam="MicroElecElasticModel")
std::map< G4String, G4String, std::less< G4String > > MapFile
G4MicroElecElasticModel_new & operator=(const G4MicroElecElasticModel_new &right)
std::map< G4String, MapData *, std::less< G4String > > TCSMap
std::map< G4double, std::vector< G4double > > VecMap
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4MicroElecElasticModel_new(const G4MicroElecElasticModel_new &)
G4bool isOkToBeInitialised
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double DamageEnergy(G4double T, G4double A, G4double Z)
G4double GetKillBelowThreshold()
std::map< G4String, G4MicroElecCrossSectionDataSet_new *, std::less< G4String > > MapData
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
std::map< G4String, TriDimensionMap * > ThetaMap
G4double RandomizeCosTheta(G4double k)
MapEnergy lowEnergyLimitTable
G4String currentMaterialName
G4double LinLinInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
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)
std::map< G4String, std::vector< G4double > * > energyMap
G4MicroElecMaterialStructure * currentMaterialStructure
G4double Theta(G4ParticleDefinition *aParticleDefinition, G4double k, G4double integrDiff)
G4ParticleChangeForGamma * fParticleChangeForGamma
G4double LogLogInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
G4double lowEnergyLimitOfModel
energyMap eIncidentEnergyStorage
MapStructure tableMaterialsStructures