248 if(!flagPIXE && !activePIXEMedia[coupleIndex]) {
return; }
249 if(eLossMax <= 0.0 || truelength <= 0.0) {
return; }
265 if(ignoreCuts) { gCut = 0.0; }
269 if(ignoreCuts) { eCut = 0.0; }
277 const G4double* theAtomNumDensityVector =
282 for(
G4int i=0; i<nelm; ++i) {
283 G4int Z = (*theElementVector)[i]->GetZasInt();
284 if(activeZ[Z] && Z < 93) {
286 std::min(9,(*theElementVector)[i]->GetNbOfAtomicShells());
287 G4double rho = truelength*theAtomNumDensityVector[i];
289 for(
G4int ii=0; ii<nshells; ++ii) {
294 if(gCut > bindingEnergy) {
break; }
296 if(eLossMax > bindingEnergy) {
308 if( stot > 1.0 || eLossMax < bindingEnergy) {
break; }
312 G4int nsec = vdyn.size();
316 for(
G4int j=0; j<nsec; ++j) {
339 }
while (stot < 1.0);
G4ParticleDefinition * GetDefinition() const
const std::vector< G4double > * GetEnergyCutsVector(size_t pcIdx) const
std::vector< G4Element * > G4ElementVector
virtual G4double GetShellIonisationCrossSectionPerAtom(const G4ParticleDefinition *, G4int Z, G4AtomicShellEnumerator shell, G4double kinE, const G4Material *mat=nullptr)=0
G4double GetKineticEnergy() const
G4double GetStepLength() const
G4Material * GetMaterial() const
G4ParticleDefinition * GetDefinition() const
G4double BindingEnergy() const
const G4ElementVector * GetElementVector() const
void SetCreatorModelIndex(G4int idx)
G4StepPoint * GetPreStepPoint() const
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
const G4double * GetVecNbOfAtomsPerVolume() const
const G4ThreeVector & GetPosition() const
G4bool CheckAugerActiveRegion(G4int coupleIndex)
G4StepPoint * GetPostStepPoint() const
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double GetGlobalTime() const
size_t GetNumberOfElements() const
G4double GetKineticEnergy() const
void GenerateParticles(std::vector< G4DynamicParticle * > *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
G4Track * GetTrack() const
G4double bindingEnergy(G4int A, G4int Z)