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,
 
G4double AugerTransitionProbability(G4int index, G4int startShellId) const 
 
void SetCutForAugerElectrons(G4double cut)
 
CLHEP::Hep3Vector G4ThreeVector
 
void ActivateAugerElectronProduction(G4bool val)
 
const G4AugerTransition * ReachableAugerShell(G4int Z, G4int shellIndex) const 
 
G4double minElectronEnergy
 
G4int NumberOfReachableShells(G4int Z) const 
 
G4double AugerTransitionEnergy(G4int index, G4int startShellId) const 
 
const G4DataVector & TransitionProbabilities() const 
 
G4DynamicParticle * GenerateAuger(G4int Z, G4int shellId)
 
G4int FinalShellId() const 
 
G4int OriginatingShellId(G4int index) const 
 
G4GLOB_DLL std::ostream G4cout
 
G4int NumberOfReachableAugerShells(G4int Z) const 
 
G4DynamicParticle * GenerateFluorescence(G4int Z, G4int shellId, G4int provShellId)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4int SelectTypeOfTransition(G4int Z, G4int shellId)
 
G4double TransitionProbability(G4int index) const 
 
const G4FluoTransition * ReachableShell(G4int Z, size_t shellIndex) const 
 
static G4Electron * Electron()
 
const std::vector< G4int > * TransitionOriginatingShellIds() const 
 
std::vector< G4DynamicParticle * > * GenerateParticles(G4int Z, G4int shellId)
 
const G4DataVector * AugerTransitionProbabilities(G4int startShellId) const 
 
void SetCutForSecondaryPhotons(G4double cut)
 
G4int FinalShellId() const 
 
static G4AtomicTransitionManager * Instance()
 
static const G4double pos