41#ifndef G4DNACPA100IonisationModel_h
42#define G4DNACPA100IonisationModel_h 1
66 const G4String& nam =
"DNACPA100IonisationModel");
117 typedef std::map<G4String,G4String,std::less<G4String> >
MapFile;
120 typedef std::map<G4String,G4DNACrossSectionDataSet*,std::less<G4String> >
MapData;
160 typedef std::map<G4double, std::vector<G4double> >
VecMap;
static const G4double e1[44]
static const G4double e2[44]
static const G4double emax
G4DNACPA100WaterIonisationStructure waterStructure
G4double DifferentialCrossSection(G4ParticleDefinition *aParticleDefinition, G4double k, G4double energyTransfer, G4int shell)
G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell)
std::map< G4String, G4String, std::less< G4String > > MapFile
std::map< G4String, G4double, std::less< G4String > > lowEnergyLimit
G4DNACPA100IonisationModel(const G4ParticleDefinition *p=0, const G4String &nam="DNACPA100IonisationModel")
G4double RandomizeEjectedElectronEnergyFromCompositionSampling(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell)
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)
void SelectStationary(G4bool input)
G4double RandomTransferedEnergy(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell)
std::map< G4double, std::vector< G4double > > VecMap
const std::vector< G4double > * fpMolWaterDensity
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
virtual ~G4DNACPA100IonisationModel()
G4DNACPA100IonisationModel & operator=(const G4DNACPA100IonisationModel &right)
G4DNACPA100IonisationModel(const G4DNACPA100IonisationModel &)
TriDimensionMap eNrjTransfData[6]
void SelectUseDcs(G4bool input)
void RandomizeEjectedElectronDirection(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4double outgoingParticleEnergy, G4double &cosTheta, G4double &phi)
std::vector< G4double > eTdummyVec
G4ParticleChangeForGamma * fParticleChangeForGamma
std::map< G4String, G4DNACrossSectionDataSet *, std::less< G4String > > MapData
void SelectFasterComputation(G4bool input)
std::map< G4double, std::map< G4double, G4double > > TriDimensionMap
std::map< G4String, G4double, std::less< G4String > > highEnergyLimit
G4double RandomizeEjectedElectronEnergyFromCumulatedDcs(G4ParticleDefinition *aParticleDefinition, G4double incomingParticleEnergy, G4int shell)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &= *(new G4DataVector()))
TriDimensionMap eDiffCrossSectionData[6]
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4int RandomSelect(G4double energy, const G4String &particle)
G4double Interpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
G4VAtomDeexcitation * fAtomDeexcitation
G4double energy(const ThreeVector &p, const G4double m)