75 if(1 == numberOfElements)
return (*theElementVector)[0];
80 for ( i=0; i < numberOfElements; i++ ) {
82 Z = (*theElementVector)[i]->GetZ();
85 if( (9.0 == Z) || (17.0 == Z) || (35.0 == Z) || (53.0 == Z) || (85.0 == Z) ) {
86 sum += 0.66 * Z * theAtomicNumberDensity[i] ;
89 }
else if( 8.0 == Z ) {
90 sum += 0.56 * Z * theAtomicNumberDensity[i] ;
94 sum += Z * theAtomicNumberDensity[i] ;
105 Z = (*theElementVector)[i]->GetZ();
108 if( (9.0 == Z) || (17.0 == Z) || (35.0 == Z) || (53.0 == Z) || (85.0 == Z) ) {
109 sum += 0.66 * Z * theAtomicNumberDensity[i] ;
112 }
else if( 8.0 == Z ) {
113 sum += 0.56 * Z * theAtomicNumberDensity[i] ;
117 sum += Z * theAtomicNumberDensity[i] ;
119 }
while ( (sum < random) && (i < numberOfElements - 1) );
121 return (*theElementVector)[i];
std::vector< G4Element * > G4ElementVector
G4double GetMuonCaptureRate(G4double Z, G4double A)
G4double GetMuonDecayRate(G4double Z, G4double A)
const G4ElementVector * GetElementVector() const
const G4double * GetAtomicNumDensityVector() const
G4Element * GetElement(const G4Material *aMaterial)
size_t GetNumberOfElements() const
static G4double GetMuonDecayRate(G4int Z)
static G4double GetMuonCaptureRate(G4int Z, G4int A)