84 std::vector<G4RDVEMDataSet*>* set =
new std::vector<G4RDVEMDataSet*>;
88 G4int nOfBins = energyVector.size();
94 for (
size_t m=0;
m<numOfCouples;
m++) {
103 G4cout <<
"eIonisation CS for " <<
m <<
"th material "
105 <<
" eEl= " << nElements <<
G4endl;
113 for (
G4int i=0; i<nElements; i++) {
124 energies->push_back(e);
133 if(verbose>0 &&
m == 0 && e>=1. && e<=0.) {
134 G4cout <<
"G4eIonCrossSH: e(MeV)= " << e/
MeV
136 <<
" cross= " << cross
138 <<
" value= " << value
139 <<
" tcut(MeV)= " << tcut/
MeV
140 <<
" rho= " << density
147 cs->push_back(value);
153 set->push_back(setForMat);
virtual G4RDVDataSetAlgorithm * Clone() const =0
std::vector< G4Element * > G4ElementVector
void Initialise(G4RDVDataSetAlgorithm *interpolation=0, G4double minE=250 *CLHEP::eV, G4double maxE=100 *CLHEP::GeV, G4int numberOfBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=1, G4int maxZ=99)
const G4String & GetName() const
~G4RDeIonisationCrossSectionHandler()
G4double FindValue(G4int Z, G4double e) const
const G4ElementVector * GetElementVector() const
G4GLOB_DLL std::ostream G4cout
size_t GetTableSize() const
std::vector< G4RDVEMDataSet * > * BuildCrossSectionsForMaterials(const G4DataVector &energyVector, const G4DataVector *energyCuts)
const G4double * GetAtomicNumDensityVector() const
static G4ProductionCutsTable * GetProductionCutsTable()
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
G4RDeIonisationCrossSectionHandler(const G4RDVEnergySpectrum *spec, G4RDVDataSetAlgorithm *alg, G4double emin, G4double emax, G4int nbin)
const XML_Char int const XML_Char * value
size_t GetNumberOfElements() const
G4int NumberOfComponents(G4int Z) const
virtual void AddComponent(G4RDVEMDataSet *dataSet)=0
const G4Material * GetMaterial() const
virtual G4double Probability(G4int Z, G4double minKineticEnergy, G4double maxKineticEnergy, G4double kineticEnergy, G4int shell=0, const G4ParticleDefinition *pd=0) const =0