37 #ifndef G4MuElecElasticModel_h
38 #define G4MuElecElasticModel_h 1
57 const G4String& nam =
"MuElecElasticModel");
94 typedef std::map<G4String,G4String,std::less<G4String> > MapFile;
97 typedef std::map<G4String,G4MuElecCrossSectionDataSet*,std::less<G4String> > MapData;
121 typedef std::map<double, std::map<double, double> > TriDimensionMap;
123 TriDimensionMap eDiffCrossSectionData;
124 std::vector<double> eTdummyVec;
126 typedef std::map<double, std::vector<double> > VecMap;
140 killBelowEnergy = threshold;
142 if (threshold < 5*CLHEP::eV)
144 G4Exception (
"*** WARNING : the G4MuElecElasticModel class is not validated below 5 eV !",
"",
JustWarning,
"") ;
145 threshold = 0.025*CLHEP::eV;
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
virtual ~G4MuElecElasticModel()
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
G4MuElecElasticModel(const G4ParticleDefinition *p=0, const G4String &nam="MuElecElasticModel")
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double GetKillBelowThreshold()
G4ParticleChangeForGamma * fParticleChangeForGamma
void SetKillBelowThreshold(G4double threshold)