1 | $Id: History,v 1.206 2010/11/24 21:16:17 mkelsey Exp $ |
---|
2 | ------------------------------------------------------------------- |
---|
3 | |
---|
4 | ========================================================== |
---|
5 | Geant4 - an Object-Oriented Toolkit for Physics Simulation |
---|
6 | ========================================================== |
---|
7 | |
---|
8 | History file for hadronic/models/cascade |
---|
9 | ---------------------------------------- |
---|
10 | |
---|
11 | This file should be used to summarize modifications introduced in the |
---|
12 | code and to keep track of all tags. |
---|
13 | |
---|
14 | --------------------------------------------------------------- |
---|
15 | * Please list in reverse chronological order (last date on top) |
---|
16 | --------------------------------------------------------------- |
---|
17 | |
---|
18 | 24 November 2010 Michael Kelsey (hadr-casc-V09-03-87) |
---|
19 | ----------------------------------------------------- |
---|
20 | - G4InuclCollider.cc: Delete local "zbullet" before exiting. Fixes memory |
---|
21 | leak reported for 9.4 cand-01. |
---|
22 | |
---|
23 | 19 November 2010 Michael Kelsey (hadr-casc-V09-03-86) |
---|
24 | ----------------------------------------------------- |
---|
25 | - G4NucleiModel.cc: Put messages related to negative-path-length and |
---|
26 | zero-interaction-partners behind verbosity flag. |
---|
27 | |
---|
28 | 29 October 2010 Michael Kelsey (hadr-casc-V09-03-85) |
---|
29 | ---------------------------------------------------- |
---|
30 | - G4NucleiModel: Bring tagged version kelsey-20101020 (refactoring) to HEAD |
---|
31 | and tag for 9.4 release. This is the last substantive modification to be |
---|
32 | included; validated by direct |diff|ing of output vs. V09-03-84 code. |
---|
33 | |
---|
34 | 22 October 2010 Michael Kelsey (hadr-casc-V09-03-84) |
---|
35 | ---------------------------------------------------- |
---|
36 | - G4WatcherGun.cc: Change first numeric argument to G4NuclWatcher to int. |
---|
37 | |
---|
38 | NOTE: Only this change is include in tag. |
---|
39 | |
---|
40 | 20 October 2010 Michael Kelsey (kelsey-20101020b) |
---|
41 | ------------------------------------------------- |
---|
42 | - G4NucleiModel: Add scaling factors ("units") for nuclear radii and |
---|
43 | cross-sections, in order to adapt calculations to the literature. |
---|
44 | |
---|
45 | 20 October 2010 Michael Kelsey (kelsey-20101020a) |
---|
46 | ------------------------------------------------- |
---|
47 | - G4NucleiModel: Re-activate changes in worthToPropagate() to use existing |
---|
48 | nuclear potential values for kaons and hyperons to decide on trapping. |
---|
49 | |
---|
50 | 20 October 2010 Michael Kelsey (kelsey-20101020) |
---|
51 | ------------------------------------------------ |
---|
52 | - G4NucleiModel: Clean up some bugs in refactoring generateModel(). Back |
---|
53 | out changes (28 Sep) in worthToPropagate() in order to compare refactored |
---|
54 | to production code. |
---|
55 | |
---|
56 | 20 October 2010 Michael Kelsey (hadr-casc-V09-03-83) |
---|
57 | ---------------------------------------------------- |
---|
58 | - G4CascadParticle.cc: Remove debugging output left in by accident. |
---|
59 | |
---|
60 | NOTE: Tag does not include reorganization of G4NucleiModel (5 Oct 2010) |
---|
61 | |
---|
62 | 19 October 2010 Michael Kelsey |
---|
63 | ------------------------------ |
---|
64 | G4FissionStore, G4FissionConfiguration: Undo migration to integer A and Z. |
---|
65 | |
---|
66 | 19 October 2010 Michael Kelsey |
---|
67 | ------------------------------ |
---|
68 | Clean up CoVerity software analysis reports (three are ignored from obsolete |
---|
69 | code): |
---|
70 | G4Analyser.cc |
---|
71 | G4CascadeCheckBalance.cc |
---|
72 | G4CascadeInterpolator.icc |
---|
73 | G4CascadeSampler.icc |
---|
74 | G4CollisionOutput.cc |
---|
75 | G4ElementaryParticleCollider.cc |
---|
76 | G4InuclCollider.cc |
---|
77 | G4NuclWatcher.cc |
---|
78 | G4NucleiModel.hh,cc |
---|
79 | G4RegionModel.cc |
---|
80 | |
---|
81 | 14 October 2010 Michael Kelsey |
---|
82 | ------------------------------ |
---|
83 | - G4NucleiModel.cc: Fix misspelled "G4doulbe" -> G4double. |
---|
84 | |
---|
85 | Pick up several missed bits of the "integer A and Z migration," mostly in |
---|
86 | test and diagnostic code: |
---|
87 | |
---|
88 | G4Analyser.hh,cc |
---|
89 | G4FissionConfiguration.hh |
---|
90 | G4FissionStore.hh,cc |
---|
91 | G4NuclWatcher.hh,cc |
---|
92 | |
---|
93 | 14 October 2010 Michael Kelsey (hadr-casc-V09-03-82) |
---|
94 | ---------------------------------------------------- |
---|
95 | - G4CascadParticle.cc: Add protection in getPathToTheNextZone() so that d2 |
---|
96 | is always computed non-negative. Avoids 10^-5 FPEs. |
---|
97 | |
---|
98 | 05 October 2010 Michael Kelsey |
---|
99 | ------------------------------ |
---|
100 | - G4NucleiModel: Major reorganization of generateModel() code. |
---|
101 | 1) Rename integration functions from "volNumInt[1]" to "zoneIntegralxxx" |
---|
102 | with "xxx" = "WoodsSaxon" or "Gaussian". |
---|
103 | 2) Move hardwired constants out to static data members, give clear names. |
---|
104 | 3) Split function into separate pieces to set binding energies, zone |
---|
105 | radii, volume/density values, and potential heights. |
---|
106 | 4) Within new functions, simplify if-cascades where possible, eliminate |
---|
107 | duplicated code. |
---|
108 | 5) Move std::vector<> buffers out to data members. |
---|
109 | |
---|
110 | Also, modify worthToPropagate() to use non-nucleon potential heights to |
---|
111 | terminate propagation. Previously, non-nucleons could never fail, as the |
---|
112 | "getFermiKinetic" always returned zero. |
---|
113 | |
---|
114 | 28 September 2010 Michael Kelsey (hadr-casc-V09-03-81) |
---|
115 | ------------------------------------------------------ |
---|
116 | - G4BigBanger: Missed some integer A/Z migrations, which caused a bus error |
---|
117 | in test47. |
---|
118 | |
---|
119 | 26 September 2010 Michael Kelsey (hadr-casc-V09-03-80) |
---|
120 | ------------------------------------------------------ |
---|
121 | - G4VCascadeDeexcitation.hh: NEW abstract base class for post-cascade |
---|
122 | processing. Some common activities will be implemented here from the two |
---|
123 | actual modules. |
---|
124 | |
---|
125 | - G4CascadeDeexcitation, G4PreCompoundDeexcitation: Use new base class |
---|
126 | above, reorganize code in collide() to use new deExcite(G4Fragment*) where |
---|
127 | appropriate. |
---|
128 | |
---|
129 | - G4InuclCascader.hh: Reference new base class for de-excitation modules. |
---|
130 | |
---|
131 | 25 September 2010 Michael Kelsey |
---|
132 | -------------------------------- |
---|
133 | - G4CascadeColliderBase: Add explosion(G4Fragment*) and explosion(A,Z,Eexc). |
---|
134 | Move implementation to latter, and write others as call-throughs. Add |
---|
135 | Z==0 condition for explosion, regardless of A. |
---|
136 | |
---|
137 | - G4EquilibriumEvaporator.hh: Remove explosion(G4InuclNuclei*), as |
---|
138 | unnecessary. Existing explosion(A,Z,E) now overrides base class. |
---|
139 | |
---|
140 | - G4CollisionOutput: Add function to process G4ReactionProducts from |
---|
141 | PreCompound. |
---|
142 | |
---|
143 | - G4PreCompoundDeexcitation.cc: Move G4ReactionProducts loop to |
---|
144 | G4CollisionOutput. |
---|
145 | |
---|
146 | 24 September 2010 Michael Kelsey |
---|
147 | -------------------------------- |
---|
148 | - G4IntraNucleiCascader.cc: Minor shuffle of post-cascade recoil checking, |
---|
149 | in preparation for moving fragment construction and processing away. |
---|
150 | |
---|
151 | - G4CollisionOutput.cc: Replace names "TargetFragment*" and "NucleiFragment*" |
---|
152 | with "OutgoingNuclei" and "OutgoingNucleus" for consistency with |
---|
153 | "OutgoingParticles" names. This affects the following source files, all |
---|
154 | of which are modified to match (using |sed|): |
---|
155 | |
---|
156 | cascade/include/G4Analyser.hh |
---|
157 | cascade/include/G4CollisionOutput.hh |
---|
158 | cascade/src/G4Analyser.cc |
---|
159 | cascade/src/G4CascadeCheckBalance.cc |
---|
160 | cascade/src/G4CascadeDeexcitation.cc |
---|
161 | cascade/src/G4CascadeInterface.cc |
---|
162 | cascade/src/G4CollisionOutput.cc |
---|
163 | cascade/src/G4EquilibriumEvaporator.cc |
---|
164 | cascade/src/G4Fissioner.cc |
---|
165 | cascade/src/G4IntraNucleiCascader.cc |
---|
166 | cascade/src/G4InuclCollider.cc |
---|
167 | cascade/src/G4InuclEvaporation.cc |
---|
168 | cascade/src/G4NonEquilibriumEvaporator.cc |
---|
169 | cascade/src/G4PreCompoundDeexcitation.cc |
---|
170 | |
---|
171 | - G4CollisionOutput: Add new G4Fragment data member, with get() and add() |
---|
172 | accessors. This fragment is *not* used by setOnShell() or by any of the |
---|
173 | event-total calculations. It will be filled by G4IntraNucleiCascader for |
---|
174 | use by de-excitation modules. Include G4Fragment in diagnostic output if |
---|
175 | not empty. |
---|
176 | |
---|
177 | - G4CascadeRecoilMaker.cc: Remove G4Fragment::SetExcitationEnergy() call. |
---|
178 | |
---|
179 | - G4InuclNuclei: Add new constructor to create from G4Fragment input, and |
---|
180 | new makeG4Fragment() to spit out a G4Fragment. Also provide a casting |
---|
181 | operator for the latter. |
---|
182 | |
---|
183 | 24 September 2010 Michael Kelsey (hadr-casc-V09-03-79) |
---|
184 | ------------------------------------------------------ |
---|
185 | Fix numerous compilation warnings on Linux (not seen on MacOSX) left over |
---|
186 | from migration to integer A and Z (-73 tag). |
---|
187 | |
---|
188 | G4BigBanger.cc |
---|
189 | G4CascadeCheckBalance.hh |
---|
190 | G4CascadeColliderBase.cc |
---|
191 | G4CascadeRecoilMaker.cc |
---|
192 | G4EquilibriumEvaporator.hh,cc |
---|
193 | G4ExitonConfiguration.hh |
---|
194 | G4Fissioner.cc |
---|
195 | G4InuclCollider.cc |
---|
196 | G4NonEquilibriumEvaporator.cc |
---|
197 | G4NucleiModel.cc |
---|
198 | |
---|
199 | - G4PreCompoundDeexcitation.cc: Drop "G4int" casts as no longer required. |
---|
200 | |
---|
201 | 23 September 2010 Michael Kelsey (hadr-casc-V09-03-78) |
---|
202 | ------------------------------------------------------ |
---|
203 | - G4CascadeInterface, G4InuclCollider: change user selection function name |
---|
204 | to usePreCompoundDeexcitation(), per Julia Yarba. |
---|
205 | |
---|
206 | - G4PreCompoundCascadeInterface.hh,.cc, G4PreCompountInuclCollider.hh,.cc: |
---|
207 | REMOVE THESE CLASSES. These were copied and modified versions of the |
---|
208 | standard versions, in order to test the new pre-compound de-excitation. |
---|
209 | That has been integrated with runtime flags, so the parallel versions are |
---|
210 | not required. |
---|
211 | |
---|
212 | 23 September 2010 Michael Kelsey |
---|
213 | -------------------------------- |
---|
214 | - G4InuclElementaryParticle.cc: Drop warning message when converting |
---|
215 | G4ParticleDefinition to type code. |
---|
216 | |
---|
217 | - G4CascadeInterface: Add functions for user selection of which |
---|
218 | post-cascade module to use for de-excitation of the residual nucleus. |
---|
219 | These call through to the equivalent G4InuclCollider functions. |
---|
220 | |
---|
221 | - G4InuclCollider: Add functions for user selection of which |
---|
222 | post-cascade module to use for de-excitation of the residual nucleus. |
---|
223 | These delete and re-instantiate the appropriate de-excitation "collider". |
---|
224 | |
---|
225 | - G4PreCompoundDeexcitation: Remove convertFragment() function, remove |
---|
226 | pass-by-value std::vector<> from getDeExcitedFragments() (use data member |
---|
227 | instead). Clean up some obsolete code usage. |
---|
228 | |
---|
229 | - G4CascadeRecoilMaker: Change fragment-making interface: |
---|
230 | makeRecoilNuclei() now returns G4InuclNuclei* for standard Bertini colliders. |
---|
231 | makeRecoilFragment() returns G4Fragment* for external PreCompound models. |
---|
232 | addExcitonConfiguration() sets local copy of excitons, needed in order to |
---|
233 | call the individual G4Fragment->Setxxx() functions. |
---|
234 | |
---|
235 | - G4IntraNucleiCascader.cc: Follow renaming RecoilMaker::makeRecoilNuclei(), |
---|
236 | use new addExcitonConfiguration(). |
---|
237 | |
---|
238 | - G4CascadeRecoilMaker: Change fragment-making interface: |
---|
239 | makeRecoilNuclei() now returns G4InuclNuclei*. |
---|
240 | makeRecoilFragment() returns G4Fragment*. |
---|
241 | addExcitonConfiguration() sets local copy of excitons, needed in order to |
---|
242 | call the individual G4Fragment->Setxxx() functions. |
---|
243 | |
---|
244 | - G4IntraNucleiCascader.cc: Follow renaming RecoilMaker::makeRecoilNuclei(), |
---|
245 | use new addExcitonConfiguration(). |
---|
246 | |
---|
247 | 22 September 2010 Michael Kelsey |
---|
248 | -------------------------------- |
---|
249 | - G4CascadeMomentum.hh: This should have been removed from the package long |
---|
250 | ago. Apologies for the oversight. |
---|
251 | |
---|
252 | 22 September 2010 Julia Yarba |
---|
253 | ----------------------------- |
---|
254 | Added 1st prototype of interface between Bartini cascade and PreCompound model |
---|
255 | (post-cascade de-excitation). |
---|
256 | |
---|
257 | Changes only to: |
---|
258 | /geant4/source/processes/hadronic/models/cascade/cascade |
---|
259 | |
---|
260 | New developments are those G4PreCompound* classes; the GNUmakefile adapted to |
---|
261 | include necessary links. |
---|
262 | |
---|
263 | The PreComp wrapper is G4PreCompundDeexcitation class. |
---|
264 | |
---|
265 | The logic, loops, conditions, etc., in the event processing are the same as in |
---|
266 | the "native" Bertini code. I actually copied it over from G4CascadeInterface, |
---|
267 | and started from there. |
---|
268 | |
---|
269 | However, there're a few technical changes that I'd like to mention. |
---|
270 | |
---|
271 | 1. G4PreCompoundInterface inherits directly from G4HadronicInteraction. |
---|
272 | I felt that we'd not need G4VIntra..., because its only advantage is a pointer |
---|
273 | (and related access methods) to G4VPreCompoundModel. |
---|
274 | This has now moved to the de-excitation wrapper. |
---|
275 | |
---|
276 | 2. In the Collider itself, I've made the data member to be |
---|
277 | G4CascadeColliderBase* theDeexcitation |
---|
278 | This way, it can be transparently set to the native one or the PreComp one |
---|
279 | (both inherit from G4CascadeColliderBase). |
---|
280 | |
---|
281 | 3. There's a setDeExcitation(...) methond in the collider, and also in the interface |
---|
282 | (which will pass it down to the collider). |
---|
283 | |
---|
284 | 19 September 2010 Michael Kelsey (hadr-casc-V09-03-77) |
---|
285 | ------------------------------------------------------ |
---|
286 | - G4CascadeInterface.cc: Bug fix to logic in retryInelasticNucleus() |
---|
287 | |
---|
288 | 17 September 2010 Michael Kelsey (hadr-casc-V09-03-76) |
---|
289 | ------------------------------------------------------ |
---|
290 | - G4CascadeInterface: Add support to pass nucleus projectiles into |
---|
291 | collider. Not tested or guaranteed to work, but G4IntraNucleiCascader is |
---|
292 | supposed to deal with them. |
---|
293 | |
---|
294 | 16 September 2010 Michael Kelsey |
---|
295 | -------------------------------- |
---|
296 | - G4CascadeInterface: Extensive reorganization, moving most |
---|
297 | functionality out of ApplyYourself and into small member functions. |
---|
298 | Complicated end-of-loop conditions encapsulated. Data members made into |
---|
299 | pointers to hide dependences from outside world. |
---|
300 | |
---|
301 | 16 September 2010 Michael Kelsey (hadr-casc-V09-03-75) |
---|
302 | ------------------------------------------------------ |
---|
303 | - G4CascadeInterface.cc: Add parentheses in end-of-while block to fix |
---|
304 | compilation warning in GCC 4.3. |
---|
305 | |
---|
306 | - G4IntraNucleiCascader.cc: In decayTrappedParticle(), check for photon |
---|
307 | daughters and put them directly onto output list. |
---|
308 | |
---|
309 | 16 September 2010 Michael Kelsey |
---|
310 | -------------------------------- |
---|
311 | - G4CascadParticle.hh: Make getGeneration() const. |
---|
312 | |
---|
313 | - G4CascadeDeexcitation.hh: Fix compiler warning about order of data members. |
---|
314 | |
---|
315 | - G4IntraNucleiCascader: Intercept hyperons which are "trapped" in nuclear |
---|
316 | potential, and decay them immediately to produce usable secondaries. This |
---|
317 | resolves problem with sub-MeV final-state hyperons (reported by A. Dotti), |
---|
318 | but is not entire correct. Properly, the hyperon should be incorporated |
---|
319 | into a hypernucleus fragment. |
---|
320 | |
---|
321 | - G4InuclElementaryParticle.hh: Add hyperon() identification function, and |
---|
322 | constructor to take G4DynamicParticle directly. |
---|
323 | |
---|
324 | - G4InuclParticle.hh, G4InuclNuclei.hh: Add constructor to take |
---|
325 | G4DynamicParticle directly. |
---|
326 | |
---|
327 | 15 September 2010 Michael Kelsey (hadr-casc-V09-03-74) |
---|
328 | ------------------------------------------------------ |
---|
329 | - G4CascadeDeexcitation: NEW collider to handle post-cascade processing of |
---|
330 | nuclear fragment. Encapsulates BigBanger and Evaporators. Eventually |
---|
331 | will have alternative (configurable or #ifdef) implementation using G4 |
---|
332 | external "pre-compound" models instead of Bertini factories. |
---|
333 | |
---|
334 | - G4InuclCollider: Remove post-cascade colliders (BigBanger, Evaporators), |
---|
335 | replace with new G4CascadeDeexcitation. |
---|
336 | |
---|
337 | - G4LorentzConverter: Move construtor implementations to .cc file, and make |
---|
338 | sure all constructors have initializers for all data members. |
---|
339 | |
---|
340 | 14 September 2010 Michael Kelsey (hadr-casc-V09-03-73) |
---|
341 | ------------------------------------------------------ |
---|
342 | Migrate to integer A and Z values for nuclear configurations. Includes both |
---|
343 | explicit arguments for G4InuclNuclei, and function arguments, computational |
---|
344 | parameters involved in nuclear configurations, breakup, etc. |
---|
345 | |
---|
346 | G4CascadeCheckBalance.cc |
---|
347 | G4CascadeInterface.cc |
---|
348 | G4CascadeRecoilMaker.hh |
---|
349 | G4Fissioner.hh,cc |
---|
350 | G4InuclEvaporation.cc |
---|
351 | G4InuclNuclei.hh,cc |
---|
352 | G4InuclSpecialFunctions.hh |
---|
353 | G4NonEquilibriumEvaporator.hh,cc |
---|
354 | G4NucleiModel.hh,cc |
---|
355 | G4PreCompoundCascadeInterface.cc |
---|
356 | bindingEnergy.cc |
---|
357 | bindingEnergyAsymptotic.cc |
---|
358 | nuclearLevelDensity.cc |
---|
359 | paraMaker.cc |
---|
360 | |
---|
361 | - G4InuclSpecialFunctions.hh: Eliminate bindingEnergy functions which are |
---|
362 | no longer used, along with their .cc files: |
---|
363 | |
---|
364 | bindingEnergyKummel |
---|
365 | bindingEnergyExact |
---|
366 | |
---|
367 | Migration validated using 100 events (20 GeV pi+ on lead) with verbose==4. |
---|
368 | Entire log files (9.6M lines, 433 MB) identical before and after migration. |
---|
369 | |
---|
370 | 13 September 2010 Michael Kelsey |
---|
371 | -------------------------------- |
---|
372 | - G4InuclElementaryParticle: Move printParticle() implementation to .cc, |
---|
373 | and add printing of particle name to output. |
---|
374 | |
---|
375 | - G4InuclNuclei.cc: Move base-class printing to first line of output, to |
---|
376 | match G4InuclEP. |
---|
377 | |
---|
378 | 10 September 2010 Michael Kelsey (hadr-casc-V09-03-72) |
---|
379 | ------------------------------------------------------ |
---|
380 | - G4CascadeRecoilMaker: Add new goodNucleus() function with functionality |
---|
381 | from G4IntraNucleiCascader::goodCase(). Add parameter to set "rounding |
---|
382 | tolerance" for small/negative mass differences. Drop getRecoilFragment() |
---|
383 | in favor of user calling makeRecoilFragment() directly (instead of doing |
---|
384 | it collide()), which returns a non-const pointer. |
---|
385 | |
---|
386 | - G4IntraNucleiCascader: Remove previously introduced getResidualMass() and |
---|
387 | makeResidualFragment() functions, along with G4InuclNuclei object. |
---|
388 | Replace with new RecoilMaker utility. Move goodCase() to RecoilMaker, and |
---|
389 | begin to simplify end-of-cascade processing. |
---|
390 | |
---|
391 | - G4ExitonConfiguration.hh: Add function to reset values to zero. |
---|
392 | |
---|
393 | - G4InuclNuclei: Add function to zero out exciton configuration, and use |
---|
394 | it in fill() functions. |
---|
395 | |
---|
396 | 9 September 2010 Michael Kelsey |
---|
397 | ------------------------------- |
---|
398 | - G4CascadeCheckBalance: Add new collide() interface to take lists of both |
---|
399 | G4InuclElementaryParticles and G4CascadParticles; supports use by |
---|
400 | G4IntraNucleiCascader and G4CascadeRecoilMaker. |
---|
401 | |
---|
402 | - G4CascadeRecoilMaker: NEW pseudo-Collider class to compute the nuclear |
---|
403 | recoil kinematics of a cascade, either in process or completed. To be |
---|
404 | used by G4IntraNucleiCascader; uses G4CascadeCheckBalance to do work. |
---|
405 | |
---|
406 | 6 September 2010 Michael Kelsey (hadr-casc-V09-03-71) |
---|
407 | ----------------------------------------------------- |
---|
408 | - G4NucleiModel: Add protections in generateInteractionPartners() so that |
---|
409 | nucleon and quasideuteron interactions are only selected if there are |
---|
410 | "enough" nucleons of the necessary type still available (xxxNumberCurrent). |
---|
411 | |
---|
412 | - G4InuclNuclei: Add fill() functions which overwrite the entire particle |
---|
413 | structure, with same argument lists as constructors. Will be used mainly |
---|
414 | by G4IntraNucleiCascader::makeResidualFragment(). |
---|
415 | |
---|
416 | - G4IntraNucleiCascader: Hide non-physical nucleus message behind verbose |
---|
417 | flag. Add function and data member to build recoil nucleus (fragment) at |
---|
418 | end of every iteration; will eventually replace functionality of |
---|
419 | getResidualMass(). |
---|
420 | |
---|
421 | 2 September 2010 Michael Kelsey (hadr-casc-V09-03-70) |
---|
422 | ----------------------------------------------------- |
---|
423 | - G4NucleiModel.cc: Restore hadr-casc-V09-03-68 revision 1.71, and remove |
---|
424 | the two resize(3) actions. |
---|
425 | |
---|
426 | NOTE: The exercise below has (finally) resolve the cross-section |
---|
427 | discrepancy reported by Sunanda Banerjee back in July. It turns out that my |
---|
428 | use of "resize(3)" to pre-allocate the qdeutron and acsec buffers on each |
---|
429 | interaction was incorrect. This doesn't just reserve memory, it fills the |
---|
430 | vectors with three elements, so that subsequent push_back()'s fill [3], [4], |
---|
431 | etc. |
---|
432 | |
---|
433 | 2 September 2010 Michael Kelsey |
---|
434 | ------------------------------- |
---|
435 | - G4NucleiModel.cc: Reverted to hadr-casc-V09-03-38 revision 1.45, and |
---|
436 | interface changes incorporated. See NOTE below from 28 July 2010. |
---|
437 | Cross-section changes have not been resolved or validated. Since -38 |
---|
438 | revision has better data/MC matching (ratio near 1), it is restored as the |
---|
439 | baseline version, and changes will be re-done incrementally. |
---|
440 | |
---|
441 | Each increment after (0) is tagged "kelsey-20100902x", x=a,b,c,d etc. |
---|
442 | |
---|
443 | 0) Implement new ctor and generateModel() calls |
---|
444 | Make cross-section tables statically initialized |
---|
445 | Include absorptionCrossSection definition |
---|
446 | 1) Use lookup tables for cross-sections, and new interpolator |
---|
447 | Change CHC_CHECK to G4CASCADE_DEBUG_CHARGE |
---|
448 | 2) Use this package's bindingEnergy() function |
---|
449 | 3) Update diagnostic messages and verbosity levels; |
---|
450 | Add missing initializers to all constructors; |
---|
451 | Use data-member buffer for G4CollisionOutput |
---|
452 | 4) Use generateWithRandomAngles() everywhere appropriate; |
---|
453 | Collapse if-cascades to use if-return where possible |
---|
454 | 5) Make generateModel() re-usable with data-member buffers |
---|
455 | 6) Energy-momentum conservation checking; |
---|
456 | Implement generateNucleonMomentum; |
---|
457 | Remove extraneous semicolons and blank lines |
---|
458 | 7) Use local variables in passFermi(); |
---|
459 | Fix some minor LorentzVector calculations; |
---|
460 | Use generateNucleonMomentum() for quasi-deuterons |
---|
461 | 8) Use data-member buffers for quasideuterons, coords, mom. |
---|
462 | 9) Use enum labels for quasideuteron codes |
---|
463 | 10) Restore Dennis' improved potential (6-zone) calculations |
---|
464 | |
---|
465 | 4 August 2010 Michael Kelsey (hadr-casc-V09-03-69) |
---|
466 | -------------------------------------------------- |
---|
467 | - G4CascadeData: Add name data member and optional ctor argument, use |
---|
468 | when printing tables. |
---|
469 | |
---|
470 | - G4CascadeFunctions.icc: Pretty-up printing output using name string. |
---|
471 | |
---|
472 | - G4Cascade*Channel.cc: Add name string to data() ctor, use central part of |
---|
473 | class name, e.g., "PiMinusP" for G4CascadePiMinusPChannel. |
---|
474 | |
---|
475 | - G4ElementaryParticleCollider.cc: Add printing of all final-state tables, |
---|
476 | one time only, protected by G4CASCADE_DEBUG_SAMPLER. |
---|
477 | |
---|
478 | - GNUmakefile: Add G4CASCADE_DEBUG_SAMPLER preprocessor flag. |
---|
479 | |
---|
480 | 3 August 2010 Michael Kelsey (hadr-casc-V09-03-68) |
---|
481 | -------------------------------------------------- |
---|
482 | - G4CascadeData.hh: Add print() and printXsec() functions to dump tables. |
---|
483 | - G4CascadeData.icc: Move implementations out of G4CascadeData.hh file. |
---|
484 | |
---|
485 | - G4CascadeFunctions.hh,icc: Add printTable() to dump tables. |
---|
486 | |
---|
487 | - G4CascadeInterpolator.hh,icc: Add printBins() to dump energy bin edges. |
---|
488 | |
---|
489 | - G4CascadeSampler.hh,icc: Add print() to call through to interpolator. |
---|
490 | |
---|
491 | NOTE: This should be the last set of functional changes for a while. |
---|
492 | Sunanda Bannerjee reported substantial changes in validation plots for the |
---|
493 | Bertini cascade between 4.9.3-ref-05 (hadr-casc-V09-03-23-01) and |
---|
494 | 4.9.3-ref-06/4.9.4-beta-01 (hadr-casc-V09-03-43). |
---|
495 | |
---|
496 | 28 July 2010 Michael Kelsey (hadr-casc-V09-03-67) |
---|
497 | ------------------------------------------------- |
---|
498 | - G4NucleiModel.cc: Set deuteron arrays to fixed length (3). Add A/Z |
---|
499 | values to generateModel diagnostic message. |
---|
500 | |
---|
501 | - G4EquilibriumEvaporator.cc: Change some fixed length std::vector<> to |
---|
502 | simple C arrays. |
---|
503 | |
---|
504 | - G4Fissioner.cc: Move G4FissionStore to class data member for reuse. |
---|
505 | |
---|
506 | - G4FissionStore: Add ::clear() function to support reuse, move addConfig() |
---|
507 | implementation to .cc file. |
---|
508 | |
---|
509 | - G4IntraNucleiCascader: Move G4NucleiModel to class-level data member |
---|
510 | (pointer) so it can be reused across collisions. |
---|
511 | |
---|
512 | 26 July 2010 Michael Kelsey |
---|
513 | --------------------------- |
---|
514 | - G4Analyzer.cc: Use const-refs for particle lists. |
---|
515 | |
---|
516 | - G4BigBanger, G4ElementaryParticleCollider: Move std::vector<> buffers to |
---|
517 | .hh file to allow reuse. |
---|
518 | |
---|
519 | - G4NucleiModel.cc: Simplify buffers used in generateModel() to reduce |
---|
520 | G4double allocations. |
---|
521 | |
---|
522 | 23 July 2010 Michael Kelsey (hadr-casc-V09-03-66) |
---|
523 | ------------------------------------------------- |
---|
524 | - G4CascadeInterface: Move G4CollisionOutput to .hh file for reuse between |
---|
525 | events. |
---|
526 | |
---|
527 | - G4IntraNucleiCascader: Move buffers for cascade output to .hh file, so |
---|
528 | they can be reused between events. |
---|
529 | |
---|
530 | - G4NucleiModel: Move G4CollisionOutput to .hh file for reuse; use |
---|
531 | references for bullet and target args to G4EPCollider. |
---|
532 | |
---|
533 | 21 July 2010 Michael Kelsey (hadr-casc-V09-03-65) |
---|
534 | ------------------------------------------------- |
---|
535 | - GNUmakefile: Add new G4CASCADE_CHECK_ECONS to turn off all of the |
---|
536 | internal conservation checks (reduce std::vector<> memory churn!). |
---|
537 | |
---|
538 | - G4CascadeColliderBase.cc: Use G4CASCADE_CHECK_ECONS to set the default |
---|
539 | value of "doConservationChecks": true if defined, false if not defined. |
---|
540 | This is done with #ifdef-else-endif block, NOT some fancy macro. |
---|
541 | |
---|
542 | - G4CascadeInterface.cc: Use G4CASCADE_SKIP_ECONS to toggle reporting |
---|
543 | violations before end of loop (don't need to call balance.okay() twice!). |
---|
544 | |
---|
545 | - G4ElementaryParticleCollider.cc: Put verbosity check before call to |
---|
546 | validateOutput() to avoid unnecessary vector manipulations. |
---|
547 | |
---|
548 | - G4IntraNucleiCascader.cc: Set doConservationChecks = true |
---|
549 | unconditionally; used to reject bad cascades. |
---|
550 | |
---|
551 | - G4NucleiModel.cc: Use G4CASCADE_CHECK_ECONS to hide balance.collide(). |
---|
552 | |
---|
553 | 20 July 2010 Michael Kelsey (hadr-casc-V09-03-64) |
---|
554 | ------------------------------------------------- |
---|
555 | - G4CascadeColliderBase: Make G4CascadeCheckBalance a pointer member, move |
---|
556 | ctor and dtor to .cc file. Change balance tolerances to 1 per mil and 1 |
---|
557 | MeV. |
---|
558 | |
---|
559 | - G4InuclCollder: Make all colliders pointer members. |
---|
560 | |
---|
561 | - G4IntraNucleiCascader: Make EPCollider a pointer member, and call |
---|
562 | G4CollisionOutput::setOnShell() to balance energy-momentum for null fragments. |
---|
563 | |
---|
564 | - G4InuclNuclei.cc: Preserve momentum magnitude when setting excitation |
---|
565 | energy by setting mass and kinetic energy. |
---|
566 | |
---|
567 | 19 July 2010 Michael Kelsey (hadr-casc-V09-03-63) |
---|
568 | ------------------------------------------------- |
---|
569 | - G4CascadeCheckBalance.cc: Change zero-tolerance to 10 keV (1e-5) from |
---|
570 | 1 keV (1e-6). |
---|
571 | |
---|
572 | - G4CollisionOutput.hh: Fix capitalization of "numberOfOutgoingParticles". |
---|
573 | |
---|
574 | - G4EquilibriumEvaporator.cc: Remove duplicate EEXS setting. |
---|
575 | |
---|
576 | - G4InuclNuclei: Change implementation of setExitationEnergy() to adjust |
---|
577 | mass while keeping momentum vector constant. Currently done with |
---|
578 | "expensive" LorentzVector manipuation. Should be done by recomputing |
---|
579 | kinetic energy given new mass value. |
---|
580 | |
---|
581 | - G4NonEquilibriumEvaporator.cc: Modify particle-creation block to work as |
---|
582 | G4EquilibriumEvaporator now does. Simplify some if-blocks. |
---|
583 | |
---|
584 | 16 July 2010 Michael Kelsey (hadr-casc-V09-03-62) |
---|
585 | ------------------------------------------------- |
---|
586 | - G4CollisionOutput: Add interfaces to handle G4CascadParticles. |
---|
587 | |
---|
588 | - G4IntraNucleiCascader: Eliminate local "inter_case" data member and |
---|
589 | function. Use base class G4InteractionCase directly. Add functionality |
---|
590 | to test for conservation and recoil before exiting "itry" loop, and redo |
---|
591 | cascade if unbalanced recoil fragment. |
---|
592 | |
---|
593 | - G4{PreCompound}InuclCollider.cc: Drop "setInteractionCase()" function. |
---|
594 | |
---|
595 | 15 July 2010 Michael Kelsey (hadr-casc-V09-03-61) |
---|
596 | ------------------------------------------------- |
---|
597 | - G4CollisionOutput: New ::add() function to combine two objects. New |
---|
598 | accessors to get total charge and baryon number. |
---|
599 | |
---|
600 | - G4CascadeCheckBalance: Make tempOutput data member, for thread-safety, |
---|
601 | rather than static variables. Use new G4CollisionOutput accessors. |
---|
602 | |
---|
603 | - G4IntraNucleiCascader.cc: Move local output buffers outside while loop, |
---|
604 | use std::vector<>::insert() for copying. |
---|
605 | |
---|
606 | - G4InuclCollider.cc: Use new G4CollisionOutput::add() interface. |
---|
607 | |
---|
608 | - G4NucleiModel.cc: Hide conservation checks behind verbose>2. Otherwise |
---|
609 | log files get too big |
---|
610 | |
---|
611 | 15 July 2010 Michael Kelsey (hadr-casc-V09-03-60) |
---|
612 | ------------------------------------------------- |
---|
613 | - G4CascadeCheckBalance: Add layer of protection in relativeX() (check |
---|
614 | initial values) to avoid divide-by-zero errors. Add another interface to |
---|
615 | accept list of G4CascadParticles, for use with G4NucleiModel. Add check |
---|
616 | of momentum direction balance, not just magnitudes. |
---|
617 | |
---|
618 | - G4IntraNucleiCascader.cc: Rearrange end-of-loop if-blocks to allow for |
---|
619 | conservation checking prior to return. Add reporting of both too-low and |
---|
620 | too-high residual energy (at verbose=2) for single-nucleon fragments. |
---|
621 | |
---|
622 | - G4InuclCollider.cc: Remove re-named conservation checks, now all done by |
---|
623 | colliders themselves. |
---|
624 | |
---|
625 | - G4InuclParticle.hh: Add setKineticEnergy() function to simplify handling |
---|
626 | of some kinematics. |
---|
627 | |
---|
628 | - G4NucleiModel: Add G4InuclNuclei data member (created in generateModel()), |
---|
629 | for use with conservation checks. Do check at end of generateParticleFate(). |
---|
630 | |
---|
631 | 15 July 2010 Michael Kelsey (hadr-casc-V09-03-59) |
---|
632 | ------------------------------------------------- |
---|
633 | - G4InuclNuclei: Use G4DynamicParticle::theDynamicalMass to carry around |
---|
634 | excitation energy (== theDynamicalMass-thePDGMass). This allows |
---|
635 | excitation to be changed on the fly, with all kinematics handled |
---|
636 | correctly. It also allows ONLY the ground state nucleus to be created as |
---|
637 | a G4Ions object (whether global or private), reducing the number of such |
---|
638 | objects by a factor of thousands. |
---|
639 | |
---|
640 | 14 July 2010 Michael Kelsey (hadr-casc-V09-03-58) |
---|
641 | ------------------------------------------------- |
---|
642 | - G4CollisionOutput.cc: For initial four-momentum adjustment, skip over |
---|
643 | particles which would acquire negative energy after "correction." |
---|
644 | |
---|
645 | - G4ElementaryParticleCollider.cc: Bug fix for two-body final states. |
---|
646 | Kinematics should not require "rescaling." That was driven by states |
---|
647 | which were kinematically forbidden, with m1+m2 > etot_scm (e.g., pi0 p -> |
---|
648 | pi+ n with just 5 MeV kinetic energy). Now those states are caught and |
---|
649 | rejected. |
---|
650 | |
---|
651 | - G4CascadeInterface.cc, G4InuclCollider.cc: Improve diagnostics reporting |
---|
652 | number of retries. |
---|
653 | |
---|
654 | - G4EquilibriumEvaporator.cc: When computing residual excitation |
---|
655 | (EEXS_new), original thrown energy, S, should be used, not reboosted |
---|
656 | particle after recoil. Simplify evaporation kinematics to conserve |
---|
657 | four-momentum automatically (PEX -= mom). |
---|
658 | |
---|
659 | 14 July 2010 Michael Kelsey (hadr-casc-V09-03-57) |
---|
660 | ------------------------------------------------- |
---|
661 | - G4CascadeColliderBase: New subclass of G4VCascadeCollider, which takes |
---|
662 | over all of its concrete functionality, and adds conservation checker |
---|
663 | (G4CascadeCheckBalance) as data member. Wrapper functions and control |
---|
664 | flag allow colliders to user it transparently. |
---|
665 | |
---|
666 | - G4VCascadeCollider: Move concrete functionality to new base class. |
---|
667 | |
---|
668 | - All colliders: Change base class to new G4CascadeColliderBase. Remove |
---|
669 | local copies of conservation-checker, using new base function instead. |
---|
670 | |
---|
671 | cascade/include/G4BigBanger.hh |
---|
672 | cascade/include/G4ElementaryParticleCollider.hh |
---|
673 | cascade/include/G4EquilibriumEvaporator.hh |
---|
674 | cascade/include/G4EvaporationInuclCollider.hh |
---|
675 | cascade/include/G4Fissioner.hh |
---|
676 | cascade/include/G4IntraNucleiCascader.hh |
---|
677 | cascade/include/G4InuclCollider.hh |
---|
678 | cascade/include/G4NonEquilibriumEvaporator.hh |
---|
679 | cascade/include/G4PreCompoundInuclCollider.hh |
---|
680 | cascade/src/G4BigBanger.cc |
---|
681 | cascade/src/G4ElementaryParticleCollider.cc |
---|
682 | cascade/src/G4EquilibriumEvaporator.cc |
---|
683 | cascade/src/G4EvaporationInuclCollider.cc |
---|
684 | cascade/src/G4Fissioner.cc |
---|
685 | cascade/src/G4IntraNucleiCascader.cc |
---|
686 | cascade/src/G4InuclCollider.cc |
---|
687 | cascade/src/G4NonEquilibriumEvaporator.cc |
---|
688 | cascade/src/G4PreCompoundInuclCollider.cc |
---|
689 | |
---|
690 | - G4EquilibriumEvaporator: Use new functionality (above) to turn off |
---|
691 | conservation checks when evaporating fission products. |
---|
692 | |
---|
693 | - G4CascadeInterface.cc: Report number of retries in verbose messages. |
---|
694 | |
---|
695 | - G4IntraNucleiCascader.cc: Remove sanity check on afin/zfin vs. model. |
---|
696 | |
---|
697 | 13 July 2010 Michael Kelsey (hadr-casc-V09-03-56) |
---|
698 | ------------------------------------------------- |
---|
699 | - G4CascadeCheckBalance: Add zero protection (needed for momentum ratio) |
---|
700 | using a static tolerance parameter. |
---|
701 | |
---|
702 | - G4EquilibriumEvaporator.cc: Add dumping of G4CollisionOutput before exit, |
---|
703 | some fixes for "PEX" adjustments as EEXS changes. |
---|
704 | |
---|
705 | - G4NonEquilibriumEvaporator.cc: Add conservation checking, dump of output, |
---|
706 | some fixes for "PEX" adjustments as EEXS changes. |
---|
707 | |
---|
708 | - G4Fissioner.cc: Add conservation checking, remove addition of excitation |
---|
709 | energy to input nucleus mass, since already included. |
---|
710 | |
---|
711 | 13 July 2010 Michael Kelsey |
---|
712 | --------------------------- |
---|
713 | - G4CascadeCheckBalance.cc: Hide violation reports behind verbose == 1. |
---|
714 | |
---|
715 | - G4ElementaryParticleCollider.cc: Bump ::collide() message to verbose > 1. |
---|
716 | |
---|
717 | - G4EquilibriumEvaporator.cc: Add conservation checking, collapse if-cascades |
---|
718 | by doing failure tests and exits up front, add sanity check on eex_real. |
---|
719 | |
---|
720 | - G4IntraNucleiCascader.cc: Add diagnostic messages and some FIXME |
---|
721 | comments, validate afin/zfin against G4NucleiModel result. |
---|
722 | |
---|
723 | - G4InuclCollider.cc: Move conservation check outside verbosity flag. This |
---|
724 | adds to CPU usage, so may need #ifdef protection later. Adjust a few |
---|
725 | verbosity levels. |
---|
726 | |
---|
727 | - G4LorentzConvertor.cc: Bump all diagnostic messages to verbose > 2. |
---|
728 | |
---|
729 | - G4NucleiModel.cc: Simplify main if-block to put failure up front; add |
---|
730 | debugging messages when decrementing proton or neutron counts. |
---|
731 | |
---|
732 | 11 July 2010 Michael Kelsey |
---|
733 | --------------------------- |
---|
734 | - G4CascadeCheckBalance: Add ctor argument with name of parent class; use |
---|
735 | this name when reporting results. Add interface for nuclear fragment |
---|
736 | list. Allow parent class name to be changed dynamically. |
---|
737 | |
---|
738 | - G4BigBanger.cc, G4CascadeInterface.cc, G4ElementaryParticleCollider.cc, |
---|
739 | G4InuclCollider.cc, G4NucleiModel.cc: Pass name to G4CascadeCheckBalance. |
---|
740 | |
---|
741 | - G4Fissioner.cc: Use G4CascadeCheckBalance to test energy conservation. |
---|
742 | |
---|
743 | - G4InuclNuclei.hh: Add model ID as optional ctor argument. |
---|
744 | |
---|
745 | - G4InuclCollider.cc: Move balance checks on evaporators outside verbosity. |
---|
746 | Adjust name of G4CascadeCheckBalance for clear reporting. |
---|
747 | |
---|
748 | - G4VCascadeCollider.hh: Add protected function to change name dynamically. |
---|
749 | |
---|
750 | 6 July 2010 Dennis Wright (hadr-casc-V09-03-55) |
---|
751 | ----------------------------------------------- |
---|
752 | - G4IntraNucleiCascader.cc: add to final particle list those cascade |
---|
753 | particles which were formerly abandoned at cascade termination; |
---|
754 | - G4IntraNucleiCascader.cc: allow meson excitons to pass out of nucleus |
---|
755 | since they are not proper excitons, and would be lost otherwise |
---|
756 | |
---|
757 | 4 July 2010 Dennis Wright (hadr-casc-V09-03-54) |
---|
758 | ----------------------------------------------- |
---|
759 | - tag changes up to now |
---|
760 | |
---|
761 | 2 July 2010 Michael Kelsey |
---|
762 | -------------------------- |
---|
763 | - G4BigBanger.cc: Moving "generateMomentumModules()" inside loop. For |
---|
764 | three-body decays, the angles are not ajustable (so always fails). |
---|
765 | |
---|
766 | - G4CascadeInterface.cc: Set verbosity on G4CollisionOutput. |
---|
767 | |
---|
768 | - G4EquilibriumEvaporator.cc: Simplify if-cascades to reduce nesting (test |
---|
769 | for errors and exit up front, rather than in else-blocks). |
---|
770 | |
---|
771 | - G4InuclCollider.cc: Set verbosity on G4CollisionOutput. |
---|
772 | |
---|
773 | - G4IntraNucleiCascader.cc: Throw away casacde which leaves "negative energy |
---|
774 | recoil" (i.e. rest-frame energy of recoil less than mass of nucleus or |
---|
775 | nucleon). |
---|
776 | |
---|
777 | 1 July 2010 Michael Kelsey |
---|
778 | -------------------------- |
---|
779 | - G4InuclCollider.cc: Used wrong input target for conservation-law checking |
---|
780 | subsequent to G4EquilibriumEvaporator. |
---|
781 | |
---|
782 | - G4EquilibriumEvaporator.cc, G4NonEquilibriumEvaporator.cc: Handle |
---|
783 | excitation energy differently with new G4InuclNuclei interface. Compute |
---|
784 | updated values correctly, by taking nuclear mass difference then |
---|
785 | subtracting energy of evaporated particle. |
---|
786 | |
---|
787 | - G4InuclNuclei: Reorganization to properly incorporate excited states. |
---|
788 | Excitation energy included in mass in all cases. setExcitationEnergy() now |
---|
789 | replaces G4PartDefn pointer with new excited state. getNucleiMass() takes |
---|
790 | (optional) excitation, calls G4NucleiProperties to get mass value. For |
---|
791 | weird fragments, multiple isomers allowed, assigned unique non-standard |
---|
792 | PDG codes. Include particle name in printout (now in .cc file). |
---|
793 | |
---|
794 | - G4CollisionOutput.cc: Do not include nuclear excitation energy in output |
---|
795 | sum; now included with nuclear mass automatically (and properly). |
---|
796 | |
---|
797 | - G4CascadeCheckBalance.cc: Do not include nucler excitation energy in input |
---|
798 | sum; now inluded with nuclear mass automatically (and properly). |
---|
799 | |
---|
800 | - G4IntraNucleiCascader.cc: For recoil nuclear fragments, treat excitation |
---|
801 | energy properly: compute as difference between recoil "mass" (recoil-frame |
---|
802 | energy) and ground-state A/Z mass, and pass into G4InuclNuclei ctor. |
---|
803 | After the cascade, add some recoil energy checks to deal with both |
---|
804 | floating-point round-off, and quasi-elastic scatters (which change the |
---|
805 | bullet direction, and leave the nucleus with "missing" energy). |
---|
806 | |
---|
807 | - G4BigBanger.cc: Simplify boost to "target" nucleus, using "boostVector" |
---|
808 | instead of G4LorentzConvertor machinery. |
---|
809 | |
---|
810 | 30 June 2010 Michael Kelsey |
---|
811 | --------------------------- |
---|
812 | - G4BigBanger.cc: Improve handling of excitation energy as part of nuclear |
---|
813 | mass, deal with two-body explosion properly (x=0.5, not random). Some |
---|
814 | tweaks to diagnostic messages. |
---|
815 | |
---|
816 | - G4CascadeCheckBalance: Add excitation energy to total energy for bullet |
---|
817 | and target nuclei. This is done in G4CollisionOutput for secondaries. It |
---|
818 | is NOT relativistically correct (should add to mass, not energy), but is |
---|
819 | consistent. |
---|
820 | |
---|
821 | - G4CollisionOutput.cc: Use "getExitationEnergyInGeV()" instead of "0.001*". |
---|
822 | |
---|
823 | - G4IntraNucleiCascader.cc: More diagnostic messages, improve the afin/zfin |
---|
824 | sanity check by requiring A>=Z. |
---|
825 | |
---|
826 | 28 June 2010 Michael Kelsey |
---|
827 | --------------------------- |
---|
828 | - G4CascadeCheckBalance: Report violations on G4cerr always, regardless |
---|
829 | of verbosity level. Add collide(...,<vector>) interface to allow use |
---|
830 | from within G4ElementaryParticleCollider. |
---|
831 | |
---|
832 | - G4ElementaryParticleCollider.cc: Add conservation checks within ::collide(). |
---|
833 | |
---|
834 | - G4IntraNucleiCascader.cc: Add more diagnostic messages. Test for |
---|
835 | negative values of afin, zfin, and try again. Set round-off limit (1e-6), |
---|
836 | and test nuclear recoil energy for bound (setting to zero) before doing |
---|
837 | energy-violation test. |
---|
838 | |
---|
839 | - G4InuclNuclei.cc: Abort job if passed negative Z or A argument. |
---|
840 | |
---|
841 | 28 June 2010 Michael Kelsey |
---|
842 | --------------------------- |
---|
843 | - G4BigBanger.cc: Missed one instance of GetBindingEnergy(). |
---|
844 | |
---|
845 | 26 June 2010 Dennis Wright |
---|
846 | -------------------------- |
---|
847 | - G4InuclNuclei: Fix bug in calculation of PDG code. |
---|
848 | |
---|
849 | 25 June 2010 Michael Kelsey (hadr-casc-V09-03-53) |
---|
850 | ------------------------------------------------- |
---|
851 | - G4ElementaryParticleCollider.cc: MAJOR BUG FIX: Three different places |
---|
852 | in generating N-body momenta had incorrect "recoil" calculations. The |
---|
853 | Nth four-vector was computed as simply -total, which produced negative |
---|
854 | energy states (obviously). The correct calculation should have been |
---|
855 | N = G4LV(0,0,0,etot) - (total) in each instance. |
---|
856 | |
---|
857 | 24 June 2010 Michael Kelsey (hadr-casc-V09-03-52) |
---|
858 | ------------------------------------------------- |
---|
859 | - G4CascadeCheckBalance.cc: Bug fixes to limit checks; should be using |
---|
860 | std::abs(), or negative violations don't get caught! Also did some |
---|
861 | cleanup for compiler warnings see on Linux. |
---|
862 | |
---|
863 | 23 June 2010 Michael Kelsey |
---|
864 | --------------------------- |
---|
865 | - G4CascadeInterface.cc: Fix infinite-loop bug with energy-violation; must |
---|
866 | check for (nTries>maxTries) outside parenthetical, with balance.okay() |
---|
867 | inside. Do conservation checks all the time, not just with flag set. If |
---|
868 | e-violation is "infinite loop", dump last generated event and abort job. |
---|
869 | |
---|
870 | - G4CascadeCheckBalance: Add checks on baryon number, charge, and kinetic |
---|
871 | energy. "Global" sanity check (::okay() function) does not include K.E. |
---|
872 | |
---|
873 | 23 June 2010 Michael Kelsey (hadr-casc-V09-03-51) |
---|
874 | ------------------------------------------------- |
---|
875 | - bindingEnergy.cc: Replace entire function with call-through to |
---|
876 | G4NucleiProperties. Copy test for valid A/Z from there, and return |
---|
877 | 0. directly on failure; suppresses warning message in 9.4-beta. |
---|
878 | |
---|
879 | - G4EquilibriumEvaporator.cc, G4Fissioner.cc, G4IntraNucleiCascader.cc |
---|
880 | G4InuclNuclei.cc, G4NonEquilibriumEvaporator.cc, G4NucleiModel.cc |
---|
881 | G4VCascadeCollider.cc: Restore calls to local "bindingEnergy()" to |
---|
882 | get wrapper function above; suppresses warning messages in 9.4-beta. |
---|
883 | |
---|
884 | - G4NucleiModel.cc: Make class re-usable (had been assumed in -47 tag, but |
---|
885 | was not true!), by clearing all parameter vectors in generateModel(). |
---|
886 | Values of A,Z are tested first, and previous data kept if same nucleus is |
---|
887 | being modelled. |
---|
888 | |
---|
889 | 23 June 2010 Michael Kelsey |
---|
890 | --------------------------- |
---|
891 | - G4CascadeInterface.cc: Minor fix to rationalize version jumpings. |
---|
892 | - G4NucleiModel.cc: Fix bug in partners list termination mods below, and |
---|
893 | remove reflection-recoil from boundaryTransition(). |
---|
894 | |
---|
895 | |
---|
896 | 21 June 2010 Michael Kelsey (MHK-20100621) |
---|
897 | ------------------------------------------ |
---|
898 | - G4CascadeInterface.cc: Bring MHK-20100620 version back to HEAD, make same |
---|
899 | parenthesis fix for GCC 4.5 compilation. |
---|
900 | |
---|
901 | - G4IntraNucleiCascader.cc: Bug fix nuclear recoil kinematics introduced in |
---|
902 | MHK-20100620. |
---|
903 | |
---|
904 | - G4NucleiModel.cc: Bring MHK-20100620 version back to HEAD, apply ctor |
---|
905 | argument fix. Eliminate creating temporaries for terminal "partners" on |
---|
906 | list; default ctor will take care of it. Hide negative path-length report |
---|
907 | behind verbose flag, and don't return an empty list. |
---|
908 | |
---|
909 | Add block of code in ::boundaryTransition() which recoils the nucleus when |
---|
910 | the secondary is reflected off the potential, to balance the momentum |
---|
911 | transfer. This is implemented by computing the boost for the full nucleus |
---|
912 | using the computed three-momentum transfer, and applying that boost to the |
---|
913 | secondary. |
---|
914 | |
---|
915 | 23 June 2010 Michael Kelsey (hadr-casc-V09-03-50) |
---|
916 | ------------------------------------------------- |
---|
917 | - G4IntraNucleiCascader.cc: Restore G4NucleiModel as local data member. |
---|
918 | Not well designed for reuse. |
---|
919 | |
---|
920 | 21 June 2010 Michael Kelsey (hadr-casc-V09-03-49) |
---|
921 | ------------------------------------------------- |
---|
922 | NOTE: Changes below were version jumped into V09-03-48. Tag above ONLY |
---|
923 | includes these two changes! |
---|
924 | |
---|
925 | - G4CascadeInterface.cc: Add parentheses in main iteration loop to support |
---|
926 | mixed && and || (reported by gcc-4.5). |
---|
927 | |
---|
928 | - G4NucleiModel.cc: Fix mistake in passing ctor args to generateModel(). |
---|
929 | |
---|
930 | 20 June 2010 Michael Kelsey (MHK-20100620) |
---|
931 | ------------------------------------------ |
---|
932 | - G4CascadeCheckBalance: New utility class to do energy and momentum |
---|
933 | conservation testing. Implemented as a "collider" to resue interface. |
---|
934 | |
---|
935 | - G4CascadeInterface.cc: Use new G4CascadeCheckBalance for energy |
---|
936 | conservation. |
---|
937 | |
---|
938 | - G4CollisionOutput: Add setVerboseLevel() function, diagnostic reports in |
---|
939 | ::setOnShell(), and collapse if-cascades to use "if (!xxx) return" instead |
---|
940 | of multiple nestings. |
---|
941 | |
---|
942 | - G4ElementaryParticleCollider.cc: Collapse if-cascade to use "if (!xxx) |
---|
943 | return" instead of multiple nestings. |
---|
944 | |
---|
945 | - G4IntraNucleiCascader.cc: Improve diagnostic messages, change some G4cout |
---|
946 | to G4cerr. |
---|
947 | |
---|
948 | - G4InuclCollider: Make output buffers data members to reduce churn; |
---|
949 | simplify if-cascades to use "if (!xxx) return" instead of nesting; add |
---|
950 | energy-conservation checks at each stage of cascade. |
---|
951 | |
---|
952 | - G4NucleiModel.cc: Improve diagnostics, collapse if-cascades to use "if |
---|
953 | (!xxx) return" instead of multiple nestings. |
---|
954 | |
---|
955 | 18 June 2010 Michael Kelsey (hadr-casc-V09-03-48) |
---|
956 | ------------------------------------------------- |
---|
957 | - G4CascadeInterface.cc: Add check on energy conservation between initial |
---|
958 | and final states; more than 5% imbalance triggers repeat generation of |
---|
959 | cascade. This check may be disabled with flag G4CASCADE_SKIP_ECONS. Also |
---|
960 | did some minor cleanup of the code. |
---|
961 | |
---|
962 | - cascade/GNUmakefile: Add support for new flag above. |
---|
963 | |
---|
964 | 17 June 2010 Michael Kelsey (hadr-casc-V09-03-47) |
---|
965 | ------------------------------------------------- |
---|
966 | - G4CascadeInterface, G4PreCompoundCascadeInterface: Make G4InuclCollider a |
---|
967 | local data member, pass verbosity to it in ::ApplyYourself(). |
---|
968 | |
---|
969 | - G4InuclCollider, G4ElementaryParticleCollider, G4IntraNucleiCascader, |
---|
970 | G4EquilibriumEvaporator, G4BigBanger: Make all sub-colliders local data |
---|
971 | members, pass verbosity to each of them. |
---|
972 | |
---|
973 | - G4NucleiModel: Add ctors and generateModel() signatures so both can do |
---|
974 | particle or A/Z initialization. Add setVerboseLevel() function. |
---|
975 | |
---|
976 | 17 June 2010 Michael Kelsey (hadr-casc-V09-03-46) |
---|
977 | ------------------------------------------------- |
---|
978 | - cascade/GNUmakefile: Add series of "ifneq (,...)" blocks to map |
---|
979 | environment variables for debugging onto "-D..." compiler flags: |
---|
980 | |
---|
981 | G4CASCADE_COULOMB_DEV |
---|
982 | G4CASCADE_DEBUG_CHARGE |
---|
983 | G4CASCADE_DEBUG_INTERFACE |
---|
984 | G4CASCADE_DEBUG_SORT |
---|
985 | G4CASCADE_WATCHER_HIGHZ |
---|
986 | |
---|
987 | - G4CascadeInterface.cc: Replace preprocessor flags "debug_G4...Interface" |
---|
988 | with G4CASCADE_DEBUG_INTERFACE, and "BERTDEV" with G4CASCADE_COULOMB_DEV. |
---|
989 | Fix bug with information access in debugging block. |
---|
990 | |
---|
991 | - G4EquilibriumEvaporator.cc, G4IntraNucleiCascader.cc, |
---|
992 | G4NonEquilibriumEvaporator.cc: Eliminate preprocessor flag RUN and all |
---|
993 | code contained in "#else" blocks. |
---|
994 | |
---|
995 | - G4LorentzConverter.cc: Add diagnostic output with different levels: All |
---|
996 | " >>>" entry messages done for verboseLevel >= 1; all numeric reports for |
---|
997 | verboseLevel > 2. |
---|
998 | |
---|
999 | - G4NucleiModel: Replace preprocessor flag "CHC_CHECK" with |
---|
1000 | G4CASCADE_DEBUG_CHARGE. |
---|
1001 | |
---|
1002 | - G4PreCompoundCascadeInterface.cc: Replace preprocessor flag |
---|
1003 | "debug_G4...Interface" with G4CASCADE_DEBUG_INTERFACE. Fix bug with |
---|
1004 | information access in debugging block. |
---|
1005 | |
---|
1006 | - G4WatcherGun.cc: Replace preprocessor flag "PB" with G4CASCADE_WATCHER_HIGHZ. |
---|
1007 | |
---|
1008 | 16 June 2010 Michael Kelsey |
---|
1009 | --------------------------- |
---|
1010 | - G4CascadeInterface.hh: Add setVerboseLevel() function. |
---|
1011 | |
---|
1012 | - G4IntraNucleiCascader.cc: Add reporting of momentum content for residual |
---|
1013 | nuclear fragment, list of final-state particles, some cleanup of momentum |
---|
1014 | balancing code. |
---|
1015 | |
---|
1016 | - G4LorentzConvertor: Add reporting of bullet and target four-vectors. |
---|
1017 | |
---|
1018 | - G4NucleiModel.cc: Add diagnostic output for partner-list generation, |
---|
1019 | replace one random-angle code block with generateWithRandomAngles(). |
---|
1020 | |
---|
1021 | 15 June 2010 Michael Kelsey (hadr-casc-V09-03-45) |
---|
1022 | ------------------------------------------------- |
---|
1023 | - G4CascadeInterface.cc, G4PreCompoundCascadeInterface.cc: When converting |
---|
1024 | output particles from K0/K0bar to K0S/K0L, convert kinetic energy from |
---|
1025 | Bertini internal units (GeV) to GEANT4 units (MeV). |
---|
1026 | |
---|
1027 | - G4VCascadeCollider: Make two separate ctors, name and name+verbose, with |
---|
1028 | no default values. All subclasses *must* provide a literal name string. |
---|
1029 | |
---|
1030 | 12 June 2010 Michael Kelsey (hadr-casc-V09-03-44) |
---|
1031 | ------------------------------------------------- |
---|
1032 | - G4CascadeT33piNChannel.cc: Swapped 8-body final state tables for pipP |
---|
1033 | vs. pimN. |
---|
1034 | |
---|
1035 | 11 June 2010 Michael Kelsey (hadr-casc-V09-03-43) |
---|
1036 | ------------------------------------------------- |
---|
1037 | - G4CascadeData.hh: Equally trivial fix for compiler warking on Intel ICC |
---|
1038 | for index[] array bounds in ::initialize(). Dimension array as [9], and |
---|
1039 | set all values. |
---|
1040 | |
---|
1041 | 08 June 2010 Gunter Folger (hadr-casc-V09-03-42) |
---|
1042 | ------------------------------------------------ |
---|
1043 | - trivial fix for compiler warning on gcc43 on empty body in for(...) in |
---|
1044 | cascade/include/G4CascadeInterpolator.icc:67 |
---|
1045 | |
---|
1046 | 01 June 2010 Michael Kelsey (hadr-casc-V09-03-41) |
---|
1047 | ------------------------------------------------- |
---|
1048 | - paraMaker.cc: Fix vector initialization for Windows crash. |
---|
1049 | |
---|
1050 | 26 May 2010 Dennis Wright (hadr-casc-V09-03-40) |
---|
1051 | ----------------------------------------------- |
---|
1052 | - G4NucleiModel: remove conversion to fm, and conversion of cross |
---|
1053 | sections to fm**2 |
---|
1054 | |
---|
1055 | 21 May 2010 Michael Kelsey (hadr-casc-V09-03-39) |
---|
1056 | ------------------------------------------------ |
---|
1057 | Final tag for inclusion in GEANT 4.9.4-beta. Will be validated internal and |
---|
1058 | included in global Hadronics tag. |
---|
1059 | |
---|
1060 | - G4CascadeSampler.icc: Activate time-saving checks on single bins. |
---|
1061 | - G4ElementaryParticleCollider.cc: Remove special case for nucleon elastic |
---|
1062 | scattering. |
---|
1063 | |
---|
1064 | 21 May 2010 Michael Kelsey (kelsey-20100521c) |
---|
1065 | --------------------------------------------- |
---|
1066 | - G4CascadeInterface, G4PreCompoundCascadeInterface, G4InuclEvaporation: |
---|
1067 | Simplify code: fetch G4DynamicParticle out of outgoing G4InuclParticles, |
---|
1068 | rather than creating new ones. Remove all of the *Collider data members |
---|
1069 | (instantiated within G4InuclCollider). Move final state rotations to |
---|
1070 | G4CollisionOutput. |
---|
1071 | |
---|
1072 | - G4InuclParticle: Provide accessor to return G4DynamicParticle. |
---|
1073 | |
---|
1074 | - G4CollisionOutput: Add function to apply LorentzRotation to both lists; |
---|
1075 | used by G4CascadeInterface. |
---|
1076 | |
---|
1077 | - G4ElementaryParticleCollider: Avoid memory churn with G4LorentzVector |
---|
1078 | temporaries. |
---|
1079 | |
---|
1080 | 21 May 2010 Michael Kelsey (kelsey-20100521b) |
---|
1081 | --------------------------------------------- |
---|
1082 | - G4VCascadeCollider: New base class for all Colliders. Carries |
---|
1083 | verboseLevel data member and set-function. ::collide() is pure virtual. |
---|
1084 | Additional protected member functions will be defined to include all code |
---|
1085 | shared across multiple Colliders. |
---|
1086 | |
---|
1087 | - Migrate all of the "Collider" factories to use new base class, removing |
---|
1088 | common member functions, and replace passed-in sibling colliders with |
---|
1089 | local data members (pointers for now). Since none of these classes have |
---|
1090 | persistent (state preserving) data members, the cost of more than one |
---|
1091 | instantiation is minimal. |
---|
1092 | |
---|
1093 | G4BigBanger |
---|
1094 | G4ElementaryParticleCollider |
---|
1095 | G4EquilibriumEvaporator |
---|
1096 | G4EvaporationInuclCollider |
---|
1097 | G4Fissioner |
---|
1098 | G4IntraNucleiCascader |
---|
1099 | G4InuclCollider |
---|
1100 | G4NonEquilibriumEvaporator |
---|
1101 | G4PreCompoundInuclCollider |
---|
1102 | |
---|
1103 | - G4CascadeInterface.cc, G4InuclEvaporation.cc, |
---|
1104 | G4PreCompoundCascadeInterface.cc: Remove siblings from constructors for |
---|
1105 | the Colliders. |
---|
1106 | |
---|
1107 | - G4InteractionCase.hh: Eliminate unnecessary copying of std::pair<>'s, use |
---|
1108 | initializers in ctors, add clear() function to reset to 0-0-0. Move |
---|
1109 | evaluation of bullet vs. target to new set() function, replacing separate |
---|
1110 | bulletTargetSetter() in the colliders. Add boolean accessors to avoid |
---|
1111 | hard-coding inter_case values. Change code numbers so nucleus collisions |
---|
1112 | are negative, and positive codes refer to the "is" or "rtype" numbers. |
---|
1113 | |
---|
1114 | - G4ElementaryParticleCollider.cc: Use G4InteractionCase to compute "is", |
---|
1115 | instead of hardwiring the meaning. |
---|
1116 | |
---|
1117 | - G4Collider.hh: Remove empty and never-used file. |
---|
1118 | |
---|
1119 | - G4EvaporationInuclCollider.cc: Eliminate unnecessary creation of |
---|
1120 | duplicate G4InuclNuclei: pass input through to G4EquilibriumEvaporator. |
---|
1121 | |
---|
1122 | - G4LorentzConvertor: Add interfaces to pass G4InuclParticles directly. |
---|
1123 | |
---|
1124 | 21 May 2010 Michael Kelsey (kelsey-20100521a) |
---|
1125 | --------------------------------------------- |
---|
1126 | Replace hand-coded interpolation of arrays with use of G4CascadeInterpolator. |
---|
1127 | In all cases, local arrays are replaced with static const, and the |
---|
1128 | interpolator object itself is declared static, to reduce memory churn. |
---|
1129 | |
---|
1130 | G4NucleiModel::totalCrossSection() |
---|
1131 | G4EquilibriumEvaporator::getQF() |
---|
1132 | G4InuclSpecialFunctions::paraMaker[Truncated]() (in paraMaker.cc) |
---|
1133 | |
---|
1134 | - G4CascadSpecialFunctions: Remove. totalCrossSection() redundant with |
---|
1135 | G4NucleiModel. Move absorptionCrossSection() to G4NucleiModel. |
---|
1136 | |
---|
1137 | - G4CascadeInterpolator.icc: Bug fix to catch special case of exact upper |
---|
1138 | bin edge (occurs when !doExtrapolation). If index == last + 0., just |
---|
1139 | return upper edge value, without calculation. |
---|
1140 | |
---|
1141 | - G4NucleiModel.cc: Use G4Cascade{Pi*}Channel and G4Cascade{NN,NP,PP}Channel |
---|
1142 | classes to get total cross-sections for pi-N and N-N scattering. Arrays |
---|
1143 | for kaon and hyperon scattering should be migrated as well, once binning |
---|
1144 | is resolved. Move absorptionCrossSection() here from SpecialFunctions. |
---|
1145 | |
---|
1146 | 20 May 2010 Michael Kelsey (kelsey-20100521) |
---|
1147 | -------------------------------------------- |
---|
1148 | - G4CascadeInterpolator.icc: Two bug fixes involving values at array edges. |
---|
1149 | |
---|
1150 | 19 May 2010 Michael Kelsey, Dennis Wright |
---|
1151 | ----------------------------------------- |
---|
1152 | - G4BertiniData.hh,.cc: Remove unused and unnecessary class. |
---|
1153 | - G4NucleiModel.cc: convert nuclear radii to fm and cross sections to |
---|
1154 | fm**2. Use six-zone model for A > 99, and make alpha a 1-zone |
---|
1155 | nucleus. |
---|
1156 | - G4CascadSpecialFunctions: convert pion absorption cross sections from |
---|
1157 | mb to fm**2, correct spelling of method absorptionCrossSection |
---|
1158 | |
---|
1159 | 17 May 2010 Michael Kelsey (hadr-casc-V09-03-38) |
---|
1160 | ------------------------------------------------ |
---|
1161 | - paraMaker.cc (G4InuclSpecialFunctions::paraMaker[Truncated]): Upper edge |
---|
1162 | of interpolation array not properly handled. Should be "if (Z >= 70.0)". |
---|
1163 | This affects G4NonEquilibriumEvaporator output. |
---|
1164 | |
---|
1165 | 17 May 2010 Michael Kelsey (hadr-casc-V09-03-37) |
---|
1166 | ------------------------------------------------ |
---|
1167 | Bug fixes for compiler warnings (not seen on MacOSX, even with g++ -Wall) |
---|
1168 | |
---|
1169 | - G4CascadeData.hh: Dummy arrays needed double-braces for initialization. |
---|
1170 | |
---|
1171 | - G4CascadeInterpolator.icc: Extraneous decimal point in "for (i=0.;". |
---|
1172 | |
---|
1173 | - G4CascadeKzeroBarNChannel.cc: Left three "old" arrays in place during |
---|
1174 | conversion. |
---|
1175 | |
---|
1176 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-36) |
---|
1177 | ------------------------------------------------ |
---|
1178 | Remove obsolete files following reorganization of two-body scattering |
---|
1179 | lookup tables. |
---|
1180 | |
---|
1181 | G4CascadeElasticInterface.hh,.cc |
---|
1182 | G4ElasticCascadeInterface.hh,.cc |
---|
1183 | G4FinalStateSampler.hh,.cc |
---|
1184 | G4NucleonSampler.hh,.cc |
---|
1185 | G4PionSampler.hh,.cc |
---|
1186 | |
---|
1187 | - G4CascadeChannel.hh,.cc: All functionality removed, replaced with |
---|
1188 | namespace containing only getQnums and CheckQnums validation functions. |
---|
1189 | |
---|
1190 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-35) |
---|
1191 | ------------------------------------------------ |
---|
1192 | Replace independent parallel samplers with templated base class and single |
---|
1193 | implementation. This completes the reorganization of the channel tables. |
---|
1194 | |
---|
1195 | - G4CascadeSampler: Redefine as templated base, taking binning array as |
---|
1196 | constructor argument. Move implementation file from .cc to .icc. |
---|
1197 | NOTE: G4CascadeSampler.cc is removed, since not consistent with new .hh. |
---|
1198 | |
---|
1199 | - G4PionNucSampler: Subclass of G4CascadeSampler<30>, replaces |
---|
1200 | G4FinalStateSampler, using bins array from there. |
---|
1201 | |
---|
1202 | - G4KaonNucSampler: Sublcass of G4CascadeSampler<31>, replaces previous |
---|
1203 | G4CascadeSampler, using bins array from there. |
---|
1204 | |
---|
1205 | - G4Cascade*Channel.hh: Change all typedefs to pass appropriate of two new |
---|
1206 | samplers in template. |
---|
1207 | |
---|
1208 | - G4ElementaryParticleCollider.cc: Replace long "if (is==)"-cascades with |
---|
1209 | switch blocks. Move all getOutgoing calls (for pions and nucleons) into |
---|
1210 | one function, and call it from outside multiplicity checks. Use |
---|
1211 | G4CascadeInterpolator for angular distributions. Set modelID=3 in all |
---|
1212 | G4InuclParticle constructions. |
---|
1213 | |
---|
1214 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-34) |
---|
1215 | ------------------------------------------------ |
---|
1216 | Extract lookup tables from G4PionSampler and G4NucleonSampler into |
---|
1217 | individual "classes" defined and initialized with G4CascadeData. |
---|
1218 | |
---|
1219 | - G4CascadePi{Plus,Minus,Zero}{P,N}Channel.hh: Six new typedefs defined as |
---|
1220 | with the existing G4CascadeXXXChannel, to replace G4PionSampler. |
---|
1221 | |
---|
1222 | - G4CascadeT33piNChannel.cc: Lookup tables for both PiPlusP and PiMinusN, |
---|
1223 | implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc. |
---|
1224 | |
---|
1225 | - G4CascadeT31piNChannel.cc: Lookup tables for both PiMinusP and PiPlusN, |
---|
1226 | implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc |
---|
1227 | |
---|
1228 | - G4CascadeT11pizNChannel.cc: Lookup tables for both PiZeroP and PiZeroN, |
---|
1229 | implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc |
---|
1230 | |
---|
1231 | - G4Cascade{PP,NP,NN}Channel.hh: Three new typedefs defined as with the |
---|
1232 | existing G4CascadeXXXChannel, to replace G4NucleonSampler. |
---|
1233 | |
---|
1234 | - G4CascadeT1NNChannel.cc: Lookup tables for both p-p and n-n scattering, |
---|
1235 | implemented as with existing G4CascadeXXXChannel, from G4NucleonSampler.cc |
---|
1236 | |
---|
1237 | - G4CascadeT0npChannel.cc: Lookup tables for p-n scattering, implemented as |
---|
1238 | with existing G4CascadeXXXChannel, from G4NucleonSampler.cc |
---|
1239 | |
---|
1240 | - G4CascadeFunctions.hh, .icc: Pass std::vector as non-const argument to |
---|
1241 | getOutgoingParticleTypes() instead of returning internal buffer. |
---|
1242 | |
---|
1243 | - G4CascadeSampler.cc, G4FinalStateSampler.cc: Add some checks in |
---|
1244 | findFinalStateIndex, fillSigmaBuffer, and sampleFlat(), such that |
---|
1245 | single-entry ranges don't go through the analysis, just return index 0. |
---|
1246 | |
---|
1247 | - G4ElementaryParticleCollider.cc: Follow change to getOutgoingParticleTypes() |
---|
1248 | in generateStrangeChannelPartTypes(). Replace all uses of G4PionSampler |
---|
1249 | and G4NucleonSampler with new channel "classes". |
---|
1250 | |
---|
1251 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-33) |
---|
1252 | ------------------------------------------------ |
---|
1253 | Continue consolidation of two-body collision lookup tables. Unify |
---|
1254 | interfaces between pion/nucleon and kaon/hyperon samplers. |
---|
1255 | |
---|
1256 | - G4CascadeData: Many changes to support use as data class for both |
---|
1257 | kaon/hyperon and pion/nucleon tables (migration will be next tag): |
---|
1258 | |
---|
1259 | 1) Add new first argument to template with number of bins in energy |
---|
1260 | interpolation. This replaces the (temporary) use of |
---|
1261 | G4CascadeSampler::energyBins within the class definition. |
---|
1262 | |
---|
1263 | 2) Add two additional template arguments, N8 and N9, with default values |
---|
1264 | of zero. These will be used by the pion/nucleon tables, but not by the |
---|
1265 | existing kaon/hyperon tables. |
---|
1266 | |
---|
1267 | 3) Define additional arrays for 8- and 9-body final states, using |
---|
1268 | conditional dimensioning (e.g., if N8==0, use [1]). Define second |
---|
1269 | 9-body constructor to accept and initialize the new arrays. |
---|
1270 | |
---|
1271 | 4) Eliminate static intialization of index[], moving it into |
---|
1272 | initialize(). Template specialization can't be used with data! |
---|
1273 | |
---|
1274 | 5) Add separate "sum" (summed N-body cross-sections) and "tot" arrays |
---|
1275 | (measured inclusive xsec). Latter is a const-ref, initialized to "sum" |
---|
1276 | if not provided as ctor argument, with two new ctors as needed. |
---|
1277 | |
---|
1278 | 6) Add accessor to return maximum multiplicity (NM+1). |
---|
1279 | |
---|
1280 | - G4CascadeFunctions.hh: Add second template argument to specify which |
---|
1281 | "final state sampler" is the base class. Use both T::data.tot and |
---|
1282 | T::data.sum in GetMultiplicity(), to support sum/tot comparisons in |
---|
1283 | pion/nucleon channels. Extend GetOutputParticleTypes() to support up to |
---|
1284 | multiplicity 9. |
---|
1285 | |
---|
1286 | - G4CascadeFunctions.icc: Implementations of template class functions. |
---|
1287 | |
---|
1288 | - G4CascadeXXXChannel.hh: Add "31," as initial template argument for Data. |
---|
1289 | Add G4CascadeSampler as second template argument in G4CascadeXXXChannel |
---|
1290 | typedef. |
---|
1291 | |
---|
1292 | |
---|
1293 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-32) |
---|
1294 | ------------------------------------------------ |
---|
1295 | Continue revisions to two-body collision lookup tables. Make the kaon and |
---|
1296 | hyperon channels compatible with the pion/nucleon samplers, before the next |
---|
1297 | stage of unifying the structure. |
---|
1298 | |
---|
1299 | - G4CascadeSampler: NEW class, parallel to G4FinalStateSampler but with a |
---|
1300 | different energy binning. Used as base class to G4CascadeFunctions<T>, |
---|
1301 | from which the cross-section and other arrays are passed. Implement |
---|
1302 | findMultiplicity (cf. G4CascadeFunctions::getMultiplicity) to return the |
---|
1303 | true value, not the array index. |
---|
1304 | |
---|
1305 | This class replaces functionality of G4CascadeChannel, which is redundant. |
---|
1306 | |
---|
1307 | - G4CascadeChannel: Remove all interpolation code, leaving only getQnums(). |
---|
1308 | |
---|
1309 | - G4CascadeFunctions: Inherit from G4CascadeSampler for interpolations, |
---|
1310 | except for final-state extraction (where FS type arrays are dealt with |
---|
1311 | locally, not passed). Public static functions rely on private instantiated |
---|
1312 | version of class to do work, so that G4CascadeSampler gets instantiated. |
---|
1313 | |
---|
1314 | - G4CascadeData: Remove final template argument (total number of indices), |
---|
1315 | as redundant with simple sum of multplicity indices. Use template args to |
---|
1316 | dimension data member arrays (const references), and to statically |
---|
1317 | initialize the start-stop index table. Make large cross-sections table |
---|
1318 | G4double, not G4float. Define ctor to pass in array refs for initialization. |
---|
1319 | Reduce index array to single dimension (start=index[i], stop=index[i+1]). |
---|
1320 | |
---|
1321 | - G4CascadeXXXChannel: All of the initial-state channel "classes" |
---|
1322 | (typedef names) modified to follow G4CascadeData rewrite. In .cc file, |
---|
1323 | the explicit lookup tables are static, and passed by const-ref to |
---|
1324 | G4CascadeData. The "initializer" struct is dropped; with the static |
---|
1325 | "data" object initialized by ctor here. |
---|
1326 | |
---|
1327 | - G4ElementaryParticleCollider.cc: In ::generateMultiplicity(), eliminate |
---|
1328 | extra "+2" and "-2" applied to local "mul" variables. With change above, |
---|
1329 | all functions return return true multiplicity, not array index. |
---|
1330 | |
---|
1331 | - G4FinalStateSampler: Add findFinalStateIndex() function, to make |
---|
1332 | interface match G4CascadeSampler exactly. Reduce index array to single |
---|
1333 | dimension. |
---|
1334 | |
---|
1335 | - G4PionSampler.cc, G4NucleonSampler.cc: Use new findFinalStateIndex() |
---|
1336 | function in GetFSPartTypesXXX() functions. Reduce index array to single |
---|
1337 | dimension (start=index[i], stop=index[i+1]). |
---|
1338 | |
---|
1339 | 14 May 2010 Michael Kelsey (hadr-casc-V09-03-31) |
---|
1340 | ------------------------------------------------ |
---|
1341 | Begin revisions to two-body collision lookup tables. This will be a major |
---|
1342 | reorganization, splitting the G4PionSampler and G4NucleonSampler into |
---|
1343 | separate little "classes" (typedefs) for each initial state, in the same way |
---|
1344 | that the kaon and hyperon states are done now. The underlying templated and |
---|
1345 | base classes will be unified across all of the channels. |
---|
1346 | |
---|
1347 | - G4CascadeInterpolator: NEW class to encapsulate interpolation procedure. |
---|
1348 | Uses C-style arrays passed by dimensioned reference, to allow compile-time |
---|
1349 | array bounds checking. Template argument is array dimension, and array of |
---|
1350 | energy bins is saved by ctor. User array to be interpolated is passed as |
---|
1351 | function argument. Last value interpolated, along with result, is saved, |
---|
1352 | to allow fast multiple interpolations. |
---|
1353 | |
---|
1354 | This class is substantially more lightweight than G4PhysicsVector. |
---|
1355 | |
---|
1356 | - G4FinalStateSampler: Replace manual interpolation with G4CascadeInterpolator. |
---|
1357 | Remove redundant sampleFlat(...) function with argument. Rename member |
---|
1358 | functions in anticipation of merging with G4CascadeFunctions. |
---|
1359 | |
---|
1360 | - G4PionSampler.cc, G4NucleonSampler.cc: Follow use of G4CascadeInterpolator |
---|
1361 | above, and drop local caching of interpolation results. Reduce offset |
---|
1362 | list for cross-sections to one dimension (start=index[i], stop=index[i+1]). |
---|
1363 | |
---|
1364 | 11 May 2010 Michael Kelsey (hadr-casc-V09-03-30) |
---|
1365 | ------------------------------------------------ |
---|
1366 | Bug fixes in the two-body scattering code. |
---|
1367 | |
---|
1368 | - G4PionSampler.cc, G4NucleonSampler.cc: Fix long-standing bug with offset |
---|
1369 | indices computed for cross-section tables. XXXindex[m][0] (start) and |
---|
1370 | XXXindex[m][1] (stop) are computed in initChannels() as [start,stop] |
---|
1371 | inclusive range (i.e., "for (i=start; i<=stop; i++)"), but used with |
---|
1372 | G4FinalStateSampler::fillSigmaBuffer (and its predecessor code) as |
---|
1373 | [start,stop) exclusive range (i.e., normal C style "for (i=start; i<stop; |
---|
1374 | i++)"). This is fixed by properly setting XXXindex[m-1][1] = |
---|
1375 | XXXindex[m][0], and using the ranges consistently in initChannels(). |
---|
1376 | |
---|
1377 | - G4ElementaryParticleCollider.cc: In the six pion-nucleon scatters, the |
---|
1378 | two-body final state is incorrectly tested for charge-exchange. All the |
---|
1379 | if statements check whether "particle_kinds[0]" is the initial nucleon, |
---|
1380 | but the outgoing baryon actually appears in particle_kinds[1]. Replace |
---|
1381 | the individual tests with the use of "finaltype", moved out of the |
---|
1382 | strangeness if-block. |
---|
1383 | |
---|
1384 | 06 May 2010 Michael Kelsey (hadr-casc-V09-03-29, hadr-casc-V09-03-23-01) |
---|
1385 | ------------------------------------------------------------------------ |
---|
1386 | - G4Diproton.cc, G4Dineutron.cc, G4UnboundPN.cc: After creating instance |
---|
1387 | of these "internal" particles, remove the pointer from G4ParticleTable. |
---|
1388 | This avoids an issue with the FTFP de-excitation code, which occasionally |
---|
1389 | picks up the diproton and puts it onto a final-state particle list. |
---|
1390 | |
---|
1391 | These three changes, and nothing else, are "backported" on top of -23 for |
---|
1392 | continued validation tests. |
---|
1393 | |
---|
1394 | 30 Apr 2010 Dennis Wright (hadr-casc-V09-03-28) |
---|
1395 | ----------------------------------------------- |
---|
1396 | - G4ElementaryParticleCollider: |
---|
1397 | improved pi-nucleon two-body angular distributions, and made |
---|
1398 | sampling of CM angle faster. As a result, the methods |
---|
1399 | getElasticCase and adjustIntervalForElastic were made redundant |
---|
1400 | and removed. Also removed array containing old angular distribution |
---|
1401 | parameters. |
---|
1402 | |
---|
1403 | Now use nucleon-nucleon angular distributions for hyperon-nucleon |
---|
1404 | scattering, and pi-nucleon dsitributions for kaon-nucleon scattering |
---|
1405 | (until specific kaon distributions are added). |
---|
1406 | |
---|
1407 | 29 Apr 2010 Michael Kelsey (hadr-casc-V09-03-27) |
---|
1408 | ------------------------------------------------ |
---|
1409 | - G4InuclPartcleNames.hh: Long name "gamma" conflicts with math function. |
---|
1410 | Change back to "photon". |
---|
1411 | |
---|
1412 | - G4InuclElementaryParticle.cc, G4InuclEvaporation.cc, |
---|
1413 | G4NonEquilibriumEvaporator.cc, G4NucleiModel.cc, G4NucleonSampler.cc, |
---|
1414 | G4PionSampler.cc, G4PreCompoundCascadeInterface.cc, |
---|
1415 | G4PreCompoundInuclCollider.cc: Replace "gamma" with "photon". |
---|
1416 | |
---|
1417 | - G4InuclElementaryParticle.hh: Change "photon()" to "isPhoton()" to avoid |
---|
1418 | conflicts with names enum. Use names enum internally as well. |
---|
1419 | |
---|
1420 | - G4ElementaryParticleCollider.cc, G4InuclCollider.cc, |
---|
1421 | G4PreCompoundInuclCollider.cc: Change "photon()" to "isPhoton()". |
---|
1422 | |
---|
1423 | 28 Apr 2010 Michael Kelsey (hadr-casc-V09-03-26) |
---|
1424 | ------------------------------------------------ |
---|
1425 | All changes below within "cascade/" subdirectory: |
---|
1426 | |
---|
1427 | - G4InuclParticleNames.hh: Define enums for particle type codes, using both |
---|
1428 | "long" and "short" names copied from existing duplicated enums. One |
---|
1429 | change is that "kp" and "km" are replaced by "kpl" and "kmi" respectively, |
---|
1430 | since "km" conflicts with GEANT4 "kilometers" unit. Deploy in classes: |
---|
1431 | |
---|
1432 | include/G4FinalStateSampler.hh |
---|
1433 | src/G4CascadeElasticInterface.cc |
---|
1434 | src/G4CascadeInterface.cc |
---|
1435 | src/G4ElasticCascadeInterface.cc |
---|
1436 | src/G4ElementaryParticleCollider.cc |
---|
1437 | src/G4InuclElementaryParticle.cc |
---|
1438 | src/G4InuclEvaporation.cc |
---|
1439 | src/G4NucleonSampler.cc |
---|
1440 | src/G4PionSampler.cc |
---|
1441 | src/G4PreCompoundCascadeInterface.cc |
---|
1442 | |
---|
1443 | - G4InuclElementaryParticle.cc: Add Omega- and antinucleon partcles to lists. |
---|
1444 | No code uses these (yet). |
---|
1445 | |
---|
1446 | 24 April 2010 Michael Kelsey (hadr-casc-V09-03-25) |
---|
1447 | -------------------------------------------------- |
---|
1448 | Remove redundant classes, G4Ibertini and G4BertiniRegionModel. |
---|
1449 | |
---|
1450 | 21 April 2010 Michael Kelsey (hadr-casc-V09-03-24) |
---|
1451 | -------------------------------------------------- |
---|
1452 | - G4NucleiModel.hh,cc: Eliminate last remaining hardwired baryon masses. |
---|
1453 | |
---|
1454 | 18 April 2010 Michael Kelsey (hadr-casc-V09-03-23) |
---|
1455 | -------------------------------------------------- |
---|
1456 | Final revisions to access std::vector<particle> via const-references: |
---|
1457 | |
---|
1458 | G4CascadeInterface.cc |
---|
1459 | G4EquilibriumEvaporator.cc |
---|
1460 | G4IBertini.cc |
---|
1461 | G4InuclCollier.cc |
---|
1462 | G4NucleiModel.cc |
---|
1463 | G4PreCompoundCascadeInterface.cc |
---|
1464 | |
---|
1465 | - G4CollisionOutput: Add new function to boost output lists to lab frame. |
---|
1466 | |
---|
1467 | 14 April 2010 Michael Kelsey (hadr-casc-V09-03-22) |
---|
1468 | -------------------------------------------------- |
---|
1469 | - G4CascadeInterface.cc, G4IBertini.cc, G4PreCompoundCascadeInterface.cc: |
---|
1470 | In ::ApplyYourself(), do the check on K0L/K0S _before_ passing G4PartDefn |
---|
1471 | to G4InuclElemPart::type(). This avoids unnecessary warning message. |
---|
1472 | |
---|
1473 | 14 April 2010 Michael Kelsey (temporary: kelsey-memClean3) |
---|
1474 | ---------------------------------------------------------- |
---|
1475 | All changes below within "cascade/" subdirectory: |
---|
1476 | |
---|
1477 | - G4FinalStateSampler: Replace "sigma" argument for sampling with data |
---|
1478 | member, add functions to fill sigma buffer by passing in array references. |
---|
1479 | Provide typedef for interpolator, and function to apply interpolation. |
---|
1480 | |
---|
1481 | - G4PionSampler, G4NucleonSampler: Follow changes to base class, |
---|
1482 | eliminating much of the copy-and-paste code blocks via function calls. |
---|
1483 | Replace G4float arrays with G4double, to support passing into functions. |
---|
1484 | |
---|
1485 | 13 April 2010 Michael Kelsey (hadr-casc-V09-03-21) |
---|
1486 | -------------------------------------------------- |
---|
1487 | All changes below within "cascade/" subdirectory: |
---|
1488 | |
---|
1489 | - G4InuclSpecialFunctions.hh, paraMaker.cc, paraMakerTruncated.cc: Drop |
---|
1490 | return-by-value from paraMaker() and paraMakerTruncated(). Add second |
---|
1491 | argument with non-const reference to output buffer for return. |
---|
1492 | |
---|
1493 | - G4EquilibriumEvaporator.cc: Follow changes above to paraMaker(), use |
---|
1494 | references to address parms.first and parms.second, instead of copying. |
---|
1495 | |
---|
1496 | - G4NonEquilibriumEvaporator.cc: Follow changes above to |
---|
1497 | paraMakerTruncaed(), use references to address parms.first and |
---|
1498 | parms.second, instead of copying. |
---|
1499 | |
---|
1500 | - G4Dineutron, G4Diproton, G4UnboundPN: Inherit from G4VShortLivedParticle, |
---|
1501 | per Kurashige. Thought it would eliminate G4ElectronOccupancy churn, but |
---|
1502 | did not. |
---|
1503 | |
---|
1504 | 12 April 2010 Michael Kelsey (hadr-casc-V09-03-20) |
---|
1505 | -------------------------------------------------- |
---|
1506 | All changes below within "cascade/" subdirectory: |
---|
1507 | |
---|
1508 | - G4NucleiModel: Move function implementations from .hh to .cc. Replace |
---|
1509 | manual sorting (inefficient O(N^2)) with std::sort() and simple |
---|
1510 | "less-than" function for std::pair<> "partners". |
---|
1511 | |
---|
1512 | - G4CollisionOutput: Move function implementations from .hh to .cc. Use |
---|
1513 | std::vevtor<>::insert() to add vectors together. |
---|
1514 | |
---|
1515 | - Replace return-by-value G4CollisionOutput with non-const reference buffer |
---|
1516 | passed into xxx::collide(), in the following classes: |
---|
1517 | G4BigBanger |
---|
1518 | G4CascadeElasticInterface |
---|
1519 | G4CascadeInterface |
---|
1520 | G4ElasticCascadeInterface |
---|
1521 | G4ElementaryParticleCollider |
---|
1522 | G4EquilibriumEvaporator |
---|
1523 | G4EvaporationInuclCollider |
---|
1524 | G4Fissioner |
---|
1525 | G4IBertini |
---|
1526 | G4IntraNucleiCascader |
---|
1527 | G4InuclCollider |
---|
1528 | G4InuclEvaporation |
---|
1529 | G4NonEquilibriumEvaporator |
---|
1530 | G4NucleiModel |
---|
1531 | G4PreCompoundCascadeInterface |
---|
1532 | G4PreCompoundInuclCollider |
---|
1533 | |
---|
1534 | Note that some places where internal G4CollisionOutput buffers are being |
---|
1535 | used (and their contents appended to the global output) have not been |
---|
1536 | cleaned up yet. These will require some rearrangement of the algorithms, |
---|
1537 | or/and elimination of debugging output. |
---|
1538 | |
---|
1539 | 09 April 2010 Michael Kelsey (hadr-casc-V09-03-16-01) |
---|
1540 | ----------------------------------------------------- |
---|
1541 | This modification is included in a pseudo-patch of hadr-casc-V09-03-16, |
---|
1542 | without brining in any of the -17 through -19 modifications. |
---|
1543 | |
---|
1544 | - G4LorentzVector.cc: Protect two instances of sqrt() against tiny negative |
---|
1545 | arguments (due to tiny-tiny subtractions). |
---|
1546 | |
---|
1547 | 09 April 2010 Michael Kelsey (hadr-casc-V09-03-19) |
---|
1548 | -------------------------------------------------- |
---|
1549 | All changes below within "cascade/" subdirectory: |
---|
1550 | |
---|
1551 | - G4InuclParticle, G4InuclElementaryParticle, G4InuclNuclei: Eliminate |
---|
1552 | unused G4String ctor argument, introduced in hadr-casc-V09-03-01. Causes |
---|
1553 | a lot of pointless memory churn. |
---|
1554 | |
---|
1555 | - G4BigBanger.cc: Fix type conversion warning I introduced by mistake. |
---|
1556 | |
---|
1557 | 08 April 2010 Michael Kelsey (hadr-casc-V09-03-18) |
---|
1558 | -------------------------------------------------- |
---|
1559 | All changes below within "cascade/" subdirectory: |
---|
1560 | |
---|
1561 | - G4PionSampler, G4NucleonSampler: For all ::GetFSPartTypes*() functions, |
---|
1562 | eliminate return-by-value std::vector<>, and pass in non-const reference |
---|
1563 | for filling in situ. Buffer is cleared. |
---|
1564 | |
---|
1565 | - G4ElementaryParticleCollider.cc: Follow changes above for Sampler calls. |
---|
1566 | |
---|
1567 | 07 April 2010 Michael Kelsey (hadr-casc-V09-03-17) |
---|
1568 | -------------------------------------------------- |
---|
1569 | All changes below within "cascade/" subdirectory: |
---|
1570 | |
---|
1571 | Replace return-by-value std::vector<> with either const-ref returns, or |
---|
1572 | with use of an internal buffer which can be reused, to reduce memory |
---|
1573 | churn due to copying, allocation, and resizing. |
---|
1574 | |
---|
1575 | - G4BigBanger: Create data buffer for lists of secondaries and momenta. |
---|
1576 | Fill buffers in ::generateBangInSCM() and ::generateMomentumModules(), |
---|
1577 | which are now non-const. Reference buffers in ::collide(). |
---|
1578 | |
---|
1579 | - G4CascadeFunctions::getOutgoingParticleTypes(): Make "kinds" a static |
---|
1580 | variable (buffer), and return it by const-ref. |
---|
1581 | |
---|
1582 | - G4ElementaryParticleCollider: Eliminate return-by-value std::vector<> |
---|
1583 | on the functions listed below, by creating data buffers for particles, |
---|
1584 | momenta, and particle types. The functions become non-const and void: |
---|
1585 | ::generateSCMfinalState(), ::generateMomModules() |
---|
1586 | ::generateStrangeChannelPartTypes(), ::generateSCMpionAbsorption() |
---|
1587 | |
---|
1588 | Also, in ::generateStrangeChannelPartTypes(), use a switch statement |
---|
1589 | instead of the long cascade of if-else-else. |
---|
1590 | |
---|
1591 | - G4NucleiModel: Several member functions have different modifications: |
---|
1592 | |
---|
1593 | ::initializeCascad(bullet,target) -- Replace return value with a passed-in |
---|
1594 | (non-const reference) buffer to be filled. The calling code can |
---|
1595 | pass in a data member, local variable, or whatever. |
---|
1596 | |
---|
1597 | ::generateParticleFate() -- Replace local "thePartners" variable with data |
---|
1598 | member, filled below. Move "outgouing_cparticles" to data member |
---|
1599 | (fix the spelling!), and return by const-ref. |
---|
1600 | |
---|
1601 | ::generateInteractionPartners() -- Eliminate return value; fill data |
---|
1602 | member instead, to be used by ::generateParticleFate(). |
---|
1603 | |
---|
1604 | - G4IntraNucleiCascader.cc: Follow changes to initializeCascad() above. |
---|
1605 | |
---|
1606 | - G4NucleonSampler, G4PionSampler: ** DON'T KNOW WHAT TO DO HERE ** |
---|
1607 | |
---|
1608 | - G4WatcherGun: Return const-ref to list of watchers, instead of copy. |
---|
1609 | |
---|
1610 | Replace all uses of std::vector<>::resize(0) with ::clear(). The former |
---|
1611 | causes deallocation/reallocation/resizing cycles, while clear() just removes |
---|
1612 | content, preserving the allocated buffer. |
---|
1613 | |
---|
1614 | include/G4CollisionOutput.hh |
---|
1615 | src/G4ElementaryParticleCollider.cc |
---|
1616 | src/G4NucleiModel.cc |
---|
1617 | src/G4WatcherGun.cc |
---|
1618 | |
---|
1619 | 07 April 2010 Dennis Wright (hadr-casc-V09-03-16) |
---|
1620 | ------------------------------------------------- |
---|
1621 | - fix negative energy bug in G4BigBanger, and switch to using |
---|
1622 | G4NucleiProperties::GetBindingEnergy |
---|
1623 | |
---|
1624 | 07 April 2010 Michael Kelsey (hadr-casc-V09-03-15) |
---|
1625 | -------------------------------------------------- |
---|
1626 | All changes below within "cascade/" subdirectory: |
---|
1627 | |
---|
1628 | 1) Systematically replace pass-by-value function arguments with const-refs. |
---|
1629 | This is the first step in reducing unnecessary memory churn, to be followed |
---|
1630 | by replacing return-by-value std::vector<> with non-const argument buffers. |
---|
1631 | |
---|
1632 | include/G4CascadeChannel.hh |
---|
1633 | include/G4FinalStateSampler.hh |
---|
1634 | include/G4InuclEvaporation.hh |
---|
1635 | include/G4NuclWatcher.hh |
---|
1636 | src/G4CascadeChannel.cc |
---|
1637 | src/G4FinalStateSampler.cc |
---|
1638 | src/G4InuclEvaporation.cc |
---|
1639 | src/G4NuclWatcher.cc |
---|
1640 | |
---|
1641 | 2) Fix constness on some operator== and operator!= definitions. |
---|
1642 | |
---|
1643 | include/G4CascadeElasticInterface.hh |
---|
1644 | include/G4CascadeInterface.hh |
---|
1645 | include/G4ElasticCascadeInterface.hh |
---|
1646 | include/G4IBertini.hh |
---|
1647 | include/G4PreCompoundCascadeInterface.hh |
---|
1648 | |
---|
1649 | 07 Apr 2010 Michael Kelsey (hadr-casc-V09-03-14) |
---|
1650 | ------------------------------------------------ |
---|
1651 | - G4Dineutron.hh, G4Diproton.hh, G4UnboundPN.hh: |
---|
1652 | Reset static "theInstance" pointer to zero in (now virtual) destructor. |
---|
1653 | |
---|
1654 | - G4Dineutron.cc, G4Diproton.cc, G4UnboundPN.cc: |
---|
1655 | Implement constructor to do the G4Ions initialization, rather than in |
---|
1656 | ::Definition(). Drop use of G4ParticleTable; just monitor static pointer. |
---|
1657 | Set "ShortLived" flag in G4Ions initialization, to avoid interactions with |
---|
1658 | ProcessManager. |
---|
1659 | |
---|
1660 | - G4InuclNuclei.cc: In ::makeNuclearFragment(), set "ShortLived" flag for |
---|
1661 | G4Ions, to avoid interactions with ProcessManager. |
---|
1662 | |
---|
1663 | 26 Mar 2010 Dennis Wright (hadr-casc-V09-03-13) |
---|
1664 | ----------------------------------------------- |
---|
1665 | - G4EquilibriumEvaporator.cc: remove line #include "G4types.hh" |
---|
1666 | (file doesn't exist) |
---|
1667 | |
---|
1668 | 20 Mar 2010 Michael Kelsey (hadr-casc-V09-03-12) |
---|
1669 | ------------------------------------------------ |
---|
1670 | All changes below within "cascade/" subdirectory: |
---|
1671 | |
---|
1672 | - G4EquilibriumEvaporator.cc: Move subtraction of Q1[i] outside new |
---|
1673 | GetBindingEnergy() call. |
---|
1674 | |
---|
1675 | - G4InuclNuclei.cc::makeNuclearFragment(): Add message warning users about |
---|
1676 | non-physical creation. Use new GetBindingEnergy() function here as well |
---|
1677 | (V09-03-05 didn't have this function, so wasn't included in migration). |
---|
1678 | |
---|
1679 | 19 Mar 2010 Michael Kelsey (hadr-casc-V09-03-11) |
---|
1680 | ------------------------------------------------ |
---|
1681 | All changes below within "cascade/" subdirectory: |
---|
1682 | |
---|
1683 | - G4InuclSpecialFunctions: Two new functions: |
---|
1684 | |
---|
1685 | ::generateWithRandomAngles() to encapsulate random-direction generation. |
---|
1686 | This function and existing generateWithFixedTheta() take optional mass |
---|
1687 | argument to produce proper four-vector. |
---|
1688 | |
---|
1689 | Replace duplicated random angle code with new function above, and use new |
---|
1690 | optional mass argument where available: |
---|
1691 | |
---|
1692 | G4BigBanger.cc |
---|
1693 | G4ElementaryParticleCollider.cc |
---|
1694 | G4EquilibriumEvaporator.cc |
---|
1695 | G4Fissioner.cc |
---|
1696 | G4NonEquilibriumEvaporator.cc |
---|
1697 | G4NucleiModel.cc |
---|
1698 | |
---|
1699 | ::G4cbrt(): Define cube-root in terms of log and exp, rather than pow(). |
---|
1700 | Note that "cbrt()" can't be used, as it conflicts with <math.h> on Linux. |
---|
1701 | |
---|
1702 | Eliminate unnecessary uses of std::pow() with fixed arguments. For |
---|
1703 | example, "pow(x,3)" -> "x*x*x", "pow(x,1/3)" -> G4cbrt(x): |
---|
1704 | |
---|
1705 | G4BertiniRegionModel.cc |
---|
1706 | G4EquilibriumEvaporator.cc |
---|
1707 | G4EvaporationInuclCollider.cc |
---|
1708 | G4Fissioner.cc |
---|
1709 | G4IntraNucleiCascader.cc |
---|
1710 | G4InuclCollider.cc |
---|
1711 | G4NonEquilibriumEvaporator.cc |
---|
1712 | G4NucleiModel.cc |
---|
1713 | G4PreCompoundInuclCollider.cc |
---|
1714 | G4RegionModel.cc |
---|
1715 | bindingEnergyAsymptotic.cc |
---|
1716 | bindingEnergyKummel.cc |
---|
1717 | |
---|
1718 | WARNING! In G4IntraNucleiCascader.cc, the Coulomb barrier was calculated |
---|
1719 | using "std::pow(A, 0.333)", rather than the "exact" 1./3. This leads to |
---|
1720 | per-mil differences in the value, and occasional differences in wheter an |
---|
1721 | outgoing particle tunnels through. The new code is exact to double |
---|
1722 | precision, and therefore fixes a bug. |
---|
1723 | |
---|
1724 | - Move "using" directive from all .hh files to corresponding .cc, along with |
---|
1725 | some unnecessary #includes: |
---|
1726 | |
---|
1727 | G4BigBanger.hh, .cc |
---|
1728 | G4ElementaryParticleCollider.hh, .cc |
---|
1729 | G4EquilibriumEvaporator.hh, .cc |
---|
1730 | G4EvaporationInuclCollider.hh, .cc |
---|
1731 | G4Fissioner.hh, .cc |
---|
1732 | G4IntraNucleiCascader.hh, .cc |
---|
1733 | G4InuclCollider.hh |
---|
1734 | G4InuclNuclei.hh |
---|
1735 | G4NonEquilibriumEvaporator.hh, .cc |
---|
1736 | G4NucleiModel.hh, .cc |
---|
1737 | G4PreCompoundInuclCollider.hh, .cc |
---|
1738 | |
---|
1739 | - G4NuclWatcher.hh and .cc (new): Move implementation code from .hh to .cc. |
---|
1740 | |
---|
1741 | 18 March 2010 Michael Kelsey (hadr-casc-V09-03-10) |
---|
1742 | -------------------------------------------------- |
---|
1743 | All changes below within "cascade/" subdirectory: |
---|
1744 | |
---|
1745 | Missed one bug in repairs below, found when testing 4 GeV pi -> Pb. |
---|
1746 | |
---|
1747 | - G4Fissioner.cc: Replace incorrect G4LorentzVector ctor arguments |
---|
1748 | (G4ThreeVector,m) with call to G4LV::setVectM(). |
---|
1749 | |
---|
1750 | 17 March 2010 Dennis Wright (hadr-casc-V09-03-09) |
---|
1751 | ------------------------------------------------- |
---|
1752 | Fix warning in G4InuclNuclei.cc: G4Ions:G4Ions was being called with |
---|
1753 | a double (a) in its 13th argument, when an integer is required. Use |
---|
1754 | G4lrint to convert. |
---|
1755 | |
---|
1756 | 16 March 2010 Michael Kelsey (hadr-casc-V09-03-08) |
---|
1757 | -------------------------------------------------- |
---|
1758 | All changes below within "cascade/" subdirectory: |
---|
1759 | |
---|
1760 | Fix bugs introduced during migration from G4CascadeMomentum to |
---|
1761 | G4LorentzVector (see hadr-casc-V09-03-03). With these bug fixes, 2000 |
---|
1762 | events generated with "ppi4GeV" test executable are equivalent to production |
---|
1763 | output (GEANT 4.9.3), allowing for differences in hardwired nucleon masses. |
---|
1764 | When compared with hadr-casc-V09-03-02 (which uses G4ParticleDefinition for |
---|
1765 | all the particle masses) the 2000-event results are identical within |
---|
1766 | floating point precision. |
---|
1767 | |
---|
1768 | - G4BigBanger.cc: Line 72, fix unit conversion bug, GeV/MeV vs. MeV/GeV. |
---|
1769 | Replace incorrectly introduced cross-product with original vector |
---|
1770 | manipulation, written with G4LorentzVector accessors. |
---|
1771 | |
---|
1772 | - G4CollisionOutput::selectPairToTune(): Test on "i3>0" not appropriate with |
---|
1773 | G4LorentzVector indexing. Replace with failure-test on "i3<0". Also |
---|
1774 | simplify final if-cascade for readability. |
---|
1775 | |
---|
1776 | - G4EquilibriumEvaporator.cc: Replace incorrect G4LorentzVector ctor |
---|
1777 | arguments (px,py,pz,m) with call to G4LV::setVectM(). |
---|
1778 | |
---|
1779 | - G4IntraNuclearCascader.cc: Replace leftover momentum_out[0] with .e(). |
---|
1780 | |
---|
1781 | - G4InuclNuclei.cc,hh: Add new function ::makeNuclearFragment(a,z,exc), |
---|
1782 | which "manually" construct a G4Ions object for cases where A/Z is not a |
---|
1783 | valid stable or unstable nucleus. These unphysical objects are passed |
---|
1784 | back from G4IntraNuclearCascader.cc and immediately passed to G4BigBanger |
---|
1785 | for conversion to nucleons. A future change should move this action into |
---|
1786 | G4INCascader and eliminate the need for unphysical nuclei. |
---|
1787 | |
---|
1788 | - G4LorentzConvertor::toTheTargetRestFrame(): Remove local declaration of |
---|
1789 | scm_momentum, restoring access to data member with that name. |
---|
1790 | |
---|
1791 | - G4NucleiModel::generateQuasiDeutron(): Undo consolidation of dmom with |
---|
1792 | local variables for each of the nucleon momenta. Stack corruption led to |
---|
1793 | differences in unbound p-n state relative to pp and nn states. |
---|
1794 | |
---|
1795 | Minor updates: Changed all the "verboseLevel()" initializers to (0), via a |
---|
1796 | shell script. This allows making the code uniformly verbose or quiet. |
---|
1797 | |
---|
1798 | include/G4NucleiModel.hh |
---|
1799 | src/G4Analyser.cc |
---|
1800 | src/G4CollisionOutput.cc |
---|
1801 | src/G4ElementaryParticleCollider.cc |
---|
1802 | src/G4FissionStore.cc |
---|
1803 | src/G4Fissioner.cc |
---|
1804 | src/G4IntraNucleiCascader.cc |
---|
1805 | src/G4NonEquilibriumEvaporator.cc |
---|
1806 | src/G4NucleiModel.cc |
---|
1807 | src/G4WatcherGun.cc |
---|
1808 | |
---|
1809 | 16 March 2010 Michael Kelsey (hadr-casc-V09-03-DO-NOT-USE) |
---|
1810 | -------------------------------------------------- |
---|
1811 | All changes below within "cascade/" subdirectory: |
---|
1812 | |
---|
1813 | Restore version hadr-casc-V09-03-05 to HEAD of CVS in order to apply bug |
---|
1814 | fixes and re-deploy migration from G4CascadeMomentum to G4LorentzVector. |
---|
1815 | This reversion is tagged as a checkpoint only, and should not be used for |
---|
1816 | testing or running (since it restores the known bugs in V09-03-03). |
---|
1817 | |
---|
1818 | The update to G4InteractionCase.hh by Gabriele Cosmo in hadr-casc-V09-03-07 |
---|
1819 | is not touched by this reversion! |
---|
1820 | |
---|
1821 | The following CVS commands were used to perform the reversion: |
---|
1822 | |
---|
1823 | cvs update -j1.13 -j1.12 cascade/include/G4CascadParticle.hh |
---|
1824 | cvs update -j1.4 -j1.3 cascade/include/G4CascadeMomentum.hh |
---|
1825 | cvs update -j1.15 -j1.14 cascade/include/G4CollisionOutput.hh |
---|
1826 | cvs update -j1.23 -j1.22 cascade/include/G4ElementaryParticleCollider.hh |
---|
1827 | cvs update -j1.9 -j1.8 cascade/include/G4InuclCollider.hh |
---|
1828 | cvs update -j1.19 -j1.18 cascade/include/G4InuclElementaryParticle.hh |
---|
1829 | cvs update -j1.12 -j1.11 cascade/include/G4InuclNuclei.hh |
---|
1830 | cvs update -j1.16 -j1.15 cascade/include/G4InuclParticle.hh |
---|
1831 | cvs update -j1.13 -j1.12 cascade/include/G4InuclSpecialFunctions.hh |
---|
1832 | cvs update -j1.13 -j1.12 cascade/include/G4LorentzConvertor.hh |
---|
1833 | cvs update -j1.4 -j1.3 cascade/include/G4ParticleLargerBeta.hh |
---|
1834 | cvs update -j1.9 -j1.8 cascade/include/G4ParticleLargerEkin.hh |
---|
1835 | cvs update -j1.20 -j1.19 cascade/src/G4BigBanger.cc |
---|
1836 | cvs update -j1.13 -j1.12 cascade/src/G4CascadParticle.cc |
---|
1837 | cvs update -j1.6 -j1.5 cascade/src/G4CascadeElasticInterface.cc |
---|
1838 | cvs update -j1.68 -j1.67 cascade/src/G4CascadeInterface.cc |
---|
1839 | cvs update -j1.18 -j1.17 cascade/src/G4CollisionOutput.cc |
---|
1840 | cvs update -j1.7 -j1.6 cascade/src/G4ElasticCascadeInterface.cc |
---|
1841 | cvs update -j1.6 -j1.5 cascade/src/G4EvaporationInuclCollider.cc |
---|
1842 | cvs update -j1.5 -j1.4 cascade/src/G4IBertini.cc |
---|
1843 | cvs update -j1.3 -j1.2 cascade/src/G4InuclElementaryParticle.cc |
---|
1844 | cvs update -j1.10 -j1.9 cascade/src/G4InuclEvaporation.cc |
---|
1845 | cvs update -j1.3 -j1.2 cascade/src/G4InuclNuclei.cc |
---|
1846 | cvs update -j1.4 -j1.3 cascade/src/G4InuclParticle.cc |
---|
1847 | cvs update -j1.17 -j1.16 cascade/src/G4InuclSpecialFunctions.cc |
---|
1848 | cvs update -j1.19 -j1.18 cascade/src/G4LorentzConvertor.cc |
---|
1849 | cvs update -j1.5 -j1.4 cascade/src/G4PreCompoundCascadeInterface.cc |
---|
1850 | cvs update -j1.4 -j1.3 cascade/src/G4PreCompoundInuclCollider.cc |
---|
1851 | |
---|
1852 | Intermediate versions below had bindingEnergy changes from -05 re-applied |
---|
1853 | |
---|
1854 | cvs update -j1.23 -j1.21 cascade/src/G4EquilibriumEvaporator.cc |
---|
1855 | cvs update -j1.22 -j1.20 cascade/src/G4Fissioner.cc |
---|
1856 | cvs update -j1.29 -j1.27 cascade/src/G4IntraNucleiCascader.cc |
---|
1857 | cvs update -j1.24 -j1.22 cascade/src/G4InuclCollider.cc |
---|
1858 | cvs update -j1.23 -j1.21 cascade/src/G4NonEquilibriumEvaporator.cc |
---|
1859 | cvs update -j1.38 -j1.36 cascade/src/G4NucleiModel.cc |
---|
1860 | |
---|
1861 | G4ElementaryParticleCollider::particleSCMmomentumFor2to2: Restore new |
---|
1862 | parametrization of elastic scattering added by D.Write in hadr-casc-V09-03-06 |
---|
1863 | |
---|
1864 | cvs update -j1.47 -j1.45 cascade/src/G4ElementaryParticleCollider.cc |
---|
1865 | + editing |
---|
1866 | |
---|
1867 | 05 Mar 2010 Gabriele Cosmo (hadr-casc-V09-03-07) |
---|
1868 | ------------------------------------------------ |
---|
1869 | - Reinstated fix in G4InteractionCase.hh for initialisation in constructor to |
---|
1870 | allow for porting on C++0x Standard. |
---|
1871 | |
---|
1872 | 07 Feb 2010 Dennis Wright (hadr-casc-V09-03-06) |
---|
1873 | ----------------------------------------------- |
---|
1874 | - back out changes from tags V09-03-00 to V00-03-05 by restoring HEAD |
---|
1875 | to V09-02-11, and keeping the di-nucleon classes |
---|
1876 | - replace Bertini method bindingEnergy() with |
---|
1877 | G4NucleiProperties::GetBindingEnergy() in classes |
---|
1878 | G4IntraNuclearCascader, G4InuclCollider, G4NucleiModel, G4EquilibriumModel, |
---|
1879 | G4NonEquilibriumModel, G4Fissioner. Note that G4Fissioner still uses the |
---|
1880 | Bertini method bindingEnergyAsymptotic. |
---|
1881 | |
---|
1882 | - G4ElementaryParticleCollider::particleSCMmomentumFor2to2 |
---|
1883 | replace original (incorrect) pp, pn, nn 2-body to 2-body scattering angular |
---|
1884 | distributions with a new parameterization of elastic scattering data using |
---|
1885 | the sum of two exponentials |
---|
1886 | |
---|
1887 | 02 Feb 2010 Dennis Wright (hadr-casc-V09-03-05) |
---|
1888 | ----------------------------------------------- |
---|
1889 | - replace all uses of bindingEnergy (local Bertini method) with the |
---|
1890 | Geant4 standard G4NucleiProperties::GetBindingEnergy(A,Z) |
---|
1891 | files modified: |
---|
1892 | G4IntraNucleiCascader.cc |
---|
1893 | G4InuclCollider.cc |
---|
1894 | G4NucleiModel.cc |
---|
1895 | G4EquilibriumEvaporator.cc |
---|
1896 | G4NonEquilibriumEvaporator.cc |
---|
1897 | G4Fissioner.cc |
---|
1898 | - note that G4Fissioner still uses Bertini method bindingEnergyAsymptotic |
---|
1899 | |
---|
1900 | 28 Jan 2010 Dennis Wright (hadr-casc-V09-03-04) |
---|
1901 | ----------------------------------------------- |
---|
1902 | - fix unused variable warnings in G4InuclParticle.hh, .cc and |
---|
1903 | G4NonEquilibriumEvaporator.cc |
---|
1904 | |
---|
1905 | 26 Jan 2010 Michael Kelsey (hadr-casc-V09-03-03) |
---|
1906 | ------------------------------------------------ |
---|
1907 | All changes below within "cascade/" subdirectory: |
---|
1908 | |
---|
1909 | - G4ParticleLargerBeta.hh: Fix to use of CVS "Name" tag; no code changes. |
---|
1910 | |
---|
1911 | - G4CascadParticle: Replace the position std::vector<> with G4ThreeVector. |
---|
1912 | |
---|
1913 | - G4NucleiModel: Replace all std::vector<> coordinates with G4ThreeVector, |
---|
1914 | and use vector math for computations. |
---|
1915 | |
---|
1916 | Remove all use of G4CascadeMomentum (a simple container with a C-style |
---|
1917 | four-element array) with G4LorentzVector. This is a fairly invasive change, |
---|
1918 | since G4CascMom was used for all of the three- and four-vector operations |
---|
1919 | throughout the Bertini code: |
---|
1920 | |
---|
1921 | include/G4CascadParticle.hh |
---|
1922 | include/G4CollisionOutput.hh |
---|
1923 | include/G4ElementaryParticleCollider.hh |
---|
1924 | include/G4InuclCollider.hh |
---|
1925 | include/G4InuclElementaryParticle.hh |
---|
1926 | include/G4InuclNuclei.hh |
---|
1927 | include/G4InuclParticle.hh |
---|
1928 | include/G4InuclSpecialFunctions.hh |
---|
1929 | include/G4LorentzConvertor.hh |
---|
1930 | |
---|
1931 | src/G4BigBanger.cc |
---|
1932 | src/G4CascadParticle.cc |
---|
1933 | src/G4CascadeElasticInterface.cc |
---|
1934 | src/G4CascadeInterface.cc |
---|
1935 | src/G4CollisionOutput.cc |
---|
1936 | src/G4ElasticCascadeInterface.cc |
---|
1937 | src/G4ElementaryParticleCollider.cc |
---|
1938 | src/G4EquilibriumEvaporator.cc |
---|
1939 | src/G4EvaporationInuclCollider.cc |
---|
1940 | src/G4Fissioner.cc |
---|
1941 | src/G4IBertini.cc |
---|
1942 | src/G4IntraNucleiCascader.cc |
---|
1943 | src/G4InuclCollider.cc |
---|
1944 | src/G4InuclElementaryParticle.cc |
---|
1945 | src/G4InuclEvaporation.cc |
---|
1946 | src/G4InuclNuclei.cc |
---|
1947 | src/G4InuclParticle.cc |
---|
1948 | src/G4InuclSpecialFunctions.cc |
---|
1949 | src/G4LorentzConvertor.cc |
---|
1950 | src/G4NonEquilibriumEvaporator.cc |
---|
1951 | src/G4NucleiModel.cc |
---|
1952 | src/G4PreCompoundCascadeInterface.cc |
---|
1953 | src/G4PreCompoundInuclCollider.cc |
---|
1954 | |
---|
1955 | The new code is not yet entirely "correct," since Bertini also does a lot of |
---|
1956 | operations by way of three-momentum, imposing masses (and hence energy |
---|
1957 | conservation) separately, after the fact. |
---|
1958 | |
---|
1959 | 20 Jan 2010 Gabriele Cosmo |
---|
1960 | -------------------------- |
---|
1961 | - G4InteractionCase.hh: Minor fix in initialisation in constructor to |
---|
1962 | allow for porting on C++0x Standard. |
---|
1963 | |
---|
1964 | 20 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02) |
---|
1965 | ------------------------------------------------ |
---|
1966 | - G4LorentzConvertor.hh: Fix scm_momentum data member to be G4ThreeVector |
---|
1967 | (as used in previous versions) rather than G4LorentzVector. |
---|
1968 | |
---|
1969 | NOTE: I have *retagged* cascade/include/G4LorentzConverter.hh and this |
---|
1970 | History file, rather than creating a new tag, since these are private |
---|
1971 | development only, not public releases. |
---|
1972 | |
---|
1973 | 12 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02) |
---|
1974 | ------------------------------------------------ |
---|
1975 | All changes below within "cascade/" subdirectory: |
---|
1976 | |
---|
1977 | - G4CascadeMomentum: Replace use of static G4LV variables within functions |
---|
1978 | with mutable data member of object; this does introduce more memory |
---|
1979 | thrashing, but the plan is to get rid of the whole thing anyway. Improve |
---|
1980 | implicit casting and add assignment from G4LV. |
---|
1981 | |
---|
1982 | - G4LorentzConverter: Change function signatures to accept G4LV as input, |
---|
1983 | using implicit cast to convert existing G4CascadeMomentum argument |
---|
1984 | passing. Use G4LV internally throughout, again using implicit cast to |
---|
1985 | return G4CascMom values. This substantially increases (temporarily!) |
---|
1986 | memory thrashing. Simplify ::rotate() functions to use G4LV and |
---|
1987 | G4ThreeVec operations rather than array index gymnastics. Move some |
---|
1988 | function implementations out of .hh file into .cc. |
---|
1989 | |
---|
1990 | - G4ParticleLargerEkin.hh: Fix use of CVS "Name" tag. No code changes. |
---|
1991 | |
---|
1992 | 12 Jan 2010 Michael Kelsey (hadr-casc-V09-03-01) |
---|
1993 | ------------------------------------------------ |
---|
1994 | All changes below within "cascade/" subdirectory: |
---|
1995 | |
---|
1996 | - G4ParticleLargerBeta, G4ParticleLargerEkin: Add additional operator() |
---|
1997 | which takes pointers (for future mods to reduce ctor/dtor cycling), and |
---|
1998 | fix ordering bug in beta sorting. Add debugging printout togged with |
---|
1999 | preprocessor flag. |
---|
2000 | |
---|
2001 | - G4InuclParticle, G4InuclNuclei, G4InuclElementaryParticle: Rewrite to |
---|
2002 | carry G4DynamicParticle data member, and to instantiate particle |
---|
2003 | properties via G4ParticleDefinition subclasses. This is first stage in |
---|
2004 | eventually eliminating the G4InuclParticle stuff entirely in favor of |
---|
2005 | direct use of G4DynamicParticle for internal propagation. |
---|
2006 | |
---|
2007 | These changes have been testing using debugging output on the production |
---|
2008 | (4.9.3) code compared to the above changes. |diff| shows mostly identical |
---|
2009 | results, with occasional ~1e-5 floating point differences. |
---|
2010 | |
---|
2011 | 08 Jan 2010 Michael Kelsey (hadr-casc-V09-03-00) |
---|
2012 | ------------------------------------------------ |
---|
2013 | All changes below within "cascade/" subdirectory: |
---|
2014 | |
---|
2015 | - G4BertiniNuclearModel: REMOVE this class from the HEAD, and hopefully all |
---|
2016 | future tags. It is redundant with the G4NuclearModel class, and is not |
---|
2017 | used anywhere in the G4 distribtion; the latter is referenced in both |
---|
2018 | regular G4 code and in examples. |
---|
2019 | |
---|
2020 | - G4Diproton, G4Dineutron, G4UnboundPN: New G4ParticleDefinition |
---|
2021 | subclasses, which implement the Bertini-specific dibaryon states. These |
---|
2022 | are not used anywhere as yet, but will be used in future modifications to |
---|
2023 | the G4InuclParticle subclasses. |
---|
2024 | |
---|
2025 | - G4CascadeMomentum: Add interface to create from and cast to |
---|
2026 | G4LorentzVector. Will be used (in future) by G4InuclParticle modifications, |
---|
2027 | and provides a transition to eliminating this class entirely. |
---|
2028 | |
---|
2029 | 1 Dec 2009 Dennis Wright (hadr-casc-V09-02-11) |
---|
2030 | ---------------------------------------------- |
---|
2031 | - G4PionSampler, G4NucleonSampler: change loop variable in ctor from i to j |
---|
2032 | in order to satisfy Windows compiler |
---|
2033 | |
---|
2034 | 11 Nov 2009 Dennis Wright (hadr-casc-V09-02-10) |
---|
2035 | ----------------------------------------------- |
---|
2036 | - G4CascadParticle, G4InuclElementaryParticle: add integer argument to ctor |
---|
2037 | to indicate which generation cascade particle belongs to. |
---|
2038 | Also change G4NucleiModel and G4BertiniNucleiModel to use this. |
---|
2039 | |
---|
2040 | 8 Oct 2009 Dennis Wright (hadr-casc-V09-02-09) |
---|
2041 | ----------------------------------------------- |
---|
2042 | - G4PionSampler: use charge exchange cross section for pi0-p, go back |
---|
2043 | original Bertini pi0-p elastic partial cs. Update pi0 total cross |
---|
2044 | section accordingly. Improve fits to pi-p partial cs and update |
---|
2045 | pi- total cross sections. |
---|
2046 | - G4NucleiModel: update pi- and pi0 total cross sections |
---|
2047 | |
---|
2048 | 24 Sep 2009 Dennis Wright (hadr-casc-V09-02-08) |
---|
2049 | ----------------------------------------------- |
---|
2050 | - add class G4NucleonSampler which replaces old pp, pn, and nn partial and |
---|
2051 | total cross sections also modify other classes which use them |
---|
2052 | - move large arrays which are instantiated at every call of frequently |
---|
2053 | used methods. They are now initialized once in constructors. |
---|
2054 | - G4CascadSpecialFunctions: put copy of total cross section method |
---|
2055 | in G4NucleiModel, also remove unneeded energy scale arrays |
---|
2056 | (now replaced with a new one) |
---|
2057 | - G4CascadeInterface: move instantiation of various collider classes |
---|
2058 | outside of loop, and put on stack instead of heap |
---|
2059 | - G4ElementaryParticleCollider: re-design to use G4NucleonSampler and |
---|
2060 | remove instantiation of large arrays from within loops in code |
---|
2061 | - G4NucleiModel: remove instatiation of large arrays from with loops, |
---|
2062 | add new total cross section sampling, remove use of all but one |
---|
2063 | energy scale |
---|
2064 | |
---|
2065 | 17 Sep 2009 Dennis Wright (hadr-casc-V09-02-07) |
---|
2066 | ----------------------------------------------- |
---|
2067 | - G4PionSampler: remove large static arrays |
---|
2068 | - G4FinalStateSampler: remove static array pointer to G4 particle types |
---|
2069 | - G4ElementaryParticleCollider: clean up |
---|
2070 | |
---|
2071 | 4 Sep 2009 Dennis Wright (hadr-casc-V09-02-06) |
---|
2072 | ---------------------------------------------- |
---|
2073 | - add assignment operator to class G4CollisionOutput |
---|
2074 | |
---|
2075 | 31 Aug 2009 Dennis Wright (hadr-casc-V09-02-05) |
---|
2076 | ----------------------------------------------- |
---|
2077 | - add class G4FinalStateSampler which was accidentally omitted from |
---|
2078 | the previous tag |
---|
2079 | |
---|
2080 | 25 Aug 2009 Dennis Wright (hadr-casc-V09-02-04) |
---|
2081 | ----------------------------------------------- |
---|
2082 | - correct bug in particle ordering in G4PionSampler |
---|
2083 | - clean up dead code in G4NucleiModel and G4ElementaryParticleCollider |
---|
2084 | |
---|
2085 | 20 Aug 2009 Dennis Wright (hadr-casc-V09-02-03) |
---|
2086 | ----------------------------------------------- |
---|
2087 | - create class G4PionSampler: samples partial cross sections, multiplicities |
---|
2088 | and final state particle types required for pi+, pi- and pi0 scattering |
---|
2089 | within a nucleus. This class uses re-evaluated pion partial cross sections |
---|
2090 | and includes production of strange particle pairs. |
---|
2091 | - G4CascadeSigmaPlusNChannel: correct sigma plus cross sections |
---|
2092 | - G4CascadSpecialFunctions: move pion, kaon, hyperon total cross sections |
---|
2093 | to this class |
---|
2094 | - G4ElementaryParticleCollider: re-write to use G4PionSampler class for |
---|
2095 | cross sections and multiplicities, remove method reChargering (now redundant) |
---|
2096 | |
---|
2097 | 15 Apr 2009 Dennis Wright (hadr-casc-V09-02-02) |
---|
2098 | ----------------------------------------------- |
---|
2099 | - previous tag no longer used. Bring hadr-casc-V09-02-00 back to |
---|
2100 | HEAD and re-tag |
---|
2101 | |
---|
2102 | 21 Feb 2009 Dennis Wright (hadr-casc-V09-02-01) |
---|
2103 | ----------------------------------------------- |
---|
2104 | - add printCrossSection method to G4CascadSpecialFunctions |
---|
2105 | - in GeElementaryParticleCollider, add high energy flag to distinguish |
---|
2106 | "string-like" behavior |
---|
2107 | - G4IntraNucleiCascader.cc - allow secondaries from HE interaction to |
---|
2108 | leave nucleus without interacting |
---|
2109 | - G4NucleiModel - get high_energy_interaction flag value from G4ElementaryParticleCollider |
---|
2110 | |
---|
2111 | 11 Feb 2009 V.Ivanchenko (hadr-casc-V09-02-00) |
---|
2112 | ----------------------------------------------- |
---|
2113 | - set absorption coefficient 1.0 instead of 0.2 inside |
---|
2114 | G4CascadSpecialFunctions (D.Wright) |
---|
2115 | |
---|
2116 | 25 Nov 2008 Dennis Wright (hadr-casc-V09-01-10) |
---|
2117 | ----------------------------------------------- |
---|
2118 | - fix multiplicity sampling in G4ElementaryParticleCollider::generateMultiplicity(). |
---|
2119 | Now partial cross sections are normalized to the total cross section instead |
---|
2120 | of just the sum of 2-body to 6-body final state cross sections. Also fix |
---|
2121 | 2-body cross sections above 7 GeV where they were too small. |
---|
2122 | Fix the same cross sections which appear in G4CascadSpecialFunctions.cc |
---|
2123 | |
---|
2124 | 21 Nov 2008 Dennis Wright (hadr-casc-V09-01-09) |
---|
2125 | ----------------------------------------------- |
---|
2126 | - add some comments to cross section tables in G4CascadSpecialFunctions.cc |
---|
2127 | and G4ElementaryParticleCollider.cc |
---|
2128 | |
---|
2129 | 24 Oct 2008 Dennis Wright (hadr-casc-V09-01-08) |
---|
2130 | ----------------------------------------------- |
---|
2131 | - replace GetAtomicMass() with GetNuclearMass() in cascade/G4InuclEvaporation |
---|
2132 | and evaporation/G4BertiniEvaporation |
---|
2133 | - V. Ivantchenko added name to G4CascadeInterface ("Bertini Cascade") |
---|
2134 | |
---|
2135 | 17 Oct 2008 Dennis Wright (hadr-casc-V09-01-07) |
---|
2136 | ----------------------------------------------- |
---|
2137 | - added Coulomb barrier plus barrier penetration in G4IntraNucleiCascader.cc |
---|
2138 | |
---|
2139 | 27 Sep 2008 Dennis Wright (hadr-casc-V09-01-06) |
---|
2140 | ----------------------------------------------- |
---|
2141 | - Fixed 4.3 compiler warnings for G4InuclElementaryParticle.hh by providing |
---|
2142 | initializers for particle type and mass |
---|
2143 | - Remove unused variables totscm, totlab in G4BigBanger.cc, |
---|
2144 | G4ElementaryParticleCollider.cc, and unused mom1 from G4InuclSpecialFunctions.cc |
---|
2145 | |
---|
2146 | 22 Sep 2008 Gabriele Cosmo (hadr-casc-V09-01-05) |
---|
2147 | ------------------------------------------------ |
---|
2148 | - Introduced simple wrapper class G4CascadeMomentum meant to replace usage |
---|
2149 | of std::vector<double> in the cascade code, to reduce memory allocations. |
---|
2150 | Courtesy of P.Elmer (princeton Univ.). |
---|
2151 | - Modified cascade code to make use of G4CascadeMomentum. |
---|
2152 | |
---|
2153 | 3 Sep 2008 Dennis Wright (hadr-casc-V09-01-04) |
---|
2154 | ----------------------------------------------- |
---|
2155 | - G4ElementaryParticleCollider.cc: in method generateMultiplicity, remove |
---|
2156 | large_cut which increases multiplicity from 3 to 4 abruptly at 4 GeV |
---|
2157 | and above. This caused a sharp drop-off in the single pion spectra from |
---|
2158 | pH reactions. The effect in heavier nuclei is small. |
---|
2159 | |
---|
2160 | 29 Jun 2008 Dennis Wright (hadr-casc-V09-01-03) |
---|
2161 | ----------------------------------------------- |
---|
2162 | - add changes made by M. Paterno, J. Kowalkowski, and M. Fischler (FNAL) |
---|
2163 | to speed up code. All G4Cascade***Channel classes and related code changed. |
---|
2164 | |
---|
2165 | 5 May 2008 Dennis Wright (hadr-casc-V09-01-02) |
---|
2166 | ----------------------------------------------- |
---|
2167 | - retag hadr-casc-V09-csbug as hadr-casc-V09-01-02 |
---|
2168 | |
---|
2169 | 30 Apr 2008 Dennis Wright (hadr-casc-V09-csbug) |
---|
2170 | ----------------------------------------------- |
---|
2171 | - fix cross section bug in G4CascadSpecialFunctions that returned |
---|
2172 | low or zero total cross sections for pi-p, pi+n, np, and pi0 |
---|
2173 | interactions |
---|
2174 | |
---|
2175 | 29 Apr 2008 Dennis Wright (hadr-casc-V09-01-01) |
---|
2176 | ----------------------------------------------- |
---|
2177 | - bring tag hadr-casc-V09-01-coula to HEAD, make official tag |
---|
2178 | |
---|
2179 | 22 Apr 2008 Dennis Wright (hadr-casc-V09-01-param) |
---|
2180 | -------------------------------------------------- |
---|
2181 | - changed pp, nn total cross section parameterization in |
---|
2182 | G4CascadSpecialFunctions to more closely reflect the PDG values (old one |
---|
2183 | was off by as much as a factor of 3. |
---|
2184 | |
---|
2185 | 3 Apr 2008 Dennis Wright (hadr-casc-V09-01-coula) |
---|
2186 | ------------------------------------------------- |
---|
2187 | - removed Coulomb barrier from G4IntraNucleiCascader.cc (causes unphysical spike) |
---|
2188 | |
---|
2189 | 3 Apr 2008 Dennis Wright (hadr-casc-V09-01-coul) |
---|
2190 | ------------------------------------------------ |
---|
2191 | - Added Coulomb barrier in G4EquilibriumEvaporator.cc, G4IntraNucleiCascader.cc |
---|
2192 | |
---|
2193 | 17 Nov 2007 Dennis Wright (hadr-casc-V09-00-02) |
---|
2194 | ----------------------------------------------- |
---|
2195 | - Fix angular distribution for nucleon-nucleon elastic scattering |
---|
2196 | above 2.8 GeV, by modifying G4ElementaryParticleCollider::getElasticCase |
---|
2197 | |
---|
2198 | 25 May 2007 Dennis Wright for Aatos Heikkinen (hadr-casc-V08-03-00) |
---|
2199 | ------------------------------------------------------------------- |
---|
2200 | - implemented interfaces for pre-equilibrium and equilbrium evaporation |
---|
2201 | models |
---|
2202 | |
---|
2203 | 04 May 2007 Aatos Heikkinen (hadr-casc-V08-02-00) |
---|
2204 | ------------------------------------------------- |
---|
2205 | |
---|
2206 | - Added protection in G4ElementaryParticleCollider against negative |
---|
2207 | value to sqrt(). |
---|
2208 | |
---|
2209 | 08 May 2006 Dennis Wright (hadr-casc-V08-00-00) |
---|
2210 | ----------------------------------------------- |
---|
2211 | |
---|
2212 | - cascade: remove G4BERTINI_KAON conditional assembly flags. Files |
---|
2213 | affected: |
---|
2214 | G4ElementaryParticleCollider.hh, cc |
---|
2215 | G4InuclElementaryParticle.hh |
---|
2216 | G4NucleiModel.hh, cc |
---|
2217 | G4CascadeInterface.cc |
---|
2218 | G4IntraNucleiCascader.cc |
---|
2219 | |
---|
2220 | - cascade (Pekka Kaitaniemi): G4ElasticCascadeInterface: derive |
---|
2221 | from G4VIntraNuclearTransportModel instead of G4HadronElastic. |
---|
2222 | Check for case when no elastic scattering occurs. If so, |
---|
2223 | return original bullet and target. |
---|
2224 | |
---|
2225 | 24 Nov 2005 Dennis Wright (hadr-casc-V07-01-00) |
---|
2226 | ---------------------------------------------- |
---|
2227 | |
---|
2228 | - cascade (bertini-V07-01-00 by Aatos Heikkinen) |
---|
2229 | elastic scattering interface added: |
---|
2230 | G4ElasticCascadeInterface.hh, .cc added |
---|
2231 | G4CascadeInterface.hh modified |
---|
2232 | |
---|