61 lowEnergy(emin), highEnergy(
emax)
104 const G4double* theAtomNumDensityVector =
114 cross += theAtomNumDensityVector[i]*
169 }
else if(e < (
xSections[0])->GetMaxEnergy()) {
170 idx = (
xSections[0])->ComputeLogVectorBin(loge);
173 idx = (
xSections[0])->GetVectorLength() - 2;
181 if (urnd <= y1 + a*((*
xSections[i])[idx+1] - y1)) {
182 element = (*theElementVector)[i];
199 G4cout <<
" " << (*theElementVector)[i]->GetName() <<
" : " <<
G4endl;
203 G4cout <<
"Last Element in element vector "
static const G4double emax
G4GLOB_DLL std::ostream G4cout
void Initialise(const G4ParticleDefinition *, G4double cut=0.0)
void Dump(const G4ParticleDefinition *p=nullptr)
const G4ElementVector * theElementVector
G4EmElementSelector(G4VEmModel *, const G4Material *, G4int bins, G4double emin, G4double emax, G4bool spline=true)
const G4Material * material
const G4Element * SelectRandomAtom(const G4double kineticEnergy, const G4double logEKin) const
std::vector< G4PhysicsLogVector * > xSections
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
const G4double * GetVecNbOfAtomsPerVolume() const
const G4String & GetName() const
const G4String & GetParticleName() const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy)
const G4String & GetName() const
static const G4double bins[31]