45   infTableLimit(limitInfTable),
 
   46   supTableLimit(limitSupTable)
 
   55   shellManager->
LoadData(
"/fluor/binding");
 
   61       std::vector<G4RDAtomicShell*> vectorOfShells;  
 
   62       size_t shellIndex = 0; 
 
   65       for (shellIndex = 0; shellIndex<numberOfShells; shellIndex++) 
 
   72       vectorOfShells.push_back(shell);
 
   76       shellTable[
Z] = vectorOfShells;
 
   81   for (
G4int Znum= infTableLimit; Znum<=supTableLimit; Znum++)
 
   83     std::vector<G4RDFluoTransition*> vectorOfTransitions;
 
   86     size_t numberOfVacancies = fluoManager-> NumberOfVacancies();
 
   88     for (
size_t vacancyIndex = 0; vacancyIndex<numberOfVacancies;  vacancyIndex++)
 
   91     std::vector<G4int>  vectorOfIds;
 
   97     for (
size_t origShellIndex = 0; origShellIndex < numberOfTransitions;
 
  102         G4int originatingShellId = fluoManager->
StartShellId(origShellIndex,vacancyIndex);
 
  104         vectorOfIds.push_back(originatingShellId);
 
  107         vectorOfEnergies.push_back(transitionEnergy);
 
  109         vectorOfProbabilities.push_back(transitionProbability);
 
  112                                     vectorOfEnergies,vectorOfProbabilities);
 
  113       vectorOfTransitions.push_back(transition); 
 
  116     transitionTable[Znum] = vectorOfTransitions;
 
  129 std::map<G4int,std::vector<G4RDAtomicShell*>,std::less<G4int> >::iterator 
