584 if ( shellId <= refAugerTransition->FinalShellId() )
590 if (shellId != pippo ) {
593 if(shellNum == maxNumOfShells)
607 G4int transitionLoopShellIndex = 0;
615 G4int transitionSize =
617 while (transitionLoopShellIndex < transitionSize) {
619 std::vector<G4int>::const_iterator
pos =
622 G4int transitionLoopShellId = *(pos+transitionLoopShellIndex);
623 G4int numberOfPossibleAuger =
625 G4int augerIndex = 0;
628 if (augerIndex < numberOfPossibleAuger) {
632 transitionLoopShellId);
636 }
while (augerIndex < numberOfPossibleAuger);
638 transitionLoopShellIndex++;
663 G4double totalVacancyAugerProbability = partSum;
666 G4int transitionRandomShellIndex = 0;
667 G4int transitionRandomShellId = 1;
668 G4int augerIndex = 0;
673 G4int numberOfPossibleAuger = 0;
677 while (transitionRandomShellIndex < transitionSize) {
679 std::vector<G4int>::const_iterator pos =
682 transitionRandomShellId = *(pos+transitionRandomShellIndex);
685 numberOfPossibleAuger = (anAugerTransition->
686 AugerTransitionProbabilities(transitionRandomShellId))->size();
688 while (augerIndex < numberOfPossibleAuger) {
690 transitionRandomShellId);
694 if (partSum >= (partialProb*totalVacancyAugerProbability) ) {
700 if (partSum >= (partialProb*totalVacancyAugerProbability) ) {
break;}
701 transitionRandomShellIndex++;
715 G4double newsinTh = std::sqrt(1.-newcosTh*newcosTh);
718 G4double xDir = newsinTh*std::sin(newPhi);
719 G4double yDir = newsinTh*std::cos(newPhi);
755 newElectronDirection,
G4int AugerOriginatingShellId(G4int index, G4int startShellId) const
std::vector< int > vacancyArray
G4double AugerTransitionProbability(G4int index, G4int startShellId) const
G4bool IsAugerCascadeActive() const
G4AtomicTransitionManager * transitionManager
const G4DataVector * AugerTransitionProbabilities(G4int startShellId) const
static const double twopi
const std::vector< G4int > * TransitionOriginatingShellIds() const
G4double minElectronEnergy
const G4AugerTransition * ReachableAugerShell(G4int Z, G4int shellIndex) const
G4int FinalShellId() const
G4double AugerTransitionEnergy(G4int index, G4int startShellId) const
G4int NumberOfReachableAugerShells(G4int Z) const
static G4Electron * Electron()
static const G4double pos
G4bool IsAugerActive() const