90 std::vector<G4VEMDataSet*>*
94 std::vector<G4VEMDataSet*>* set =
new std::vector<G4VEMDataSet*>;
102 G4int nOfBins = energyVector.size();
108 for (
size_t mLocal=0; mLocal<numOfCouples; mLocal++) {
116 G4double tcut = (*energyCuts)[mLocal];
121 for (
G4int i=0; i<nElements; i++) {
123 G4int Z = (
G4int) ((*elementVector)[i]->GetZ());
133 for (
G4int bin=0; bin<nOfBins; bin++) {
136 energies->push_back(e);
138 log_energies->push_back(std::log10(e));
148 cs->push_back(value);
150 if (value==0.) value=1e-300;
151 log_cs->push_back(std::log10(value));
161 set->push_back(setForMat);
174 if(energy > cutEnergy)
G4VDataSetAlgorithm * interp
std::vector< G4Element * > G4ElementVector
const G4VEnergySpectrum * theBR
const G4ElementVector * GetElementVector() const
virtual G4VDataSetAlgorithm * Clone() const =0
std::vector< G4VEMDataSet * > * BuildCrossSectionsForMaterials(const G4DataVector &energyVector, const G4DataVector *energyCuts)
G4double FindValue(G4int Z, G4double e) const
const G4double * GetVecNbOfAtomsPerVolume() const
size_t GetTableSize() const
virtual void AddComponent(G4VEMDataSet *dataSet)=0
virtual G4double Probability(G4int Z, G4double minKineticEnergy, G4double maxKineticEnergy, G4double kineticEnergy, G4int shell=0, const G4ParticleDefinition *pd=0) const =0
static G4ProductionCutsTable * GetProductionCutsTable()
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
G4double energy(const ThreeVector &p, const G4double m)
G4BremsstrahlungCrossSectionHandler(const G4VEnergySpectrum *spectrum, G4VDataSetAlgorithm *interpolation)
G4double GetCrossSectionAboveThresholdForElement(G4double energy, G4double cutEnergy, G4int Z)
~G4BremsstrahlungCrossSectionHandler()
size_t GetNumberOfElements() const
const G4Material * GetMaterial() const