113 if (initIndex<0 || initIndex>=numberOfVacancies[Z])
119 trans_Table::const_iterator element = augerTransitionTable.find(Z);
120 if (element == augerTransitionTable.end()) {
124 std::vector<G4AugerTransition> dataSet = (*element).second;
125 const std::vector<G4int>* temp =
126 dataSet[initIndex].AugerOriginatingShellIds(vacancyId);
228 std::ostringstream ost;
230 ost <<
"au-tr-pr-"<< Z <<
".dat";
233 ost <<
"au-tr-pr-"<<
".dat";
240 G4String excep =
"G4AugerData::LoadData";
242 std::vector<G4AugerTransition> a;
247 G4String dirFile = pathString +
"/auger/" + name;
248 std::ifstream file(dirFile);
249 std::filebuf* lsdp = file.rdbuf();
251 if (! (lsdp->is_open()) )
253 G4String excep =
"G4AugerData::LoadData";
263 std::vector<G4int>* initIds =
new std::vector<G4int>;
264 std::vector<G4int>* newIds =
new std::vector<G4int>;
267 std::vector<G4AugerTransition> augerTransitionVector;
268 std::map<G4int,std::vector<G4int>,std::less<G4int> >* newIdMap =
269 new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
270 std::map<G4int,G4DataVector,std::less<G4int> >* newEnergyMap =
271 new std::map<G4int,G4DataVector,std::less<G4int> >;
272 std::map<G4int,G4DataVector,std::less<G4int> >* newProbabilityMap =
273 new std::map<G4int,G4DataVector,std::less<G4int> >;
283 std::vector<G4int>::iterator vectorIndex = initIds->begin();
285 vacId = *vectorIndex;
286 std::vector<G4int> identifiers;
287 for (vectorIndex = initIds->begin()+1 ; vectorIndex != initIds->end(); ++vectorIndex){
288 identifiers.push_back(*vectorIndex);
290 vectorIndex = (initIds->end())-1;
291 G4int augerShellId = *(vectorIndex);
293 (*newIdMap)[augerShellId] = *newIds;
294 (*newEnergyMap)[augerShellId] = *transEnergies;
295 (*newProbabilityMap)[augerShellId] = *transProbabilities;
298 newIdMap, newEnergyMap, newProbabilityMap));
302 delete newProbabilityMap;
305 nInitShells.push_back(n);
306 numberOfVacancies[Z]++;
309 delete transEnergies;
310 delete transProbabilities;
311 initIds =
new std::vector<G4int>;
312 newIds =
new std::vector<G4int>;
316 new std::map<G4int,std::vector<G4int>,std::less<G4int> >;
317 newEnergyMap =
new std::map<G4int,G4DataVector,std::less<G4int> >;
319 new std::map<G4int,G4DataVector,std::less<G4int> >;
322 if (sLocal == nColumns)
330 if (k%nColumns == 3){
332 transProbabilities->push_back(a);
335 else if(k%nColumns == 2){
338 newIds->push_back(l);
341 else if (k%nColumns == 1)
344 if(initIds->size() == 0) {
347 initIds->push_back((
G4int)a);
355 if((
G4int)a != initIds->back()){
356 if((initIds->size()) == 1) {
357 initIds->push_back((
G4int)a);
362 G4int augerShellId = 0;
363 augerShellId = initIds->back();
365 (*newIdMap)[augerShellId] = *newIds;
366 (*newEnergyMap)[augerShellId] = *transEnergies;
367 (*newProbabilityMap)[augerShellId] = *transProbabilities;
369 delete transEnergies;
370 delete transProbabilities;
371 newIds =
new std::vector<G4int>;
374 initIds->push_back((
G4int)a);
380 else if (k%nColumns == 0)
383 transEnergies->push_back(e);
392 delete transEnergies;
393 delete transProbabilities;
396 delete newProbabilityMap;
397 return augerTransitionVector;