pos;
 
  131  for (pos = shellTable.begin(); pos != shellTable.end(); pos++){
 
  133    std::vector< G4RDAtomicShell*>vec = (*pos).second;
 
  135    G4int vecSize=vec.size();
 
  137    for (
G4int i=0; i< vecSize; i++){
 
  144  std::map<G4int,std::vector<G4RDFluoTransition*>,std::less<G4int> >::iterator ppos;
 
  146  for (ppos = transitionTable.begin(); ppos != transitionTable.end(); ppos++){
 
  148    std::vector<G4RDFluoTransition*>vec = (*ppos).second;
 
  150    G4int vecSize=vec.size();
 
  152    for (
G4int i=0; i< vecSize; i++){
 
  176   std::map<G4int,std::vector<G4RDAtomicShell*>,std::less<G4int> >::const_iterator 
pos;
 
  178   pos = shellTable.find(Z);
 
  180   if (pos!= shellTable.end())
 
  182       std::vector<G4RDAtomicShell*> 
v = (*pos).second;
 
  183       if (shellIndex<v.size())
 
  185       return(v[shellIndex]);
 
  189       size_t lastShell = v.size();
 
  190       G4cout << 
"G4RDAtomicTransitionManager::Shell - Z = "  
  191          << Z << 
", shellIndex = " << shellIndex 
 
  192          << 
" not found; number of shells = " << lastShell << 
G4endl;
 
  196           return v[lastShell - 1];
 
  206       G4Exception(
"G4RDAtomicTransitionManager::Shell()",
 
  217   std::map<G4int,std::vector<G4RDFluoTransition*>,std::less<G4int> >::const_iterator 
pos;
 
  218   pos = transitionTable.find(Z);
 
  219   if (pos!= transitionTable.end())
 
  221       std::vector<G4RDFluoTransition*> 
v = (*pos).second;      
 
  222       if (shellIndex < v.size()) 
return(v[shellIndex]);
 
  224     G4Exception(
"G4RDAtomicTransitionManager::ReachableShell()",
 
  226                     "Reachable shell not found!");
 
  231     G4cout << 
"G4AtomicTransitionMagare warning: No fluorescence or Auger for Z=" << Z << 
G4endl;
 
  243   return augerTransition;
 
  251 std::map<G4int,std::vector<G4RDAtomicShell*>,std::less<G4int> >::const_iterator 
pos;
 
  253   pos = shellTable.find(Z);
 
  255   if (pos!= shellTable.end()){
 
  257     std::vector<G4RDAtomicShell*> 
v = (*pos).second;
 
  263     G4cout << 
"G4AtomicTransitionMagare warning: No fluorescence or Auger for Z=" << Z << 
G4endl;
 
  276 std::map<G4int,std::vector<G4RDFluoTransition*>,std::less<G4int> >::const_iterator 
pos;
 
  278   pos = transitionTable.find(Z);
 
  280   if (pos!= transitionTable.end())
 
  282       std::vector<G4RDFluoTransition*> 
v = (*pos).second;
 
  287       G4cout << 
"G4AtomicTransitionMagare warning: No fluorescence or Auger for Z=" << Z << 
G4endl;
 
  310 std::map<G4int,std::vector<G4RDFluoTransition*>,std::less<G4int> >::iterator 
pos;
 
  312   pos = transitionTable.find(Z);
 
  314   if (pos!= transitionTable.end())
 
  316       std::vector<G4RDFluoTransition*> 
v = (*pos).second;
 
  318     if (shellIndex < v.size())
 
  324     for (
size_t j = 0; j<transProb.size(); j++) 
 
  326       totalRadTransProb = totalRadTransProb + transProb[j];
 
  328       return totalRadTransProb;   
 
  332       G4Exception(
"G4RDAtomicTransitionManager::TotalRadiativeTransitionProbability()",
 
  339     G4cout << 
"G4AtomicTransitionMagare warning: No fluorescence or Auger for Z=" << Z << 
G4endl;
 
  352   std::map<G4int,std::vector<G4RDFluoTransition*>,std::less<G4int> >::iterator 
pos;
 
  354   pos = transitionTable.find(Z);
 
  356   if (pos!= transitionTable.end()){
 
  358     std::vector<G4RDFluoTransition*> 
v = (*pos).second;
 
  361     if (shellIndex<v.size()){
 
  367       for(
size_t j = 0; j<transProb.size(); j++) 
 
  369       totalRadTransProb = totalRadTransProb + transProb[j];
 
  372       G4double totalNonRadTransProb= (1 - totalRadTransProb);
 
  374       return totalNonRadTransProb;    }
 
  377       G4Exception(
"G4RDAtomicTransitionManager::TotalNonRadiativeTransitionProbability()",
 
  383     G4cout << 
"G4AtomicTransitionMagare warning: No fluorescence or Auger for Z=" << Z << 
G4endl;
 
const G4RDFluoTransition * ReachableShell(G4int Z, size_t shellIndex) const 
 
G4double TotalRadiativeTransitionProbability(G4int Z, size_t shellIndex)
 
size_t NumberOfTransitions(G4int vacancyIndex) const 
 
const G4DataVector & TransitionProbabilities() const 
 
G4int NumberOfReachableAugerShells(G4int Z) const 
 
G4double BindingEnergy(G4int Z, G4int shellIndex) const 
 
~G4RDAtomicTransitionManager()
 
G4int NumberOfReachableShells(G4int Z) const 
 
size_t NumberOfShells(G4int Z) const 
 
static G4RDAtomicTransitionManager * Instance()
 
void LoadData(const G4String &fileName)
 
G4GLOB_DLL std::ostream G4cout
 
G4double TotalNonRadiativeTransitionProbability(G4int Z, size_t shellIndex)
 
G4int VacancyId(G4int vacancyIndex) const 
 
G4int ShellId(G4int Z, G4int shellIndex) const 
 
const G4RDAugerTransition * ReachableAugerShell(G4int Z, G4int shellIndex) const 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4int NumberOfShells(G4int Z) const 
 
G4double StartShellEnergy(G4int initIndex, G4int vacancyIndex) const 
 
G4RDAugerTransition * GetAugerTransition(G4int Z, G4int vacancyShellIndex)
 
G4RDAtomicShell * Shell(G4int Z, size_t shellIndex) const 
 
size_t NumberOfVacancies(G4int Z) const 
 
G4RDAtomicTransitionManager(G4int minZ=1, G4int maxZ=100, G4int limitInfTable=6, G4int limitSupTable=100)
 
G4double StartShellProb(G4int initIndex, G4int vacancyIndex) const 
 
G4double bindingEnergy(G4int A, G4int Z)
 
G4int StartShellId(G4int initIndex, G4int vacancyIndex) const 
 
static const G4double pos