43#ifndef G4MicroElecInelasticModel_h
44#define G4MicroElecInelasticModel_h 1
64 const G4String& nam =
"MicroElecInelasticModel");
117 std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
118 std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
121 typedef std::map<G4String,G4String,std::less<G4String> > MapFile;
124 typedef std::map<G4String,G4MicroElecCrossSectionDataSet*,std::less<G4String> > MapData;
127 typedef std::map<G4double, std::map<G4double, G4double> > TriDimensionMap;
128 TriDimensionMap eDiffCrossSectionData[7];
129 TriDimensionMap eNrjTransfData[7];
130 TriDimensionMap pDiffCrossSectionData[7];
131 TriDimensionMap pNrjTransfData[7];
132 std::vector<G4double> eTdummyVec;
133 std::vector<G4double> pTdummyVec;
135 typedef std::map<G4double, std::vector<G4double> > VecMap;
138 VecMap eProbaShellMap[7];
139 VecMap pProbaShellMap[7];
G4MicroElecInelasticModel(const G4MicroElecInelasticModel &)=delete
G4double TransferedEnergy(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell, G4double random)
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4ParticleChangeForGamma * fParticleChangeForGamma
virtual ~G4MicroElecInelasticModel()
G4MicroElecInelasticModel & operator=(const G4MicroElecInelasticModel &right)=delete
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
void SelectFasterComputation(G4bool input)
G4double DifferentialCrossSection(G4ParticleDefinition *aParticleDefinition, G4double k, G4double energyTransfer, G4int shell)