57     for (pos = 0 ; pos < 100; pos++) 
 
  124     {
G4Exception(
"G4RDAugerData::VacancyId()", 
"OutOfRange",
 
  129       {
G4Exception(
"G4RDAugerData::VacancyId()", 
"NoDataFound",
 
  131     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  132     n = (
G4int) dataSet[vacancyIndex].FinalShellId();
 
  147     {
G4Exception(
"G4RDAugerData::NumberOfTransitions()", 
"OutOfRange",
 
  152       {
G4Exception(
"G4RDAugerData::NumberOfTransitions()", 
"NoDataFound",
 
  154     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  155     n = (
G4int)dataSet[vacancyIndex].TransitionOriginatingShellIds()->size();
 
  166     {
G4Exception(
"G4RDAugerData::NumberOfAuger()", 
"OutOfRange",
 
  171       {
G4Exception(
"G4RDAugerData::NumberOfAuger()", 
"NoDataFound",
 
  173     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  174     const std::vector<G4int>* temp =  dataSet[initIndex].AugerOriginatingShellIds(vacancyId);
 
  184     {
G4Exception(
"G4RDAugerData::AugerShellId()", 
"OutOfRange",
 
  189       {
G4Exception(
"G4RDAugerData::AugerShellId()", 
"NoDataFound",
 
  191     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  192     n = dataSet[vacancyIndex].AugerOriginatingShellId(augerIndex,transId);
 
  202     {
G4Exception(
"G4RDAugerData::StartShellId()", 
"OutOfRange",
 
  207       {
G4Exception(
"G4RDAugerData::StartShellId()", 
"NoDataFound",
 
  209     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  210      n = dataSet[vacancyIndex].TransitionOriginatingShellId(transitionShellIndex);
 
  222     {
G4Exception(
"G4RDAugerData::StartShellEnergy()", 
"OutOfRange",
 
  227       {
G4Exception(
"G4RDAugerData::StartShellEnergy()", 
"NoDataFound",
 
  229     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  230     energy = dataSet[vacancyIndex].AugerTransitionEnergy(augerIndex,transitionId);
 
  242     {
G4Exception(
"G4RDAugerData::StartShellProb()", 
"OutOfRange",
 
  247       {
G4Exception(
"G4RDAugerData::StartShellProb()", 
"NoDataFound",
 
  249     std::vector<G4RDAugerTransition> dataSet = (*element).second;
 
  250     prob = dataSet[vacancyIndex].AugerTransitionProbability(augerIndex, transitionId);
 
  262     std::ostringstream ost;
 
  264       ost << 
"au-tr-pr-"<< Z << 
".dat";
 
  267       ost << 
"au-tr-pr-"<<
".dat"; 
 
  271     char* path = getenv(
"G4LEDATA");
 
  274         G4String excep = 
"G4LEDATA environment variable not set";
 
  275         G4Exception(
"G4RDAugerData::LoadData()", 
"InvalidSetup",
 
  281     std::ifstream file(dirFile);
 
  282     std::filebuf* lsdp = file.rdbuf();
 
  284     if (! (lsdp->is_open()) )
 
  286         G4String excep = 
"Data file: " + dirFile + 
" not found!";
 
  287         G4Exception(
"G4RDAugerData::LoadData()", 
"DataNotFound",
 
  297     std::vector<G4int>* initIds = 
new std::vector<G4int>;
 
  298     std::vector<G4int>* newIds = 
new std::vector<G4int>;
 
  301     std::vector<G4RDAugerTransition> augerTransitionVector;
 
  302     std::map<G4int,std::vector<G4int>,std::less<G4int> >* newIdMap = 
 
  303       new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
 
  304     std::map<G4int,G4DataVector,std::less<G4int> >* newEnergyMap =
 
  305       new std::map<G4int,G4DataVector,std::less<G4int> >;
 
  306     std::map<G4int,G4DataVector,std::less<G4int> >* newProbabilityMap = 
 
  307       new std::map<G4int,G4DataVector,std::less<G4int> >;
 
  327               std::vector<G4int>::iterator vectorIndex = initIds->begin();
 
  329               vacId = *vectorIndex;
 
  335               std::vector<G4int> identifiers;
 
  336               for (vectorIndex = initIds->begin()+1 ; vectorIndex != initIds->end(); ++vectorIndex){
 
  338                 identifiers.push_back(*vectorIndex);
 
  341               vectorIndex = (initIds->end())-1;
 
  343               G4int augerShellId = *(vectorIndex);
 
  346               (*newIdMap)[augerShellId] = *newIds;
 
  347               (*newEnergyMap)[augerShellId] = *transEnergies;
 
  348               (*newProbabilityMap)[augerShellId] = *transProbabilities;
 
  350               augerTransitionVector.push_back(
G4RDAugerTransition(vacId, identifiers, newIdMap, newEnergyMap, newProbabilityMap));
 
  356               delete newProbabilityMap;
 
  358               G4int n = initIds->size();            
 
  363               delete transEnergies;         
 
  364               delete transProbabilities;
 
  365               initIds = 
new std::vector<G4int>;
 
  366               newIds = 
new std::vector<G4int>;
 
  369               newIdMap = 
new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
 
  370               newEnergyMap = 
new std::map<G4int,G4DataVector,std::less<G4int> >;
 
  371               newProbabilityMap = 
new std::map<G4int,G4DataVector,std::less<G4int> >;   
 
  388           delete transEnergies;
 
  389           delete transProbabilities;
 
  392           delete newProbabilityMap;     
 
  397           if (k%nColumns == 3){
 
  399             transProbabilities->push_back(a);
 
  402           else if(k%nColumns == 2){      
 
  408             newIds->push_back(l);
 
  413           else if (k%nColumns == 1)
 
  417               if(initIds->size() == 0) {
 
  422                 initIds->push_back((
G4int)a);
 
  432                 if((
G4int)a != initIds->back()){
 
  435                   if((initIds->size()) == 1) { 
 
  436                     initIds->push_back((
G4int)a);
 
  441                     G4int augerShellId = 0;
 
  442                     augerShellId = initIds->back();
 
  444                     (*newIdMap)[augerShellId] = *newIds;
 
  445                     (*newEnergyMap)[augerShellId] = *transEnergies;
 
  446                     (*newProbabilityMap)[augerShellId] = *transProbabilities;
 
  448                     delete transEnergies;
 
  449                     delete transProbabilities;
 
  450                     newIds = 
new std::vector<G4int>;
 
  453                     initIds->push_back((
G4int)a);
 
  461           else if (k%nColumns == 0)
 
  466               transEnergies->push_back(e);
 
  476     return augerTransitionVector;
 
  492   for (
G4int m=0; 
m<nMaterials; 
m++) {
 
  498     for (
size_t iEl=0; iEl<nElements; iEl++) {
 
  499       G4Element* element = (*elementVector)[iEl];
 
  502         activeZ.push_back(Z);
 
  508   for (
G4int element = 6; element < 101; element++)
 
  510       if(nMaterials == 0 || activeZ.
contains(element)) {
 
  513         G4cout << 
"G4RDAugerData for Element no. " << element << 
" are loaded" << 
G4endl;
 
  526       G4cout << 
"---- TransitionData for the vacancy nb " 
  528              <<
" of the atomic number elemnt "  
  543             G4cout << 
"    Auger Originatig Shell Id :"<< augerId <<
G4endl;
 
  544             G4cout << 
" - Transition energy = " << e << 
" MeV "<<
G4endl;
 
  548       G4cout << 
"-------------------------------------------------"  
  555       std::vector<G4RDAugerTransition>::iterator vectorIndex = dataSet->begin() + vacancyShellIndex;
 
  558       return augerTransition;
 
G4double StartShellProb(G4int Z, G4int vacancyIndex, G4int transitionId, G4int augerIndex) const 
 
std::vector< G4Element * > G4ElementVector
 
G4double StartShellEnergy(G4int Z, G4int vacancyIndex, G4int transitionId, G4int augerIndex) const 
 
G4int StartShellId(G4int Z, G4int initialVacancyIndex, G4int transitionShellIndex) const 
 
static G4MaterialTable * GetMaterialTable()
 
std::vector< G4Material * > G4MaterialTable
 
size_t AugerShellId(G4int Z, G4int vacancyIndex, G4int transId, G4int augerIndex) const 
 
const G4ElementVector * GetElementVector() const 
 
std::vector< G4RDAugerTransition > * GetAugerTransitions(G4int Z)
 
std::vector< G4RDAugerTransition > LoadData(G4int Z)
 
G4GLOB_DLL std::ostream G4cout
 
size_t NumberOfTransitions(G4int Z, G4int vacancyIndex) const 
 
G4int VacancyId(G4int Z, G4int vacancyIndex) const 
 
static size_t GetNumberOfMaterials()
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
std::vector< G4int > numberOfVacancies
 
G4double energy(const ThreeVector &p, const G4double m)
 
G4RDAugerTransition * GetAugerTransition(G4int Z, G4int vacancyShellIndex)
 
size_t NumberOfAuger(G4int Z, G4int initIndex, G4int vacancyId) const 
 
std::vector< G4int > nInitShells
 
size_t NumberOfVacancies(G4int Z) const 
 
size_t GetNumberOfElements() const 
 
trans_Table augerTransitionTable
 
void BuildAugerTransitionTable()
 
G4bool contains(const G4double &) const 
 
static const G4double pos