280 std::ostringstream ost;
282 ost <<
"au-tr-pr-"<<
Z <<
".dat";
285 ost <<
"au-tr-pr-"<<
".dat";
289 char* path = getenv(
"G4LEDATA");
292 G4String excep =
"G4AugerData::LoadData";
294 std::vector<G4AugerTransition>
a;
300 std::ifstream
file(dirFile);
301 std::filebuf* lsdp =
file.rdbuf();
303 if (! (lsdp->is_open()) )
305 G4String excep =
"G4AugerData::LoadData";
316 std::vector<G4int>* initIds =
new std::vector<G4int>;
317 std::vector<G4int>* newIds =
new std::vector<G4int>;
320 std::vector<G4AugerTransition> augerTransitionVector;
321 std::map<G4int,std::vector<G4int>,std::less<G4int> >* newIdMap =
322 new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
323 std::map<G4int,G4DataVector,std::less<G4int> >* newEnergyMap =
324 new std::map<G4int,G4DataVector,std::less<G4int> >;
325 std::map<G4int,G4DataVector,std::less<G4int> >* newProbabilityMap =
326 new std::map<G4int,G4DataVector,std::less<G4int> >;
346 std::vector<G4int>::iterator vectorIndex = initIds->begin();
348 vacId = *vectorIndex;
354 std::vector<G4int> identifiers;
355 for (vectorIndex = initIds->begin()+1 ; vectorIndex != initIds->end(); ++vectorIndex){
357 identifiers.push_back(*vectorIndex);
360 vectorIndex = (initIds->end())-1;
362 G4int augerShellId = *(vectorIndex);
365 (*newIdMap)[augerShellId] = *newIds;
366 (*newEnergyMap)[augerShellId] = *transEnergies;
367 (*newProbabilityMap)[augerShellId] = *transProbabilities;
369 augerTransitionVector.push_back(
G4AugerTransition(vacId, identifiers, newIdMap, newEnergyMap, newProbabilityMap));
375 delete newProbabilityMap;
377 G4int n = initIds->size();
382 delete transEnergies;
383 delete transProbabilities;
384 initIds =
new std::vector<G4int>;
385 newIds =
new std::vector<G4int>;
388 newIdMap =
new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
389 newEnergyMap =
new std::map<G4int,G4DataVector,std::less<G4int> >;
390 newProbabilityMap =
new std::map<G4int,G4DataVector,std::less<G4int> >;
396 if (sLocal == nColumns)
418 if (k%nColumns == 3){
420 transProbabilities->push_back(a);
423 else if(k%nColumns == 2){
429 newIds->push_back(l);
434 else if (k%nColumns == 1)
438 if(initIds->size() == 0) {
443 initIds->push_back((
G4int)a);
453 if((
G4int)a != initIds->back()){
456 if((initIds->size()) == 1) {
457 initIds->push_back((
G4int)a);
462 G4int augerShellId = 0;
463 augerShellId = initIds->back();
465 (*newIdMap)[augerShellId] = *newIds;
466 (*newEnergyMap)[augerShellId] = *transEnergies;
467 (*newProbabilityMap)[augerShellId] = *transProbabilities;
469 delete transEnergies;
470 delete transProbabilities;
471 newIds =
new std::vector<G4int>;
474 initIds->push_back((
G4int)a);
482 else if (k%nColumns == 0)
487 transEnergies->push_back(e);
499 delete transEnergies;
500 delete transProbabilities;
503 delete newProbabilityMap;
504 return augerTransitionVector;
std::vector< G4int > numberOfVacancies
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
std::vector< G4int > nInitShells