source: trunk/source/processes/hadronic/models/cascade/History@ 1315

Last change on this file since 1315 was 1315, checked in by garnier, 15 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

File size: 52.0 KB
Line 
1$Id: History,v 1.90 2010/06/08 06:34:43 stesting Exp $
2-------------------------------------------------------------------
3
4 ==========================================================
5 Geant4 - an Object-Oriented Toolkit for Physics Simulation
6 ==========================================================
7
8 History file for hadronic/models/cascade
9 ----------------------------------------
10
11This file should be used to summarize modifications introduced in the
12code and to keep track of all tags.
13
14 ---------------------------------------------------------------
15 * Please list in reverse chronological order (last date on top)
16 ---------------------------------------------------------------
17
1808 June 2010 Gunter Folger (hadr-casc-V09-03-42)
19- trivial fix for compiler warning on gcc43 on empty body in for(...) in
20 cascade/include/G4CascadeInterpolator.icc:67
21
2201 June 2010 Michael Kelsey (hadr-casc-V09-03-41)
23-------------------------------------------------
24- paraMaker.cc: Fix vector initialization for Windows crash.
25
2626 May 2010 Dennis Wright (hadr-casc-V09-03-40)
27-----------------------------------------------
28- G4NucleiModel: remove conversion to fm, and conversion of cross
29 sections to fm**2
30
3121 May 2010 Michael Kelsey (hadr-casc-V09-03-39)
32------------------------------------------------
33Final tag for inclusion in GEANT 4.9.4-beta. Will be validated internal and
34included in global Hadronics tag.
35
36- G4CascadeSampler.icc: Activate time-saving checks on single bins.
37- G4ElementaryParticleCollider.cc: Remove special case for nucleon elastic
38 scattering.
39
4021 May 2010 Michael Kelsey (kelsey-20100521c)
41---------------------------------------------
42- G4CascadeInterface, G4PreCompoundCascadeInterface, G4InuclEvaporation:
43 Simplify code: fetch G4DynamicParticle out of outgoing G4InuclParticles,
44 rather than creating new ones. Remove all of the *Collider data members
45 (instantiated within G4InuclCollider). Move final state rotations to
46 G4CollisionOutput.
47
48- G4InuclParticle: Provide accessor to return G4DynamicParticle.
49
50- G4CollisionOutput: Add function to apply LorentzRotation to both lists;
51 used by G4CascadeInterface.
52
53- G4ElementaryParticleCollider: Avoid memory churn with G4LorentzVector
54 temporaries.
55
5621 May 2010 Michael Kelsey (kelsey-20100521b)
57---------------------------------------------
58- G4VCascadeCollider: New base class for all Colliders. Carries
59 verboseLevel data member and set-function. ::collide() is pure virtual.
60 Additional protected member functions will be defined to include all code
61 shared across multiple Colliders.
62
63- Migrate all of the "Collider" factories to use new base class, removing
64 common member functions, and replace passed-in sibling colliders with
65 local data members (pointers for now). Since none of these classes have
66 persistent (state preserving) data members, the cost of more than one
67 instantiation is minimal.
68
69 G4BigBanger
70 G4ElementaryParticleCollider
71 G4EquilibriumEvaporator
72 G4EvaporationInuclCollider
73 G4Fissioner
74 G4IntraNucleiCascader
75 G4InuclCollider
76 G4NonEquilibriumEvaporator
77 G4PreCompoundInuclCollider
78
79- G4CascadeInterface.cc, G4InuclEvaporation.cc,
80 G4PreCompoundCascadeInterface.cc: Remove siblings from constructors for
81 the Colliders.
82
83- G4InteractionCase.hh: Eliminate unnecessary copying of std::pair<>'s, use
84 initializers in ctors, add clear() function to reset to 0-0-0. Move
85 evaluation of bullet vs. target to new set() function, replacing separate
86 bulletTargetSetter() in the colliders. Add boolean accessors to avoid
87 hard-coding inter_case values. Change code numbers so nucleus collisions
88 are negative, and positive codes refer to the "is" or "rtype" numbers.
89
90- G4ElementaryParticleCollider.cc: Use G4InteractionCase to compute "is",
91 instead of hardwiring the meaning.
92
93- G4Collider.hh: Remove empty and never-used file.
94
95- G4EvaporationInuclCollider.cc: Eliminate unnecessary creation of
96 duplicate G4InuclNuclei: pass input through to G4EquilibriumEvaporator.
97
98- G4LorentzConvertor: Add interfaces to pass G4InuclParticles directly.
99
10021 May 2010 Michael Kelsey (kelsey-20100521a)
101---------------------------------------------
102Replace hand-coded interpolation of arrays with use of G4CascadeInterpolator.
103In all cases, local arrays are replaced with static const, and the
104interpolator object itself is declared static, to reduce memory churn.
105
106 G4NucleiModel::totalCrossSection()
107 G4EquilibriumEvaporator::getQF()
108 G4InuclSpecialFunctions::paraMaker[Truncated]() (in paraMaker.cc)
109
110- G4CascadSpecialFunctions: Remove. totalCrossSection() redundant with
111 G4NucleiModel. Move absorptionCrossSection() to G4NucleiModel.
112
113- G4CascadeInterpolator.icc: Bug fix to catch special case of exact upper
114 bin edge (occurs when !doExtrapolation). If index == last + 0., just
115 return upper edge value, without calculation.
116
117- G4NucleiModel.cc: Use G4Cascade{Pi*}Channel and G4Cascade{NN,NP,PP}Channel
118 classes to get total cross-sections for pi-N and N-N scattering. Arrays
119 for kaon and hyperon scattering should be migrated as well, once binning
120 is resolved. Move absorptionCrossSection() here from SpecialFunctions.
121
12220 May 2010 Michael Kelsey (kelsey-20100521)
123--------------------------------------------
124- G4CascadeInterpolator.icc: Two bug fixes involving values at array edges.
125
12619 May 2010 Michael Kelsey, Dennis Wright
127-----------------------------------------
128- G4BertiniData.hh,.cc: Remove unused and unnecessary class.
129- G4NucleiModel.cc: convert nuclear radii to fm and cross sections to
130 fm**2. Use six-zone model for A > 99, and make alpha a 1-zone
131 nucleus.
132- G4CascadSpecialFunctions: convert pion absorption cross sections from
133 mb to fm**2, correct spelling of method absorptionCrossSection
134
13517 May 2010 Michael Kelsey (hadr-casc-V09-03-38)
136------------------------------------------------
137- paraMaker.cc (G4InuclSpecialFunctions::paraMaker[Truncated]): Upper edge
138 of interpolation array not properly handled. Should be "if (Z >= 70.0)".
139 This affects G4NonEquilibriumEvaporator output.
140
14117 May 2010 Michael Kelsey (hadr-casc-V09-03-37)
142------------------------------------------------
143Bug fixes for compiler warnings (not seen on MacOSX, even with g++ -Wall)
144
145- G4CascadeData.hh: Dummy arrays needed double-braces for initialization.
146
147- G4CascadeInterpolator.icc: Extraneous decimal point in "for (i=0.;".
148
149- G4CascadeKzeroBarNChannel.cc: Left three "old" arrays in place during
150 conversion.
151
15214 May 2010 Michael Kelsey (hadr-casc-V09-03-36)
153------------------------------------------------
154Remove obsolete files following reorganization of two-body scattering
155lookup tables.
156
157 G4CascadeElasticInterface.hh,.cc
158 G4ElasticCascadeInterface.hh,.cc
159 G4FinalStateSampler.hh,.cc
160 G4NucleonSampler.hh,.cc
161 G4PionSampler.hh,.cc
162
163- G4CascadeChannel.hh,.cc: All functionality removed, replaced with
164 namespace containing only getQnums and CheckQnums validation functions.
165
16614 May 2010 Michael Kelsey (hadr-casc-V09-03-35)
167------------------------------------------------
168Replace independent parallel samplers with templated base class and single
169implementation. This completes the reorganization of the channel tables.
170
171- G4CascadeSampler: Redefine as templated base, taking binning array as
172 constructor argument. Move implementation file from .cc to .icc.
173 NOTE: G4CascadeSampler.cc is removed, since not consistent with new .hh.
174
175- G4PionNucSampler: Subclass of G4CascadeSampler<30>, replaces
176 G4FinalStateSampler, using bins array from there.
177
178- G4KaonNucSampler: Sublcass of G4CascadeSampler<31>, replaces previous
179 G4CascadeSampler, using bins array from there.
180
181- G4Cascade*Channel.hh: Change all typedefs to pass appropriate of two new
182 samplers in template.
183
184- G4ElementaryParticleCollider.cc: Replace long "if (is==)"-cascades with
185 switch blocks. Move all getOutgoing calls (for pions and nucleons) into
186 one function, and call it from outside multiplicity checks. Use
187 G4CascadeInterpolator for angular distributions. Set modelID=3 in all
188 G4InuclParticle constructions.
189
19014 May 2010 Michael Kelsey (hadr-casc-V09-03-34)
191------------------------------------------------
192Extract lookup tables from G4PionSampler and G4NucleonSampler into
193individual "classes" defined and initialized with G4CascadeData.
194
195- G4CascadePi{Plus,Minus,Zero}{P,N}Channel.hh: Six new typedefs defined as
196 with the existing G4CascadeXXXChannel, to replace G4PionSampler.
197
198- G4CascadeT33piNChannel.cc: Lookup tables for both PiPlusP and PiMinusN,
199 implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc.
200
201- G4CascadeT31piNChannel.cc: Lookup tables for both PiMinusP and PiPlusN,
202 implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc
203
204- G4CascadeT11pizNChannel.cc: Lookup tables for both PiZeroP and PiZeroN,
205 implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc
206
207- G4Cascade{PP,NP,NN}Channel.hh: Three new typedefs defined as with the
208 existing G4CascadeXXXChannel, to replace G4NucleonSampler.
209
210- G4CascadeT1NNChannel.cc: Lookup tables for both p-p and n-n scattering,
211 implemented as with existing G4CascadeXXXChannel, from G4NucleonSampler.cc
212
213- G4CascadeT0npChannel.cc: Lookup tables for p-n scattering, implemented as
214 with existing G4CascadeXXXChannel, from G4NucleonSampler.cc
215
216- G4CascadeFunctions.hh, .icc: Pass std::vector as non-const argument to
217 getOutgoingParticleTypes() instead of returning internal buffer.
218
219- G4CascadeSampler.cc, G4FinalStateSampler.cc: Add some checks in
220 findFinalStateIndex, fillSigmaBuffer, and sampleFlat(), such that
221 single-entry ranges don't go through the analysis, just return index 0.
222
223- G4ElementaryParticleCollider.cc: Follow change to getOutgoingParticleTypes()
224 in generateStrangeChannelPartTypes(). Replace all uses of G4PionSampler
225 and G4NucleonSampler with new channel "classes".
226
22714 May 2010 Michael Kelsey (hadr-casc-V09-03-33)
228------------------------------------------------
229Continue consolidation of two-body collision lookup tables. Unify
230interfaces between pion/nucleon and kaon/hyperon samplers.
231
232- G4CascadeData: Many changes to support use as data class for both
233 kaon/hyperon and pion/nucleon tables (migration will be next tag):
234
235 1) Add new first argument to template with number of bins in energy
236 interpolation. This replaces the (temporary) use of
237 G4CascadeSampler::energyBins within the class definition.
238
239 2) Add two additional template arguments, N8 and N9, with default values
240 of zero. These will be used by the pion/nucleon tables, but not by the
241 existing kaon/hyperon tables.
242
243 3) Define additional arrays for 8- and 9-body final states, using
244 conditional dimensioning (e.g., if N8==0, use [1]). Define second
245 9-body constructor to accept and initialize the new arrays.
246
247 4) Eliminate static intialization of index[], moving it into
248 initialize(). Template specialization can't be used with data!
249
250 5) Add separate "sum" (summed N-body cross-sections) and "tot" arrays
251 (measured inclusive xsec). Latter is a const-ref, initialized to "sum"
252 if not provided as ctor argument, with two new ctors as needed.
253
254 6) Add accessor to return maximum multiplicity (NM+1).
255
256- G4CascadeFunctions.hh: Add second template argument to specify which
257 "final state sampler" is the base class. Use both T::data.tot and
258 T::data.sum in GetMultiplicity(), to support sum/tot comparisons in
259 pion/nucleon channels. Extend GetOutputParticleTypes() to support up to
260 multiplicity 9.
261
262- G4CascadeFunctions.icc: Implementations of template class functions.
263
264- G4CascadeXXXChannel.hh: Add "31," as initial template argument for Data.
265 Add G4CascadeSampler as second template argument in G4CascadeXXXChannel
266 typedef.
267
268
26914 May 2010 Michael Kelsey (hadr-casc-V09-03-32)
270------------------------------------------------
271Continue revisions to two-body collision lookup tables. Make the kaon and
272hyperon channels compatible with the pion/nucleon samplers, before the next
273stage of unifying the structure.
274
275- G4CascadeSampler: NEW class, parallel to G4FinalStateSampler but with a
276 different energy binning. Used as base class to G4CascadeFunctions<T>,
277 from which the cross-section and other arrays are passed. Implement
278 findMultiplicity (cf. G4CascadeFunctions::getMultiplicity) to return the
279 true value, not the array index.
280
281 This class replaces functionality of G4CascadeChannel, which is redundant.
282
283- G4CascadeChannel: Remove all interpolation code, leaving only getQnums().
284
285- G4CascadeFunctions: Inherit from G4CascadeSampler for interpolations,
286 except for final-state extraction (where FS type arrays are dealt with
287 locally, not passed). Public static functions rely on private instantiated
288 version of class to do work, so that G4CascadeSampler gets instantiated.
289
290- G4CascadeData: Remove final template argument (total number of indices),
291 as redundant with simple sum of multplicity indices. Use template args to
292 dimension data member arrays (const references), and to statically
293 initialize the start-stop index table. Make large cross-sections table
294 G4double, not G4float. Define ctor to pass in array refs for initialization.
295 Reduce index array to single dimension (start=index[i], stop=index[i+1]).
296
297- G4CascadeXXXChannel: All of the initial-state channel "classes"
298 (typedef names) modified to follow G4CascadeData rewrite. In .cc file,
299 the explicit lookup tables are static, and passed by const-ref to
300 G4CascadeData. The "initializer" struct is dropped; with the static
301 "data" object initialized by ctor here.
302
303- G4ElementaryParticleCollider.cc: In ::generateMultiplicity(), eliminate
304 extra "+2" and "-2" applied to local "mul" variables. With change above,
305 all functions return return true multiplicity, not array index.
306
307- G4FinalStateSampler: Add findFinalStateIndex() function, to make
308 interface match G4CascadeSampler exactly. Reduce index array to single
309 dimension.
310
311- G4PionSampler.cc, G4NucleonSampler.cc: Use new findFinalStateIndex()
312 function in GetFSPartTypesXXX() functions. Reduce index array to single
313 dimension (start=index[i], stop=index[i+1]).
314
31514 May 2010 Michael Kelsey (hadr-casc-V09-03-31)
316------------------------------------------------
317Begin revisions to two-body collision lookup tables. This will be a major
318reorganization, splitting the G4PionSampler and G4NucleonSampler into
319separate little "classes" (typedefs) for each initial state, in the same way
320that the kaon and hyperon states are done now. The underlying templated and
321base classes will be unified across all of the channels.
322
323- G4CascadeInterpolator: NEW class to encapsulate interpolation procedure.
324 Uses C-style arrays passed by dimensioned reference, to allow compile-time
325 array bounds checking. Template argument is array dimension, and array of
326 energy bins is saved by ctor. User array to be interpolated is passed as
327 function argument. Last value interpolated, along with result, is saved,
328 to allow fast multiple interpolations.
329
330 This class is substantially more lightweight than G4PhysicsVector.
331
332- G4FinalStateSampler: Replace manual interpolation with G4CascadeInterpolator.
333 Remove redundant sampleFlat(...) function with argument. Rename member
334 functions in anticipation of merging with G4CascadeFunctions.
335
336- G4PionSampler.cc, G4NucleonSampler.cc: Follow use of G4CascadeInterpolator
337 above, and drop local caching of interpolation results. Reduce offset
338 list for cross-sections to one dimension (start=index[i], stop=index[i+1]).
339
34011 May 2010 Michael Kelsey (hadr-casc-V09-03-30)
341------------------------------------------------
342Bug fixes in the two-body scattering code.
343
344- G4PionSampler.cc, G4NucleonSampler.cc: Fix long-standing bug with offset
345 indices computed for cross-section tables. XXXindex[m][0] (start) and
346 XXXindex[m][1] (stop) are computed in initChannels() as [start,stop]
347 inclusive range (i.e., "for (i=start; i<=stop; i++)"), but used with
348 G4FinalStateSampler::fillSigmaBuffer (and its predecessor code) as
349 [start,stop) exclusive range (i.e., normal C style "for (i=start; i<stop;
350 i++)"). This is fixed by properly setting XXXindex[m-1][1] =
351 XXXindex[m][0], and using the ranges consistently in initChannels().
352
353- G4ElementaryParticleCollider.cc: In the six pion-nucleon scatters, the
354 two-body final state is incorrectly tested for charge-exchange. All the
355 if statements check whether "particle_kinds[0]" is the initial nucleon,
356 but the outgoing baryon actually appears in particle_kinds[1]. Replace
357 the individual tests with the use of "finaltype", moved out of the
358 strangeness if-block.
359
36006 May 2010 Michael Kelsey (hadr-casc-V09-03-29, hadr-casc-V09-03-23-01)
361------------------------------------------------------------------------
362- G4Diproton.cc, G4Dineutron.cc, G4UnboundPN.cc: After creating instance
363 of these "internal" particles, remove the pointer from G4ParticleTable.
364 This avoids an issue with the FTFP de-excitation code, which occasionally
365 picks up the diproton and puts it onto a final-state particle list.
366
367These three changes, and nothing else, are "backported" on top of -23 for
368continued validation tests.
369
37030 Apr 2010 Dennis Wright (hadr-casc-V09-03-28)
371-----------------------------------------------
372- G4ElementaryParticleCollider:
373 improved pi-nucleon two-body angular distributions, and made
374 sampling of CM angle faster. As a result, the methods
375 getElasticCase and adjustIntervalForElastic were made redundant
376 and removed. Also removed array containing old angular distribution
377 parameters.
378
379 Now use nucleon-nucleon angular distributions for hyperon-nucleon
380 scattering, and pi-nucleon dsitributions for kaon-nucleon scattering
381 (until specific kaon distributions are added).
382
38329 Apr 2010 Michael Kelsey (hadr-casc-V09-03-27)
384------------------------------------------------
385- G4InuclPartcleNames.hh: Long name "gamma" conflicts with math function.
386 Change back to "photon".
387
388- G4InuclElementaryParticle.cc, G4InuclEvaporation.cc,
389 G4NonEquilibriumEvaporator.cc, G4NucleiModel.cc, G4NucleonSampler.cc,
390 G4PionSampler.cc, G4PreCompoundCascadeInterface.cc,
391 G4PreCompoundInuclCollider.cc: Replace "gamma" with "photon".
392
393- G4InuclElementaryParticle.hh: Change "photon()" to "isPhoton()" to avoid
394 conflicts with names enum. Use names enum internally as well.
395
396- G4ElementaryParticleCollider.cc, G4InuclCollider.cc,
397 G4PreCompoundInuclCollider.cc: Change "photon()" to "isPhoton()".
398
39928 Apr 2010 Michael Kelsey (hadr-casc-V09-03-26)
400------------------------------------------------
401All changes below within "cascade/" subdirectory:
402
403- G4InuclParticleNames.hh: Define enums for particle type codes, using both
404 "long" and "short" names copied from existing duplicated enums. One
405 change is that "kp" and "km" are replaced by "kpl" and "kmi" respectively,
406 since "km" conflicts with GEANT4 "kilometers" unit. Deploy in classes:
407
408 include/G4FinalStateSampler.hh
409 src/G4CascadeElasticInterface.cc
410 src/G4CascadeInterface.cc
411 src/G4ElasticCascadeInterface.cc
412 src/G4ElementaryParticleCollider.cc
413 src/G4InuclElementaryParticle.cc
414 src/G4InuclEvaporation.cc
415 src/G4NucleonSampler.cc
416 src/G4PionSampler.cc
417 src/G4PreCompoundCascadeInterface.cc
418
419- G4InuclElementaryParticle.cc: Add Omega- and antinucleon partcles to lists.
420 No code uses these (yet).
421
42224 April 2010 Michael Kelsey (hadr-casc-V09-03-25)
423--------------------------------------------------
424Remove redundant classes, G4Ibertini and G4BertiniRegionModel.
425
42621 April 2010 Michael Kelsey (hadr-casc-V09-03-24)
427--------------------------------------------------
428- G4NucleiModel.hh,cc: Eliminate last remaining hardwired baryon masses.
429
43018 April 2010 Michael Kelsey (hadr-casc-V09-03-23)
431--------------------------------------------------
432Final revisions to access std::vector<particle> via const-references:
433
434 G4CascadeInterface.cc
435 G4EquilibriumEvaporator.cc
436 G4IBertini.cc
437 G4InuclCollier.cc
438 G4NucleiModel.cc
439 G4PreCompoundCascadeInterface.cc
440
441- G4CollisionOutput: Add new function to boost output lists to lab frame.
442
44314 April 2010 Michael Kelsey (hadr-casc-V09-03-22)
444--------------------------------------------------
445- G4CascadeInterface.cc, G4IBertini.cc, G4PreCompoundCascadeInterface.cc:
446 In ::ApplyYourself(), do the check on K0L/K0S _before_ passing G4PartDefn
447 to G4InuclElemPart::type(). This avoids unnecessary warning message.
448
44914 April 2010 Michael Kelsey (temporary: kelsey-memClean3)
450----------------------------------------------------------
451All changes below within "cascade/" subdirectory:
452
453- G4FinalStateSampler: Replace "sigma" argument for sampling with data
454 member, add functions to fill sigma buffer by passing in array references.
455 Provide typedef for interpolator, and function to apply interpolation.
456
457- G4PionSampler, G4NucleonSampler: Follow changes to base class,
458 eliminating much of the copy-and-paste code blocks via function calls.
459 Replace G4float arrays with G4double, to support passing into functions.
460
46113 April 2010 Michael Kelsey (hadr-casc-V09-03-21)
462--------------------------------------------------
463All changes below within "cascade/" subdirectory:
464
465- G4InuclSpecialFunctions.hh, paraMaker.cc, paraMakerTruncated.cc: Drop
466 return-by-value from paraMaker() and paraMakerTruncated(). Add second
467 argument with non-const reference to output buffer for return.
468
469- G4EquilibriumEvaporator.cc: Follow changes above to paraMaker(), use
470 references to address parms.first and parms.second, instead of copying.
471
472- G4NonEquilibriumEvaporator.cc: Follow changes above to
473 paraMakerTruncaed(), use references to address parms.first and
474 parms.second, instead of copying.
475
476- G4Dineutron, G4Diproton, G4UnboundPN: Inherit from G4VShortLivedParticle,
477 per Kurashige. Thought it would eliminate G4ElectronOccupancy churn, but
478 did not.
479
48012 April 2010 Michael Kelsey (hadr-casc-V09-03-20)
481--------------------------------------------------
482All changes below within "cascade/" subdirectory:
483
484- G4NucleiModel: Move function implementations from .hh to .cc. Replace
485 manual sorting (inefficient O(N^2)) with std::sort() and simple
486 "less-than" function for std::pair<> "partners".
487
488- G4CollisionOutput: Move function implementations from .hh to .cc. Use
489 std::vevtor<>::insert() to add vectors together.
490
491- Replace return-by-value G4CollisionOutput with non-const reference buffer
492 passed into xxx::collide(), in the following classes:
493 G4BigBanger
494 G4CascadeElasticInterface
495 G4CascadeInterface
496 G4ElasticCascadeInterface
497 G4ElementaryParticleCollider
498 G4EquilibriumEvaporator
499 G4EvaporationInuclCollider
500 G4Fissioner
501 G4IBertini
502 G4IntraNucleiCascader
503 G4InuclCollider
504 G4InuclEvaporation
505 G4NonEquilibriumEvaporator
506 G4NucleiModel
507 G4PreCompoundCascadeInterface
508 G4PreCompoundInuclCollider
509
510 Note that some places where internal G4CollisionOutput buffers are being
511 used (and their contents appended to the global output) have not been
512 cleaned up yet. These will require some rearrangement of the algorithms,
513 or/and elimination of debugging output.
514
51509 April 2010 Michael Kelsey (hadr-casc-V09-03-16-01)
516-----------------------------------------------------
517This modification is included in a pseudo-patch of hadr-casc-V09-03-16,
518without brining in any of the -17 through -19 modifications.
519
520- G4LorentzVector.cc: Protect two instances of sqrt() against tiny negative
521 arguments (due to tiny-tiny subtractions).
522
52309 April 2010 Michael Kelsey (hadr-casc-V09-03-19)
524--------------------------------------------------
525All changes below within "cascade/" subdirectory:
526
527- G4InuclParticle, G4InuclElementaryParticle, G4InuclNuclei: Eliminate
528 unused G4String ctor argument, introduced in hadr-casc-V09-03-01. Causes
529 a lot of pointless memory churn.
530
531- G4BigBanger.cc: Fix type conversion warning I introduced by mistake.
532
53308 April 2010 Michael Kelsey (hadr-casc-V09-03-18)
534--------------------------------------------------
535All changes below within "cascade/" subdirectory:
536
537- G4PionSampler, G4NucleonSampler: For all ::GetFSPartTypes*() functions,
538 eliminate return-by-value std::vector<>, and pass in non-const reference
539 for filling in situ. Buffer is cleared.
540
541- G4ElementaryParticleCollider.cc: Follow changes above for Sampler calls.
542
54307 April 2010 Michael Kelsey (hadr-casc-V09-03-17)
544--------------------------------------------------
545All changes below within "cascade/" subdirectory:
546
547Replace return-by-value std::vector<> with either const-ref returns, or
548with use of an internal buffer which can be reused, to reduce memory
549churn due to copying, allocation, and resizing.
550
551- G4BigBanger: Create data buffer for lists of secondaries and momenta.
552 Fill buffers in ::generateBangInSCM() and ::generateMomentumModules(),
553 which are now non-const. Reference buffers in ::collide().
554
555- G4CascadeFunctions::getOutgoingParticleTypes(): Make "kinds" a static
556 variable (buffer), and return it by const-ref.
557
558- G4ElementaryParticleCollider: Eliminate return-by-value std::vector<>
559 on the functions listed below, by creating data buffers for particles,
560 momenta, and particle types. The functions become non-const and void:
561 ::generateSCMfinalState(), ::generateMomModules()
562 ::generateStrangeChannelPartTypes(), ::generateSCMpionAbsorption()
563
564 Also, in ::generateStrangeChannelPartTypes(), use a switch statement
565 instead of the long cascade of if-else-else.
566
567- G4NucleiModel: Several member functions have different modifications:
568
569 ::initializeCascad(bullet,target) -- Replace return value with a passed-in
570 (non-const reference) buffer to be filled. The calling code can
571 pass in a data member, local variable, or whatever.
572
573 ::generateParticleFate() -- Replace local "thePartners" variable with data
574 member, filled below. Move "outgouing_cparticles" to data member
575 (fix the spelling!), and return by const-ref.
576
577 ::generateInteractionPartners() -- Eliminate return value; fill data
578 member instead, to be used by ::generateParticleFate().
579
580- G4IntraNucleiCascader.cc: Follow changes to initializeCascad() above.
581
582- G4NucleonSampler, G4PionSampler: ** DON'T KNOW WHAT TO DO HERE **
583
584- G4WatcherGun: Return const-ref to list of watchers, instead of copy.
585
586Replace all uses of std::vector<>::resize(0) with ::clear(). The former
587causes deallocation/reallocation/resizing cycles, while clear() just removes
588content, preserving the allocated buffer.
589
590 include/G4CollisionOutput.hh
591 src/G4ElementaryParticleCollider.cc
592 src/G4NucleiModel.cc
593 src/G4WatcherGun.cc
594
59507 April 2010 Dennis Wright (hadr-casc-V09-03-16)
596-------------------------------------------------
597- fix negative energy bug in G4BigBanger, and switch to using
598 G4NucleiProperties::GetBindingEnergy
599
60007 April 2010 Michael Kelsey (hadr-casc-V09-03-15)
601--------------------------------------------------
602All changes below within "cascade/" subdirectory:
603
6041) Systematically replace pass-by-value function arguments with const-refs.
605This is the first step in reducing unnecessary memory churn, to be followed
606by replacing return-by-value std::vector<> with non-const argument buffers.
607
608 include/G4CascadeChannel.hh
609 include/G4FinalStateSampler.hh
610 include/G4InuclEvaporation.hh
611 include/G4NuclWatcher.hh
612 src/G4CascadeChannel.cc
613 src/G4FinalStateSampler.cc
614 src/G4InuclEvaporation.cc
615 src/G4NuclWatcher.cc
616
6172) Fix constness on some operator== and operator!= definitions.
618
619 include/G4CascadeElasticInterface.hh
620 include/G4CascadeInterface.hh
621 include/G4ElasticCascadeInterface.hh
622 include/G4IBertini.hh
623 include/G4PreCompoundCascadeInterface.hh
624
62507 Apr 2010 Michael Kelsey (hadr-casc-V09-03-14)
626------------------------------------------------
627- G4Dineutron.hh, G4Diproton.hh, G4UnboundPN.hh:
628 Reset static "theInstance" pointer to zero in (now virtual) destructor.
629
630- G4Dineutron.cc, G4Diproton.cc, G4UnboundPN.cc:
631 Implement constructor to do the G4Ions initialization, rather than in
632 ::Definition(). Drop use of G4ParticleTable; just monitor static pointer.
633 Set "ShortLived" flag in G4Ions initialization, to avoid interactions with
634 ProcessManager.
635
636- G4InuclNuclei.cc: In ::makeNuclearFragment(), set "ShortLived" flag for
637 G4Ions, to avoid interactions with ProcessManager.
638
63926 Mar 2010 Dennis Wright (hadr-casc-V09-03-13)
640-----------------------------------------------
641- G4EquilibriumEvaporator.cc: remove line #include "G4types.hh"
642 (file doesn't exist)
643
64420 Mar 2010 Michael Kelsey (hadr-casc-V09-03-12)
645------------------------------------------------
646All changes below within "cascade/" subdirectory:
647
648- G4EquilibriumEvaporator.cc: Move subtraction of Q1[i] outside new
649 GetBindingEnergy() call.
650
651- G4InuclNuclei.cc::makeNuclearFragment(): Add message warning users about
652 non-physical creation. Use new GetBindingEnergy() function here as well
653 (V09-03-05 didn't have this function, so wasn't included in migration).
654
65519 Mar 2010 Michael Kelsey (hadr-casc-V09-03-11)
656------------------------------------------------
657All changes below within "cascade/" subdirectory:
658
659- G4InuclSpecialFunctions: Two new functions:
660
661::generateWithRandomAngles() to encapsulate random-direction generation.
662 This function and existing generateWithFixedTheta() take optional mass
663 argument to produce proper four-vector.
664
665 Replace duplicated random angle code with new function above, and use new
666 optional mass argument where available:
667
668 G4BigBanger.cc
669 G4ElementaryParticleCollider.cc
670 G4EquilibriumEvaporator.cc
671 G4Fissioner.cc
672 G4NonEquilibriumEvaporator.cc
673 G4NucleiModel.cc
674
675::G4cbrt(): Define cube-root in terms of log and exp, rather than pow().
676 Note that "cbrt()" can't be used, as it conflicts with <math.h> on Linux.
677
678 Eliminate unnecessary uses of std::pow() with fixed arguments. For
679 example, "pow(x,3)" -> "x*x*x", "pow(x,1/3)" -> G4cbrt(x):
680
681 G4BertiniRegionModel.cc
682 G4EquilibriumEvaporator.cc
683 G4EvaporationInuclCollider.cc
684 G4Fissioner.cc
685 G4IntraNucleiCascader.cc
686 G4InuclCollider.cc
687 G4NonEquilibriumEvaporator.cc
688 G4NucleiModel.cc
689 G4PreCompoundInuclCollider.cc
690 G4RegionModel.cc
691 bindingEnergyAsymptotic.cc
692 bindingEnergyKummel.cc
693
694 WARNING! In G4IntraNucleiCascader.cc, the Coulomb barrier was calculated
695 using "std::pow(A, 0.333)", rather than the "exact" 1./3. This leads to
696 per-mil differences in the value, and occasional differences in wheter an
697 outgoing particle tunnels through. The new code is exact to double
698 precision, and therefore fixes a bug.
699
700- Move "using" directive from all .hh files to corresponding .cc, along with
701 some unnecessary #includes:
702
703 G4BigBanger.hh, .cc
704 G4ElementaryParticleCollider.hh, .cc
705 G4EquilibriumEvaporator.hh, .cc
706 G4EvaporationInuclCollider.hh, .cc
707 G4Fissioner.hh, .cc
708 G4IntraNucleiCascader.hh, .cc
709 G4InuclCollider.hh
710 G4InuclNuclei.hh
711 G4NonEquilibriumEvaporator.hh, .cc
712 G4NucleiModel.hh, .cc
713 G4PreCompoundInuclCollider.hh, .cc
714
715- G4NuclWatcher.hh and .cc (new): Move implementation code from .hh to .cc.
716
71718 March 2010 Michael Kelsey (hadr-casc-V09-03-10)
718--------------------------------------------------
719All changes below within "cascade/" subdirectory:
720
721Missed one bug in repairs below, found when testing 4 GeV pi -> Pb.
722
723- G4Fissioner.cc: Replace incorrect G4LorentzVector ctor arguments
724 (G4ThreeVector,m) with call to G4LV::setVectM().
725
72617 March 2010 Dennis Wright (hadr-casc-V09-03-09)
727-------------------------------------------------
728Fix warning in G4InuclNuclei.cc: G4Ions:G4Ions was being called with
729a double (a) in its 13th argument, when an integer is required. Use
730G4lrint to convert.
731
73216 March 2010 Michael Kelsey (hadr-casc-V09-03-08)
733--------------------------------------------------
734All changes below within "cascade/" subdirectory:
735
736Fix bugs introduced during migration from G4CascadeMomentum to
737G4LorentzVector (see hadr-casc-V09-03-03). With these bug fixes, 2000
738events generated with "ppi4GeV" test executable are equivalent to production
739output (GEANT 4.9.3), allowing for differences in hardwired nucleon masses.
740When compared with hadr-casc-V09-03-02 (which uses G4ParticleDefinition for
741all the particle masses) the 2000-event results are identical within
742floating point precision.
743
744- G4BigBanger.cc: Line 72, fix unit conversion bug, GeV/MeV vs. MeV/GeV.
745 Replace incorrectly introduced cross-product with original vector
746 manipulation, written with G4LorentzVector accessors.
747
748- G4CollisionOutput::selectPairToTune(): Test on "i3>0" not appropriate with
749 G4LorentzVector indexing. Replace with failure-test on "i3<0". Also
750 simplify final if-cascade for readability.
751
752- G4EquilibriumEvaporator.cc: Replace incorrect G4LorentzVector ctor
753 arguments (px,py,pz,m) with call to G4LV::setVectM().
754
755- G4IntraNuclearCascader.cc: Replace leftover momentum_out[0] with .e().
756
757- G4InuclNuclei.cc,hh: Add new function ::makeNuclearFragment(a,z,exc),
758 which "manually" construct a G4Ions object for cases where A/Z is not a
759 valid stable or unstable nucleus. These unphysical objects are passed
760 back from G4IntraNuclearCascader.cc and immediately passed to G4BigBanger
761 for conversion to nucleons. A future change should move this action into
762 G4INCascader and eliminate the need for unphysical nuclei.
763
764- G4LorentzConvertor::toTheTargetRestFrame(): Remove local declaration of
765 scm_momentum, restoring access to data member with that name.
766
767- G4NucleiModel::generateQuasiDeutron(): Undo consolidation of dmom with
768 local variables for each of the nucleon momenta. Stack corruption led to
769 differences in unbound p-n state relative to pp and nn states.
770
771Minor updates: Changed all the "verboseLevel()" initializers to (0), via a
772shell script. This allows making the code uniformly verbose or quiet.
773
774 include/G4NucleiModel.hh
775 src/G4Analyser.cc
776 src/G4CollisionOutput.cc
777 src/G4ElementaryParticleCollider.cc
778 src/G4FissionStore.cc
779 src/G4Fissioner.cc
780 src/G4IntraNucleiCascader.cc
781 src/G4NonEquilibriumEvaporator.cc
782 src/G4NucleiModel.cc
783 src/G4WatcherGun.cc
784
78516 March 2010 Michael Kelsey (hadr-casc-V09-03-DO-NOT-USE)
786--------------------------------------------------
787All changes below within "cascade/" subdirectory:
788
789Restore version hadr-casc-V09-03-05 to HEAD of CVS in order to apply bug
790fixes and re-deploy migration from G4CascadeMomentum to G4LorentzVector.
791This reversion is tagged as a checkpoint only, and should not be used for
792testing or running (since it restores the known bugs in V09-03-03).
793
794The update to G4InteractionCase.hh by Gabriele Cosmo in hadr-casc-V09-03-07
795is not touched by this reversion!
796
797The following CVS commands were used to perform the reversion:
798
799 cvs update -j1.13 -j1.12 cascade/include/G4CascadParticle.hh
800 cvs update -j1.4 -j1.3 cascade/include/G4CascadeMomentum.hh
801 cvs update -j1.15 -j1.14 cascade/include/G4CollisionOutput.hh
802 cvs update -j1.23 -j1.22 cascade/include/G4ElementaryParticleCollider.hh
803 cvs update -j1.9 -j1.8 cascade/include/G4InuclCollider.hh
804 cvs update -j1.19 -j1.18 cascade/include/G4InuclElementaryParticle.hh
805 cvs update -j1.12 -j1.11 cascade/include/G4InuclNuclei.hh
806 cvs update -j1.16 -j1.15 cascade/include/G4InuclParticle.hh
807 cvs update -j1.13 -j1.12 cascade/include/G4InuclSpecialFunctions.hh
808 cvs update -j1.13 -j1.12 cascade/include/G4LorentzConvertor.hh
809 cvs update -j1.4 -j1.3 cascade/include/G4ParticleLargerBeta.hh
810 cvs update -j1.9 -j1.8 cascade/include/G4ParticleLargerEkin.hh
811 cvs update -j1.20 -j1.19 cascade/src/G4BigBanger.cc
812 cvs update -j1.13 -j1.12 cascade/src/G4CascadParticle.cc
813 cvs update -j1.6 -j1.5 cascade/src/G4CascadeElasticInterface.cc
814 cvs update -j1.68 -j1.67 cascade/src/G4CascadeInterface.cc
815 cvs update -j1.18 -j1.17 cascade/src/G4CollisionOutput.cc
816 cvs update -j1.7 -j1.6 cascade/src/G4ElasticCascadeInterface.cc
817 cvs update -j1.6 -j1.5 cascade/src/G4EvaporationInuclCollider.cc
818 cvs update -j1.5 -j1.4 cascade/src/G4IBertini.cc
819 cvs update -j1.3 -j1.2 cascade/src/G4InuclElementaryParticle.cc
820 cvs update -j1.10 -j1.9 cascade/src/G4InuclEvaporation.cc
821 cvs update -j1.3 -j1.2 cascade/src/G4InuclNuclei.cc
822 cvs update -j1.4 -j1.3 cascade/src/G4InuclParticle.cc
823 cvs update -j1.17 -j1.16 cascade/src/G4InuclSpecialFunctions.cc
824 cvs update -j1.19 -j1.18 cascade/src/G4LorentzConvertor.cc
825 cvs update -j1.5 -j1.4 cascade/src/G4PreCompoundCascadeInterface.cc
826 cvs update -j1.4 -j1.3 cascade/src/G4PreCompoundInuclCollider.cc
827
828Intermediate versions below had bindingEnergy changes from -05 re-applied
829
830 cvs update -j1.23 -j1.21 cascade/src/G4EquilibriumEvaporator.cc
831 cvs update -j1.22 -j1.20 cascade/src/G4Fissioner.cc
832 cvs update -j1.29 -j1.27 cascade/src/G4IntraNucleiCascader.cc
833 cvs update -j1.24 -j1.22 cascade/src/G4InuclCollider.cc
834 cvs update -j1.23 -j1.21 cascade/src/G4NonEquilibriumEvaporator.cc
835 cvs update -j1.38 -j1.36 cascade/src/G4NucleiModel.cc
836
837G4ElementaryParticleCollider::particleSCMmomentumFor2to2: Restore new
838parametrization of elastic scattering added by D.Write in hadr-casc-V09-03-06
839
840 cvs update -j1.47 -j1.45 cascade/src/G4ElementaryParticleCollider.cc
841 + editing
842
84305 Mar 2010 Gabriele Cosmo (hadr-casc-V09-03-07)
844------------------------------------------------
845- Reinstated fix in G4InteractionCase.hh for initialisation in constructor to
846 allow for porting on C++0x Standard.
847
84807 Feb 2010 Dennis Wright (hadr-casc-V09-03-06)
849-----------------------------------------------
850- back out changes from tags V09-03-00 to V00-03-05 by restoring HEAD
851 to V09-02-11, and keeping the di-nucleon classes
852- replace Bertini method bindingEnergy() with
853 G4NucleiProperties::GetBindingEnergy() in classes
854 G4IntraNuclearCascader, G4InuclCollider, G4NucleiModel, G4EquilibriumModel,
855 G4NonEquilibriumModel, G4Fissioner. Note that G4Fissioner still uses the
856 Bertini method bindingEnergyAsymptotic.
857
858- G4ElementaryParticleCollider::particleSCMmomentumFor2to2
859 replace original (incorrect) pp, pn, nn 2-body to 2-body scattering angular
860 distributions with a new parameterization of elastic scattering data using
861 the sum of two exponentials
862
86302 Feb 2010 Dennis Wright (hadr-casc-V09-03-05)
864-----------------------------------------------
865- replace all uses of bindingEnergy (local Bertini method) with the
866 Geant4 standard G4NucleiProperties::GetBindingEnergy(A,Z)
867 files modified:
868 G4IntraNucleiCascader.cc
869 G4InuclCollider.cc
870 G4NucleiModel.cc
871 G4EquilibriumEvaporator.cc
872 G4NonEquilibriumEvaporator.cc
873 G4Fissioner.cc
874- note that G4Fissioner still uses Bertini method bindingEnergyAsymptotic
875
87628 Jan 2010 Dennis Wright (hadr-casc-V09-03-04)
877-----------------------------------------------
878- fix unused variable warnings in G4InuclParticle.hh, .cc and
879 G4NonEquilibriumEvaporator.cc
880
88126 Jan 2010 Michael Kelsey (hadr-casc-V09-03-03)
882------------------------------------------------
883All changes below within "cascade/" subdirectory:
884
885- G4ParticleLargerBeta.hh: Fix to use of CVS "Name" tag; no code changes.
886
887- G4CascadParticle: Replace the position std::vector<> with G4ThreeVector.
888
889- G4NucleiModel: Replace all std::vector<> coordinates with G4ThreeVector,
890 and use vector math for computations.
891
892Remove all use of G4CascadeMomentum (a simple container with a C-style
893four-element array) with G4LorentzVector. This is a fairly invasive change,
894since G4CascMom was used for all of the three- and four-vector operations
895throughout the Bertini code:
896
897 include/G4CascadParticle.hh
898 include/G4CollisionOutput.hh
899 include/G4ElementaryParticleCollider.hh
900 include/G4InuclCollider.hh
901 include/G4InuclElementaryParticle.hh
902 include/G4InuclNuclei.hh
903 include/G4InuclParticle.hh
904 include/G4InuclSpecialFunctions.hh
905 include/G4LorentzConvertor.hh
906
907 src/G4BigBanger.cc
908 src/G4CascadParticle.cc
909 src/G4CascadeElasticInterface.cc
910 src/G4CascadeInterface.cc
911 src/G4CollisionOutput.cc
912 src/G4ElasticCascadeInterface.cc
913 src/G4ElementaryParticleCollider.cc
914 src/G4EquilibriumEvaporator.cc
915 src/G4EvaporationInuclCollider.cc
916 src/G4Fissioner.cc
917 src/G4IBertini.cc
918 src/G4IntraNucleiCascader.cc
919 src/G4InuclCollider.cc
920 src/G4InuclElementaryParticle.cc
921 src/G4InuclEvaporation.cc
922 src/G4InuclNuclei.cc
923 src/G4InuclParticle.cc
924 src/G4InuclSpecialFunctions.cc
925 src/G4LorentzConvertor.cc
926 src/G4NonEquilibriumEvaporator.cc
927 src/G4NucleiModel.cc
928 src/G4PreCompoundCascadeInterface.cc
929 src/G4PreCompoundInuclCollider.cc
930
931The new code is not yet entirely "correct," since Bertini also does a lot of
932operations by way of three-momentum, imposing masses (and hence energy
933conservation) separately, after the fact.
934
93520 Jan 2010 Gabriele Cosmo
936--------------------------
937- G4InteractionCase.hh: Minor fix in initialisation in constructor to
938 allow for porting on C++0x Standard.
939
94020 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02)
941------------------------------------------------
942- G4LorentzConvertor.hh: Fix scm_momentum data member to be G4ThreeVector
943 (as used in previous versions) rather than G4LorentzVector.
944
945NOTE: I have *retagged* cascade/include/G4LorentzConverter.hh and this
946 History file, rather than creating a new tag, since these are private
947 development only, not public releases.
948
94912 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02)
950------------------------------------------------
951All changes below within "cascade/" subdirectory:
952
953- G4CascadeMomentum: Replace use of static G4LV variables within functions
954 with mutable data member of object; this does introduce more memory
955 thrashing, but the plan is to get rid of the whole thing anyway. Improve
956 implicit casting and add assignment from G4LV.
957
958- G4LorentzConverter: Change function signatures to accept G4LV as input,
959 using implicit cast to convert existing G4CascadeMomentum argument
960 passing. Use G4LV internally throughout, again using implicit cast to
961 return G4CascMom values. This substantially increases (temporarily!)
962 memory thrashing. Simplify ::rotate() functions to use G4LV and
963 G4ThreeVec operations rather than array index gymnastics. Move some
964 function implementations out of .hh file into .cc.
965
966- G4ParticleLargerEkin.hh: Fix use of CVS "Name" tag. No code changes.
967
96812 Jan 2010 Michael Kelsey (hadr-casc-V09-03-01)
969------------------------------------------------
970All changes below within "cascade/" subdirectory:
971
972- G4ParticleLargerBeta, G4ParticleLargerEkin: Add additional operator()
973 which takes pointers (for future mods to reduce ctor/dtor cycling), and
974 fix ordering bug in beta sorting. Add debugging printout togged with
975 preprocessor flag.
976
977- G4InuclParticle, G4InuclNuclei, G4InuclElementaryParticle: Rewrite to
978 carry G4DynamicParticle data member, and to instantiate particle
979 properties via G4ParticleDefinition subclasses. This is first stage in
980 eventually eliminating the G4InuclParticle stuff entirely in favor of
981 direct use of G4DynamicParticle for internal propagation.
982
983These changes have been testing using debugging output on the production
984(4.9.3) code compared to the above changes. |diff| shows mostly identical
985results, with occasional ~1e-5 floating point differences.
986
98708 Jan 2010 Michael Kelsey (hadr-casc-V09-03-00)
988------------------------------------------------
989All changes below within "cascade/" subdirectory:
990
991- G4BertiniNuclearModel: REMOVE this class from the HEAD, and hopefully all
992 future tags. It is redundant with the G4NuclearModel class, and is not
993 used anywhere in the G4 distribtion; the latter is referenced in both
994 regular G4 code and in examples.
995
996- G4Diproton, G4Dineutron, G4UnboundPN: New G4ParticleDefinition
997 subclasses, which implement the Bertini-specific dibaryon states. These
998 are not used anywhere as yet, but will be used in future modifications to
999 the G4InuclParticle subclasses.
1000
1001- G4CascadeMomentum: Add interface to create from and cast to
1002 G4LorentzVector. Will be used (in future) by G4InuclParticle modifications,
1003 and provides a transition to eliminating this class entirely.
1004
10051 Dec 2009 Dennis Wright (hadr-casc-V09-02-11)
1006----------------------------------------------
1007- G4PionSampler, G4NucleonSampler: change loop variable in ctor from i to j
1008 in order to satisfy Windows compiler
1009
101011 Nov 2009 Dennis Wright (hadr-casc-V09-02-10)
1011-----------------------------------------------
1012- G4CascadParticle, G4InuclElementaryParticle: add integer argument to ctor
1013 to indicate which generation cascade particle belongs to.
1014 Also change G4NucleiModel and G4BertiniNucleiModel to use this.
1015
1016 8 Oct 2009 Dennis Wright (hadr-casc-V09-02-09)
1017-----------------------------------------------
1018- G4PionSampler: use charge exchange cross section for pi0-p, go back
1019 original Bertini pi0-p elastic partial cs. Update pi0 total cross
1020 section accordingly. Improve fits to pi-p partial cs and update
1021 pi- total cross sections.
1022- G4NucleiModel: update pi- and pi0 total cross sections
1023
102424 Sep 2009 Dennis Wright (hadr-casc-V09-02-08)
1025-----------------------------------------------
1026- add class G4NucleonSampler which replaces old pp, pn, and nn partial and
1027 total cross sections also modify other classes which use them
1028- move large arrays which are instantiated at every call of frequently
1029 used methods. They are now initialized once in constructors.
1030- G4CascadSpecialFunctions: put copy of total cross section method
1031 in G4NucleiModel, also remove unneeded energy scale arrays
1032 (now replaced with a new one)
1033- G4CascadeInterface: move instantiation of various collider classes
1034 outside of loop, and put on stack instead of heap
1035- G4ElementaryParticleCollider: re-design to use G4NucleonSampler and
1036 remove instantiation of large arrays from within loops in code
1037- G4NucleiModel: remove instatiation of large arrays from with loops,
1038 add new total cross section sampling, remove use of all but one
1039 energy scale
1040
104117 Sep 2009 Dennis Wright (hadr-casc-V09-02-07)
1042-----------------------------------------------
1043- G4PionSampler: remove large static arrays
1044- G4FinalStateSampler: remove static array pointer to G4 particle types
1045- G4ElementaryParticleCollider: clean up
1046
10474 Sep 2009 Dennis Wright (hadr-casc-V09-02-06)
1048----------------------------------------------
1049- add assignment operator to class G4CollisionOutput
1050
105131 Aug 2009 Dennis Wright (hadr-casc-V09-02-05)
1052-----------------------------------------------
1053- add class G4FinalStateSampler which was accidentally omitted from
1054 the previous tag
1055
105625 Aug 2009 Dennis Wright (hadr-casc-V09-02-04)
1057-----------------------------------------------
1058- correct bug in particle ordering in G4PionSampler
1059- clean up dead code in G4NucleiModel and G4ElementaryParticleCollider
1060
106120 Aug 2009 Dennis Wright (hadr-casc-V09-02-03)
1062-----------------------------------------------
1063- create class G4PionSampler: samples partial cross sections, multiplicities
1064 and final state particle types required for pi+, pi- and pi0 scattering
1065 within a nucleus. This class uses re-evaluated pion partial cross sections
1066 and includes production of strange particle pairs.
1067- G4CascadeSigmaPlusNChannel: correct sigma plus cross sections
1068- G4CascadSpecialFunctions: move pion, kaon, hyperon total cross sections
1069 to this class
1070- G4ElementaryParticleCollider: re-write to use G4PionSampler class for
1071 cross sections and multiplicities, remove method reChargering (now redundant)
1072
107315 Apr 2009 Dennis Wright (hadr-casc-V09-02-02)
1074-----------------------------------------------
1075- previous tag no longer used. Bring hadr-casc-V09-02-00 back to
1076 HEAD and re-tag
1077
107821 Feb 2009 Dennis Wright (hadr-casc-V09-02-01)
1079-----------------------------------------------
1080- add printCrossSection method to G4CascadSpecialFunctions
1081- in GeElementaryParticleCollider, add high energy flag to distinguish
1082 "string-like" behavior
1083- G4IntraNucleiCascader.cc - allow secondaries from HE interaction to
1084 leave nucleus without interacting
1085- G4NucleiModel - get high_energy_interaction flag value from G4ElementaryParticleCollider
1086
108711 Feb 2009 V.Ivanchenko (hadr-casc-V09-02-00)
1088-----------------------------------------------
1089- set absorption coefficient 1.0 instead of 0.2 inside
1090 G4CascadSpecialFunctions (D.Wright)
1091
109225 Nov 2008 Dennis Wright (hadr-casc-V09-01-10)
1093-----------------------------------------------
1094- fix multiplicity sampling in G4ElementaryParticleCollider::generateMultiplicity().
1095 Now partial cross sections are normalized to the total cross section instead
1096 of just the sum of 2-body to 6-body final state cross sections. Also fix
1097 2-body cross sections above 7 GeV where they were too small.
1098 Fix the same cross sections which appear in G4CascadSpecialFunctions.cc
1099
110021 Nov 2008 Dennis Wright (hadr-casc-V09-01-09)
1101-----------------------------------------------
1102- add some comments to cross section tables in G4CascadSpecialFunctions.cc
1103 and G4ElementaryParticleCollider.cc
1104
110524 Oct 2008 Dennis Wright (hadr-casc-V09-01-08)
1106-----------------------------------------------
1107- replace GetAtomicMass() with GetNuclearMass() in cascade/G4InuclEvaporation
1108 and evaporation/G4BertiniEvaporation
1109- V. Ivantchenko added name to G4CascadeInterface ("Bertini Cascade")
1110
111117 Oct 2008 Dennis Wright (hadr-casc-V09-01-07)
1112-----------------------------------------------
1113- added Coulomb barrier plus barrier penetration in G4IntraNucleiCascader.cc
1114
111527 Sep 2008 Dennis Wright (hadr-casc-V09-01-06)
1116-----------------------------------------------
1117- Fixed 4.3 compiler warnings for G4InuclElementaryParticle.hh by providing
1118 initializers for particle type and mass
1119- Remove unused variables totscm, totlab in G4BigBanger.cc,
1120 G4ElementaryParticleCollider.cc, and unused mom1 from G4InuclSpecialFunctions.cc
1121
112222 Sep 2008 Gabriele Cosmo (hadr-casc-V09-01-05)
1123------------------------------------------------
1124- Introduced simple wrapper class G4CascadeMomentum meant to replace usage
1125 of std::vector<double> in the cascade code, to reduce memory allocations.
1126 Courtesy of P.Elmer (princeton Univ.).
1127- Modified cascade code to make use of G4CascadeMomentum.
1128
1129 3 Sep 2008 Dennis Wright (hadr-casc-V09-01-04)
1130-----------------------------------------------
1131- G4ElementaryParticleCollider.cc: in method generateMultiplicity, remove
1132 large_cut which increases multiplicity from 3 to 4 abruptly at 4 GeV
1133 and above. This caused a sharp drop-off in the single pion spectra from
1134 pH reactions. The effect in heavier nuclei is small.
1135
113629 Jun 2008 Dennis Wright (hadr-casc-V09-01-03)
1137-----------------------------------------------
1138- add changes made by M. Paterno, J. Kowalkowski, and M. Fischler (FNAL)
1139 to speed up code. All G4Cascade***Channel classes and related code changed.
1140
1141 5 May 2008 Dennis Wright (hadr-casc-V09-01-02)
1142-----------------------------------------------
1143- retag hadr-casc-V09-csbug as hadr-casc-V09-01-02
1144
114530 Apr 2008 Dennis Wright (hadr-casc-V09-csbug)
1146-----------------------------------------------
1147- fix cross section bug in G4CascadSpecialFunctions that returned
1148 low or zero total cross sections for pi-p, pi+n, np, and pi0
1149 interactions
1150
115129 Apr 2008 Dennis Wright (hadr-casc-V09-01-01)
1152-----------------------------------------------
1153- bring tag hadr-casc-V09-01-coula to HEAD, make official tag
1154
115522 Apr 2008 Dennis Wright (hadr-casc-V09-01-param)
1156--------------------------------------------------
1157- changed pp, nn total cross section parameterization in
1158 G4CascadSpecialFunctions to more closely reflect the PDG values (old one
1159 was off by as much as a factor of 3.
1160
11613 Apr 2008 Dennis Wright (hadr-casc-V09-01-coula)
1162-------------------------------------------------
1163- removed Coulomb barrier from G4IntraNucleiCascader.cc (causes unphysical spike)
1164
11653 Apr 2008 Dennis Wright (hadr-casc-V09-01-coul)
1166------------------------------------------------
1167- Added Coulomb barrier in G4EquilibriumEvaporator.cc, G4IntraNucleiCascader.cc
1168
116917 Nov 2007 Dennis Wright (hadr-casc-V09-00-02)
1170-----------------------------------------------
1171- Fix angular distribution for nucleon-nucleon elastic scattering
1172 above 2.8 GeV, by modifying G4ElementaryParticleCollider::getElasticCase
1173
117425 May 2007 Dennis Wright for Aatos Heikkinen (hadr-casc-V08-03-00)
1175-------------------------------------------------------------------
1176- implemented interfaces for pre-equilibrium and equilbrium evaporation
1177 models
1178
117904 May 2007 Aatos Heikkinen (hadr-casc-V08-02-00)
1180-------------------------------------------------
1181
1182- Added protection in G4ElementaryParticleCollider against negative
1183 value to sqrt().
1184
118508 May 2006 Dennis Wright (hadr-casc-V08-00-00)
1186-----------------------------------------------
1187
1188- cascade: remove G4BERTINI_KAON conditional assembly flags. Files
1189 affected:
1190 G4ElementaryParticleCollider.hh, cc
1191 G4InuclElementaryParticle.hh
1192 G4NucleiModel.hh, cc
1193 G4CascadeInterface.cc
1194 G4IntraNucleiCascader.cc
1195
1196- cascade (Pekka Kaitaniemi): G4ElasticCascadeInterface: derive
1197 from G4VIntraNuclearTransportModel instead of G4HadronElastic.
1198 Check for case when no elastic scattering occurs. If so,
1199 return original bullet and target.
1200
120124 Nov 2005 Dennis Wright (hadr-casc-V07-01-00)
1202----------------------------------------------
1203
1204- cascade (bertini-V07-01-00 by Aatos Heikkinen)
1205 elastic scattering interface added:
1206 G4ElasticCascadeInterface.hh, .cc added
1207 G4CascadeInterface.hh modified
1208
Note: See TracBrowser for help on using the repository browser.