Changeset 1340 for trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4NuclearLevelStore.cc
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4NuclearLevelStore.cc
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4NuclearLevelStore.cc,v 1.4 2010/10/07 07:50:13 mkelsey Exp $ 26 27 // 28 // 20101006 M. Kelsey -- Drop static data members. 27 29 28 30 #include "G4NuclearLevelStore.hh" 29 31 #include <sstream> 30 31 std::map<G4String,G4NuclearLevelManager*> G4NuclearLevelStore::theManagers;32 G4String G4NuclearLevelStore::dirName("");33 32 34 33 G4NuclearLevelStore* G4NuclearLevelStore::GetInstance() … … 56 55 G4NuclearLevelStore::~G4NuclearLevelStore() 57 56 { 58 std::map<G4String,G4NuclearLevelManager*>::iterator i;57 ManagersMap::iterator i; 59 58 for (i = theManagers.begin(); i != theManagers.end(); ++i) 60 { 61 if ( (*i).second ) delete (*i).second; 62 } 59 delete i->second; 63 60 } 64 61 65 G4String G4NuclearLevelStore::GenerateKey(const G4int Z, const G4int A)66 {62 G4String 63 G4NuclearLevelStore::GenerateFilename(const G4int Z, const G4int A) const { 67 64 std::ostringstream streamName; 68 65 streamName << 'z' << Z << ".a" << A; … … 72 69 73 70 74 G4NuclearLevelManager* G4NuclearLevelStore::GetManager(const G4int Z, const G4int A)75 {71 G4NuclearLevelManager* 72 G4NuclearLevelStore::GetManager(const G4int Z, const G4int A) { 76 73 G4NuclearLevelManager * result = 0; 77 74 if (A < 1 || Z < 1 || A < Z) … … 81 78 return result; 82 79 } 80 83 81 // Generate the key = filename 84 G4 String key(this->GenerateKey(Z,A));82 G4int key = GenerateKey(Z,A); 85 83 86 84 // Check if already exists that key 87 std::map<G4String,G4NuclearLevelManager*>::iterator idx = theManagers.find(key);85 ManagersMap::iterator idx = theManagers.find(key); 88 86 // If doesn't exists then create it 89 87 if ( idx == theManagers.end() ) 90 88 { 91 result = new G4NuclearLevelManager();92 result->SetNucleus(Z,A,dirName + key);93 89 G4String file = GenerateFilename(Z,A); 90 result = new G4NuclearLevelManager(Z,A,dirName + file); 91 theManagers.insert(std::make_pair(key,result)); 94 92 } 95 93 // But if it exists...
Note: See TracChangeset
for help on using the changeset viewer.