89std::vector<G4VEMDataSet*>*
93 std::vector<G4VEMDataSet*>* set =
new std::vector<G4VEMDataSet*>;
101 G4int nOfBins = energyVector.size();
107 for (
size_t mLocal=0; mLocal<numOfCouples; mLocal++) {
115 G4double tcut = (*energyCuts)[mLocal];
120 for (
G4int i=0; i<nElements; i++) {
122 G4int Z = (
G4int) ((*elementVector)[i]->GetZ());
130 G4double density = nAtomsPerVolume[i];
132 for (
G4int bin=0; bin<nOfBins; bin++) {
135 energies->push_back(e);
137 log_energies->push_back(std::log10(e));
145 value *= elemCs*density;
147 cs->push_back(value);
149 if (value==0.) value=1e-300;
150 log_cs->push_back(std::log10(value));
160 set->push_back(setForMat);
173 if(energy > cutEnergy)
176 value = theBR->
Probability(Z,cutEnergy, energy, energy);
std::vector< G4Element * > G4ElementVector
G4double GetCrossSectionAboveThresholdForElement(G4double energy, G4double cutEnergy, G4int Z)
~G4BremsstrahlungCrossSectionHandler()
G4BremsstrahlungCrossSectionHandler(const G4VEnergySpectrum *spectrum, G4VDataSetAlgorithm *interpolation)
std::vector< G4VEMDataSet * > * BuildCrossSectionsForMaterials(const G4DataVector &energyVector, const G4DataVector *energyCuts)
const G4Material * GetMaterial() const
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
const G4double * GetVecNbOfAtomsPerVolume() const
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
std::size_t GetTableSize() const
static G4ProductionCutsTable * GetProductionCutsTable()
G4double FindValue(G4int Z, G4double e) const
virtual G4VDataSetAlgorithm * Clone() const =0
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