29#ifndef G4DNARelativisticIonisationModel_h
30#define G4DNARelativisticIonisationModel_h 1
50 const G4String& nam =
"DNARelativisticIonisationModel");
92 std::vector <G4int > iState [99];
93 std::vector <G4int > iShell [99];
94 std::vector <G4int > iSubShell [99];
95 std::vector <G4double> Nelectrons[99];
96 std::vector <G4double> Ebinding [99];
97 std::vector <G4double> Ekinetic [99];
99 std::map <G4int, std::vector<G4double> > eVecEZ;
101 typedef std::map <G4int, std::map<G4double, std::vector<G4double> > >
102 DeauxDimensionVecMapZ;
103 DeauxDimensionVecMapZ eVecEjeEZ;
106 std::vector<G4double> > > > TriDimensionVecMapZ;
107 TriDimensionVecMapZ eProbaShellMapZ;
110 std::map<G4double, G4double> > > > QuadDimensionMapZ;
111 QuadDimensionMapZ eDiffCrossSectionDataZ;
112 QuadDimensionMapZ eEjectedEnergyDataZ;
122 G4bool isInitialised=
false;
125 G4int verboseLevel=0;
127 const std::vector<G4double>* fMaterialDensity=
nullptr;
void SelectFasterComputation(G4bool input)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &= *(new G4DataVector()))
virtual void LoadAtomicStates(G4int z, const char *path)
virtual ~G4DNARelativisticIonisationModel()
virtual G4double GetTotalCrossSection(const G4Material *material, const G4ParticleDefinition *, G4double kineticEnergy)
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
virtual G4double GetPartialCrossSection(const G4Material *material, G4int level, const G4ParticleDefinition *, G4double kineticEnergy)
virtual G4double GetDifferentialCrossSection(const G4Material *material, const G4ParticleDefinition *particle, G4double kineticEnergy, G4double secondaryEnergy, G4int level)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
G4ParticleChangeForGamma * fParticleChangeForGamma
void SelectStationary(G4bool input)