69std::vector<G4VEMDataSet*>*
79 std::vector<G4VEMDataSet*>* matCrossSections =
new std::vector<G4VEMDataSet*>;
85 size_t nOfBins = energyVector.size();
88 for (
size_t mLocal=0; mLocal<numOfCouples; mLocal++)
100 for (
G4int i=0; i<nElements; i++) {
102 G4int Z = (
G4int) (*elementVector)[i]->GetZ();
103 G4double density = nAtomsPerVolume[i];
112 for (
size_t bin=0; bin<nOfBins; bin++)
115 energies->push_back(e);
117 log_energies->push_back(std::log10(e));
119 data->push_back(cross);
120 if (cross==0.) cross=1e-300;
121 log_data->push_back(std::log10(cross));
133 matCrossSections->push_back(setForMat);
135 delete interpolationAlgo;
136 return matCrossSections;
std::vector< G4Element * > G4ElementVector
virtual std::vector< G4VEMDataSet * > * BuildCrossSectionsForMaterials(const G4DataVector &energyVector, const G4DataVector *energyCuts=0)
const G4Material * GetMaterial() const
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
const G4double * GetAtomicNumDensityVector() const
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
std::size_t GetTableSize() const
static G4ProductionCutsTable * GetProductionCutsTable()
G4double FindValue(G4int Z, G4double e) const
virtual G4VDataSetAlgorithm * CreateInterpolation()
virtual G4VDataSetAlgorithm * Clone() const =0
virtual void AddComponent(G4VEMDataSet *dataSet)=0