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;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
std::vector< G4int > numberOfVacancies
std::vector< G4int > nInitShells