76#ifndef G4MICROELECELASTICMODEL_HH
77#define G4MICROELECELASTICMODEL_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;
159 typedef std::map<double, std::map<double, double> > TriDimensionMap;
161 typedef std::map<G4String, TriDimensionMap* > ThetaMap;
162 ThetaMap thetaDataStorage;
164 typedef std::map<G4String, std::vector<double>* > energyMap;
165 energyMap eIncidentEnergyStorage;
167 typedef std::map<double, std::vector<double> > VecMap;
169 typedef std::map<G4String, VecMap* > ProbaMap;
170 ProbaMap eProbaStorage;
172 typedef std::map<G4String, G4MicroElecMaterialStructure*, std::less<G4String> > MapStructure;
174 MapStructure tableMaterialsStructures;
177 typedef std::map<G4String, G4double, std::less<G4String> > MapEnergy;
178 MapEnergy lowEnergyLimitTable;
179 MapEnergy highEnergyLimitTable;
180 MapEnergy workFunctionTable;
182 G4bool killElectron, acousticModelEnabled;
184 G4bool isOkToBeInitialised;
G4double AcousticCrossSectionPerVolume(G4double ekin, G4double kbz, G4double rho, G4double cs, G4double Aac, G4double Eac, G4double prefactor)
void SetKillBelowThreshold(G4double threshold)
~G4MicroElecElasticModel_new() override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double DamageEnergy(G4double T, G4double A, G4double Z)
G4double GetKillBelowThreshold()
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
G4ParticleChangeForGamma * fParticleChangeForGamma