- Timestamp:
- Apr 6, 2009, 12:21:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc
r819 r961 25 25 // 26 26 // 27 // $Id: G4ShellEMDataSet.cc,v 1.1 5 2007/10/15 08:36:35pia Exp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $27 // $Id: G4ShellEMDataSet.cc,v 1.16 2008/03/10 15:07:41 pia Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) … … 32 32 // History: 33 33 // ----------- 34 // 1 Aug 2001 MGP Created34 // 1 Aug 2001 MGP Created 35 35 // 09.10.01 V.Ivanchenko Add case z=0 36 // 9 Mar 2008 MGP Cleaned up unreadable code modified by former developer 37 // (Further clean-up needed) 36 38 // 37 39 // ------------------------------------------------------------------- … … 44 46 45 47 46 G4ShellEMDataSet::G4ShellEMDataSet(G4int argZ, G4VDataSetAlgorithm* argAlgorithm,47 G4double argUnitEnergies,48 G4double argUnitData)48 G4ShellEMDataSet::G4ShellEMDataSet(G4int zeta, G4VDataSetAlgorithm* algo, 49 G4double eUnit, 50 G4double dataUnit) 49 51 : 50 z(argZ), 51 algorithm(argAlgorithm), 52 unitEnergies(argUnitEnergies), 53 unitData(argUnitData) 54 { 55 if (algorithm == 0) 56 G4Exception("G4ShellEMDataSet::G4ShellEMDataSet - interpolation == 0"); 52 z(zeta), 53 algorithm(algo), 54 unitEnergies(eUnit), 55 unitData(dataUnit) 56 { 57 if (algorithm == 0) G4Exception("G4ShellEMDataSet::G4ShellEMDataSet - interpolation == 0"); 57 58 } 58 59 … … 61 62 { 62 63 CleanUpComponents(); 63 64 if (algorithm) 65 delete algorithm; 66 } 67 68 69 G4double G4ShellEMDataSet::FindValue(G4double argEnergy, G4int /* argComponentId */) const 64 if (algorithm) delete algorithm; 65 } 66 67 68 G4double G4ShellEMDataSet::FindValue(G4double energy, G4int /* componentId */) const 70 69 { 71 70 // Returns the sum over the shells corresponding to e … … 75 74 std::vector<G4VEMDataSet *>::const_iterator end(components.end()); 76 75 77 while (i !=end)78 { 79 value +=(*i)->FindValue(argEnergy);76 while (i != end) 77 { 78 value += (*i)->FindValue(energy); 80 79 i++; 81 80 } … … 87 86 void G4ShellEMDataSet::PrintData(void) const 88 87 { 89 const size_t n (NumberOfComponents());88 const size_t n = NumberOfComponents(); 90 89 91 90 G4cout << "The data set has " << n << " components" << G4endl; 92 91 G4cout << G4endl; 93 92 94 size_t i (0);95 96 while (i <n)93 size_t i = 0; 94 95 while (i < n) 97 96 { 98 97 G4cout << "--- Component " << i << " ---" << G4endl; … … 103 102 104 103 105 void G4ShellEMDataSet :: SetEnergiesData(G4DataVector* argEnergies,106 G4DataVector* argData,107 G4int argComponentId)108 { 109 G4VEMDataSet * component(components[argComponentId]);104 void G4ShellEMDataSet::SetEnergiesData(G4DataVector* energies, 105 G4DataVector* data, 106 G4int componentId) 107 { 108 G4VEMDataSet* component = components[componentId]; 110 109 111 110 if (component) 112 111 { 113 component->SetEnergiesData( argEnergies, argData, 0);112 component->SetEnergiesData(energies, data, 0); 114 113 return; 115 114 } 116 115 117 116 std::ostringstream message; 118 message << "G4ShellEMDataSet::SetEnergiesData - component " << argComponentId << " not found";117 message << "G4ShellEMDataSet::SetEnergiesData - component " << componentId << " not found"; 119 118 120 119 G4Exception(message.str().c_str()); … … 122 121 123 122 124 G4bool G4ShellEMDataSet::LoadData(const G4String& argFileName)123 G4bool G4ShellEMDataSet::LoadData(const G4String& file) 125 124 { 126 125 CleanUpComponents(); 127 126 128 G4String fullFileName (FullFileName(argFileName));127 G4String fullFileName = FullFileName(file); 129 128 std::ifstream in(fullFileName); 130 129 … … 132 131 { 133 132 G4String message("G4ShellEMDataSet::LoadData - data file \""); 134 message +=fullFileName;135 message +="\" not found";133 message += fullFileName; 134 message += "\" not found"; 136 135 G4Exception(message); 137 136 } 138 137 139 G4DataVector* argEnergies(0);140 G4DataVector* argData(0);141 142 G4double a ;143 G4int shellIndex (0);144 bool energyColumn (true);138 G4DataVector* energies = 0; 139 G4DataVector* data = 0; 140 141 G4double a = 0.; 142 G4int shellIndex = 0; 143 bool energyColumn = true; 145 144 146 145 do … … 150 149 if (a == -1) 151 150 { 152 if (energyColumn && argEnergies!=0)151 if (energyColumn && energies!=0) 153 152 { 154 AddComponent(new G4EMDataSet(shellIndex, argEnergies, argData, algorithm->Clone(), unitEnergies, unitData));155 argEnergies=0;156 argData=0;153 AddComponent(new G4EMDataSet(shellIndex, energies, data, algorithm->Clone(), unitEnergies, unitData)); 154 energies = 0; 155 data = 0; 157 156 } 158 157 159 energyColumn =(!energyColumn);158 energyColumn = (!energyColumn); 160 159 } 161 else if (a !=-2)160 else if (a != -2) 162 161 { 163 if ( argEnergies==0)162 if (energies == 0) 164 163 { 165 argEnergies=new G4DataVector;166 argData=new G4DataVector;164 energies = new G4DataVector; 165 data = new G4DataVector; 167 166 } 168 167 169 168 if (energyColumn) 170 argEnergies->push_back(a*unitEnergies);169 energies->push_back(a * unitEnergies); 171 170 else 172 argData->push_back(a*unitData);173 174 energyColumn =(!energyColumn);171 data->push_back(a * unitData); 172 173 energyColumn = (!energyColumn); 175 174 } 176 175 } … … 181 180 182 181 183 G4bool G4ShellEMDataSet::SaveData(const G4String& argFileName) const184 { 185 G4String fullFileName (FullFileName(argFileName));182 G4bool G4ShellEMDataSet::SaveData(const G4String& file) const 183 { 184 G4String fullFileName = FullFileName(file); 186 185 std::ofstream out(fullFileName); 187 186 … … 189 188 { 190 189 G4String message("G4EMDataSet::SaveData - cannot open \""); 191 message +=fullFileName;192 message +="\"";190 message += fullFileName; 191 message += "\""; 193 192 G4Exception(message); 194 193 } 195 194 196 const size_t n (NumberOfComponents());197 size_t k (0);198 199 while (k <n)200 { 201 const G4VEMDataSet * component=GetComponent(k);195 const size_t n = NumberOfComponents(); 196 size_t k = 0; 197 198 while (k < n) 199 { 200 const G4VEMDataSet* component = GetComponent(k); 202 201 203 202 if (component) 204 203 { 205 const G4DataVector & energies(component->GetEnergies(0));206 const G4DataVector & data(component->GetData(0));207 208 G4DataVector::const_iterator i (energies.begin());209 G4DataVector::const_iterator endI (energies.end());210 G4DataVector::const_iterator j (data.begin());211 212 while (i !=endI)204 const G4DataVector& energies = component->GetEnergies(0); 205 const G4DataVector& data = component->GetData(0); 206 207 G4DataVector::const_iterator i = energies.begin(); 208 G4DataVector::const_iterator endI = energies.end(); 209 G4DataVector::const_iterator j = data.begin(); 210 211 while (i != endI) 213 212 { 214 213 out.precision(10); … … 253 252 254 253 255 256 257 258 254 void G4ShellEMDataSet::CleanUpComponents(void) 259 255 { 260 256 while (!components.empty()) 261 257 { 262 if (components.back()) 263 delete components.back(); 264 258 if (components.back()) delete components.back(); 265 259 components.pop_back(); 266 260 } … … 268 262 269 263 270 271 272 273 G4String G4ShellEMDataSet::FullFileName(const G4String & argFileName) const 264 G4String G4ShellEMDataSet::FullFileName(const G4String& fileName) const 274 265 { 275 266 char* path = getenv("G4LEDATA"); … … 279 270 std::ostringstream fullFileName; 280 271 281 fullFileName << path << '/' << argFileName << z << ".dat";272 fullFileName << path << '/' << fileName << z << ".dat"; 282 273 283 274 return G4String(fullFileName.str().c_str());
Note: See TracChangeset
for help on using the changeset viewer.