71 if(1 < numberOfElements) {
72 if(numberOfElements >
prob.size()) {
prob.resize(numberOfElements, 0.0); }
77 for (i=0; i < numberOfElements; ++i) {
82 if( (9 == Z) || (17 == Z) || (35 == Z) || (53 == Z) || (85 == Z) ) {
83 sum += 0.66 * Z * theAtomNumDensity[i];
87 sum += 0.56 * Z * theAtomNumDensity[i];
91 sum += Z * theAtomNumDensity[i];
97 for (i=0; i < numberOfElements; ++i) {
98 if(sum <=
prob[i]) {
break; }
107 size_t ni = isv->size();
114 for(i=0; i<ni; ++i) {
116 if(y <= 0.0) {
break; }
virtual G4Element * SelectZandA(const G4Track &track, G4Nucleus *)
std::vector< G4Isotope * > G4IsotopeVector
std::vector< G4Element * > G4ElementVector
const G4ElementVector * GetElementVector() const
G4double * GetRelativeAbundanceVector() const
static const G4double A[nN]
std::vector< G4double > prob
const G4double * GetAtomicNumDensityVector() const
G4Material * GetMaterial() const
G4IsotopeVector * GetIsotopeVector() const
virtual ~G4ElementSelector()
const G4Isotope * GetIsotope(G4int iso) const
size_t GetNumberOfElements() const
void SetParameters(const G4double A, const G4double Z)