70std::vector<G4VEMDataSet*>*
80 std::vector<G4VEMDataSet*>* matCrossSections =
new std::vector<G4VEMDataSet*>;
86 size_t nOfBins = energyVector.size();
89 for (
size_t mLocal=0; mLocal<numOfCouples; mLocal++)
101 for (
G4int i=0; i<nElements; i++) {
103 G4int Z = (
G4int) (*elementVector)[i]->GetZ();
104 G4double density = nAtomsPerVolume[i];
113 for (
size_t bin=0; bin<nOfBins; bin++)
116 energies->push_back(e);
118 log_energies->push_back(std::log10(e));
120 data->push_back(cross);
121 if (cross==0.) cross=1e-300;
122 log_data->push_back(std::log10(cross));
134 matCrossSections->push_back(setForMat);
136 delete interpolationAlgo;
137 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
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