- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/cascade/cascade/src/G4Analyser.cc
r1315 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4Analyser.cc,v 1.24 2010/10/19 19:48:15 mkelsey Exp $ 27 // 28 // 20100726 M. Kelsey -- Use references for fetched lists 29 // 20101010 M. Kelsey -- Migrate to integer A and Z 30 // 20101019 M. Kelsey -- CoVerity report, unitialized constructor 31 26 32 #include "G4Analyser.hh" 27 33 #include <cmath> … … 29 35 30 36 G4Analyser::G4Analyser() 31 :verboseLevel(0) { 32 37 : verboseLevel(0), eventNumber(0.0), averageMultiplicity(0.0), 38 averageProtonNumber(0.0), averageNeutronNumber(0.0), 39 averagePionNumber(0.0), averageNucleonKinEnergy(0.0), 40 averageProtonKinEnergy(0.0), averageNeutronKinEnergy(0.0), 41 averagePionKinEnergy(0.0), averageExitationEnergy(0.0), 42 averageOutgoingNuclei(0.0), fissy_prob(0.0), averagePionPl(0.0), 43 averagePionMin(0.0), averagePion0(0.0), averageA(0.0), averageZ(0.0), 44 inel_csec(0.0), withNuclei(false) { 33 45 if (verboseLevel > 3) { 34 46 G4cout << " >>> G4Analyser::G4Analyser" << G4endl; 35 47 } 36 37 eventNumber = 0.0; 38 averageMultiplicity = 0.0; 39 averageNucleonKinEnergy = 0.0; 40 averageProtonKinEnergy = 0.0; 41 averageNeutronKinEnergy = 0.0; 42 averagePionKinEnergy = 0.0; 43 averageProtonNumber = 0.0; 44 averageNeutronNumber = 0.0; 45 averagePionNumber = 0.0; 46 averageExitationEnergy = 0.0; 47 averageNucleiFragments = 0.0; 48 averagePionPl = 0.0; 49 averagePionMin = 0.0; 50 averagePion0 = 0.0; 51 averageA = 0.0; 52 averageZ = 0.0; 53 54 withNuclei = false; 55 fissy_prob = 0.0; 56 } 57 58 void G4Analyser::setInelCsec(G4double csec, 59 G4bool withn) { 48 } 49 50 void G4Analyser::setInelCsec(G4double csec, G4bool withn) { 60 51 61 52 if (verboseLevel > 3) { … … 83 74 } 84 75 85 void G4Analyser::try_watchers(G4double a, 86 G4double z, 87 G4bool if_nucl) { 76 void G4Analyser::try_watchers(G4int a, G4int z, G4bool if_nucl) { 88 77 89 78 if (verboseLevel > 3) { … … 112 101 113 102 if (withNuclei) { 114 std::vector<G4InuclNuclei> nucleus = output.getNucleiFragments();103 const std::vector<G4InuclNuclei>& nucleus = output.getOutgoingNuclei(); 115 104 116 105 // if (nucleus.size() >= 0) { 117 106 if (nucleus.size() > 0) { 118 107 G4int nbig = 0; 119 average NucleiFragments+= nucleus.size();108 averageOutgoingNuclei += nucleus.size(); 120 109 121 110 for (G4int in = 0; in < G4int(nucleus.size()); in++) { 122 111 averageExitationEnergy += nucleus[in].getExitationEnergy(); 123 112 124 G4 doublea = nucleus[in].getA();125 G4 doublez = nucleus[in].getZ();113 G4int a = nucleus[in].getA(); 114 G4int z = nucleus[in].getZ(); 126 115 127 116 if (in == 0) { … … 130 119 }; 131 120 132 if (a > 10 .0) nbig++;121 if (a > 10) nbig++; 133 122 try_watchers(a, z, true); 134 123 }; … … 136 125 if (nbig > 1) fissy_prob += 1.0; 137 126 eventNumber += 1.0; 138 std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles(); 127 const std::vector<G4InuclElementaryParticle>& particles = 128 output.getOutgoingParticles(); 139 129 averageMultiplicity += particles.size(); 140 130 141 131 for (G4int i = 0; i < G4int(particles.size()); i++) { 142 G4 double ap = 0.0;143 G4 double zp = 0.0;132 G4int ap = 0; 133 G4int zp = 0; 144 134 145 135 if (particles[i].nucleon()) { … … 147 137 148 138 if (particles[i].type() == 1) { 149 zp = 1 .0;150 ap = 1 .0;139 zp = 1; 140 ap = 1; 151 141 averageProtonNumber += 1.0; 152 142 averageProtonKinEnergy += particles[i].getKineticEnergy(); 153 143 154 144 } else { 155 ap = 1 .0;156 zp = 0 .0;145 ap = 1; 146 zp = 0; 157 147 averageNeutronNumber += 1.0; 158 148 averageNeutronKinEnergy += particles[i].getKineticEnergy(); … … 162 152 averagePionKinEnergy += particles[i].getKineticEnergy(); 163 153 averagePionNumber += 1.0; 164 ap = 0 .0;154 ap = 0; 165 155 166 156 if (particles[i].type() == 3) { 167 zp = 1 .0;157 zp = 1; 168 158 averagePionPl += 1.0; 169 159 170 160 } else if (particles[i].type() == 5) { 171 zp = -1 .0;161 zp = -1; 172 162 averagePionMin += 1.0; 173 163 174 164 } else if (particles[i].type() == 7) { 175 zp = 0 .0;165 zp = 0; 176 166 averagePion0 += 1.0; 177 167 }; … … 183 173 } else { 184 174 eventNumber += 1.0; 185 std::vector<G4InuclElementaryParticle> particles = output.getOutgoingParticles(); 175 const std::vector<G4InuclElementaryParticle>& particles = 176 output.getOutgoingParticles(); 186 177 averageMultiplicity += particles.size(); 187 178 … … 230 221 G4cout 231 222 << " average Exitation Energy " << 232 averageExitationEnergy / average NucleiFragments<< G4endl233 << " average num of fragments " << average NucleiFragments/ eventNumber << G4endl;223 averageExitationEnergy / averageOutgoingNuclei << G4endl 224 << " average num of fragments " << averageOutgoingNuclei / eventNumber << G4endl; 234 225 G4cout << " fission prob. " << fissy_prob / eventNumber << " c.sec " << 235 226 inel_csec * fissy_prob / eventNumber << G4endl; … … 265 256 << " average Z " << averageZ / eventNumber << G4endl 266 257 << " average Exitation Energy " << 267 averageExitationEnergy / average NucleiFragments<< G4endl268 << " average num of fragments " << average NucleiFragments/ eventNumber << G4endl;258 averageExitationEnergy / averageOutgoingNuclei << G4endl 259 << " average num of fragments " << averageOutgoingNuclei / eventNumber << G4endl; 269 260 G4cout << " fission prob. " << fissy_prob / eventNumber << " c.sec " << 270 261 inel_csec * fissy_prob / eventNumber << G4endl;
Note: See TracChangeset
for help on using the changeset viewer.