49   minGammaEnergy(100.*
eV),
    50   minElectronEnergy(100.*
eV),
    54   G4cout << 
" ********************************************************** " << 
G4endl; 
    56   G4cout << 
" ********************************************************** " << 
G4endl;
    58   G4cout << 
" *  Class G4AtomicDeexcitation is obsolete. It has been   * " << 
G4endl;
    59   G4cout << 
" * discontinued and is going to be removed by next Geant4 * " << 
G4endl; 
    60   G4cout << 
" *     release please migrate to G4UAtomDeexcitation.     * " << 
G4endl;
    62   G4cout << 
" ********************************************************** " << 
G4endl; 
    74   std::vector<G4DynamicParticle*>* vectorOfParticles;
    75   vectorOfParticles = 
new std::vector<G4DynamicParticle*>;
    78   G4int provShellId = 0;
    95       else if ( provShellId == -1)
   101           G4Exception(
"G4AtomicDeexcitation::Constructor", 
"de0002", 
JustWarning, 
"Transition selection invalid, energy local deposited");
   113       else if ( provShellId == -1)
   119           G4Exception(
"G4AtomicDeexcitation::constructor", 
"de0002", 
JustWarning, 
"Transition selection invalid, energy local deposited" );
   123       if (aParticle != 0) {vectorOfParticles->push_back(aParticle);}
   124       else {provShellId = -2;}
   128   while (provShellId > -2); 
   135   return vectorOfParticles;
   141     {
G4Exception(
"G4AtomicDeexcitation::SelectTypeOfTransition()",
"de0002", 
JustWarning ,
"zero or negative shellId");}
   147   G4int provShellId = -1;
   156   if ( shellId <= refShell->FinalShellId())
   160       if(shellNum ==maxNumOfShells-1)
   181       while(transProb < trSize){
   185      if(partialProb <= partSum)
   221   G4double  newsinTh = std::sqrt(1.-newcosTh*newcosTh);
   224   G4double xDir =  newsinTh*std::sin(newPhi);
   225   G4double yDir = newsinTh*std::cos(newPhi);
   234   while (shellId != transitionManager->
   235      ReachableShell(Z,shellNum)->FinalShellId())
   237       if(shellNum == maxNumOfShells-1)
   244   size_t transitionSize = transitionManager->
   245     ReachableShell(Z,shellNum)->OriginatingShellIds().size();
   251   while (provShellId != transitionManager->
   252      ReachableShell(Z,shellNum)->OriginatingShellId(index))
   254       if(index ==  transitionSize-1)
   261   G4double transitionEnergy = transitionManager->
   262     ReachableShell(Z,shellNum)->TransitionEnergy(index);
   267     ReachableShell(Z,shellNum)->OriginatingShellId(index);
   306   if ( shellId <= refAugerTransition->FinalShellId() ) 
   311       if (shellId  != pippo ) {
   314       if(shellNum == maxNumOfShells)
   332       G4int transitionLoopShellIndex = 0;      
   340       G4int transitionSize = 
   342       while (transitionLoopShellIndex < transitionSize) {
   344         std::vector<G4int>::const_iterator 
pos = 
   347         G4int transitionLoopShellId = *(pos+transitionLoopShellIndex);
   348         G4int numberOfPossibleAuger = 
   350         G4int augerIndex = 0;
   354     if (augerIndex < numberOfPossibleAuger) {
   359                                         transitionLoopShellId);
   363         } 
while (augerIndex < numberOfPossibleAuger);
   365         transitionLoopShellIndex++;
   393       G4double totalVacancyAugerProbability = partSum;
   397       G4int transitionRandomShellIndex = 0;
   398       G4int transitionRandomShellId = 1;
   399       G4int augerIndex = 0;
   404       G4int numberOfPossibleAuger = 0;
   408       while (transitionRandomShellIndex < transitionSize) {
   410         std::vector<G4int>::const_iterator 
pos = 
   413         transitionRandomShellId = *(pos+transitionRandomShellIndex);
   416     numberOfPossibleAuger = (anAugerTransition-> 
   417                  AugerTransitionProbabilities(transitionRandomShellId))->size();
   419         while (augerIndex < numberOfPossibleAuger) {
   421                                        transitionRandomShellId);
   425           if (partSum >= (partialProb*totalVacancyAugerProbability) ) { 
   431         if (partSum >= (partialProb*totalVacancyAugerProbability) ) {
break;} 
   432         transitionRandomShellIndex++;
   439       if (!foundFlag) {
return 0;}      
   443       G4double  newsinTh = std::sqrt(1.-newcosTh*newcosTh);
   446       G4double xDir =  newsinTh*std::sin(newPhi);
   447       G4double yDir = newsinTh*std::cos(newPhi);
   468                              newElectronDirection,
 
void SetCutForAugerElectrons(G4double cut)
 
void ActivateAugerElectronProduction(G4bool val)
 
G4double minElectronEnergy
 
G4double AugerTransitionProbability(G4int index, G4int startShellId) const
 
G4int FinalShellId() const
 
G4DynamicParticle * GenerateAuger(G4int Z, G4int shellId)
 
const G4FluoTransition * ReachableShell(G4int Z, size_t shellIndex) const
 
const G4DataVector * AugerTransitionProbabilities(G4int startShellId) const
 
G4GLOB_DLL std::ostream G4cout
 
static const double twopi
 
G4DynamicParticle * GenerateFluorescence(G4int Z, G4int shellId, G4int provShellId)
 
const std::vector< G4int > * TransitionOriginatingShellIds() const
 
G4int OriginatingShellId(G4int index) const
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
const G4AugerTransition * ReachableAugerShell(G4int Z, G4int shellIndex) const
 
G4int NumberOfReachableShells(G4int Z) const
 
G4int SelectTypeOfTransition(G4int Z, G4int shellId)
 
G4int FinalShellId() const
 
G4double AugerTransitionEnergy(G4int index, G4int startShellId) const
 
G4int NumberOfReachableAugerShells(G4int Z) const
 
static G4Electron * Electron()
 
std::vector< G4DynamicParticle * > * GenerateParticles(G4int Z, G4int shellId)
 
void SetCutForSecondaryPhotons(G4double cut)
 
static G4AtomicTransitionManager * Instance()
 
G4double TransitionProbability(G4int index) const
 
const G4DataVector & TransitionProbabilities() const
 
static const G4double pos