4436 lines
191 KiB
Plaintext
4436 lines
191 KiB
Plaintext
$Id: History 72222 2013-07-11 17:28:43Z mkelsey $
|
|
-------------------------------------------------------------------
|
|
|
|
==========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Physics Simulation
|
|
==========================================================
|
|
|
|
History file for hadronic/models/cascade
|
|
----------------------------------------
|
|
|
|
This file should be used to summarize modifications introduced in the
|
|
code and to keep track of all tags.
|
|
|
|
---------------------------------------------------------------
|
|
* Please list in reverse chronological order (last date on top)
|
|
---------------------------------------------------------------
|
|
|
|
29 November 2016 Dennis Wright (hadr-casc-V10-02-05)
|
|
----------------------------------------------------
|
|
- G4InuclCollider::photonuclearOkay(): fix segfault reported by Daren Sawkey
|
|
in bug report #1883
|
|
|
|
6 October 2016 Dennis Wright (hadr-casc-V10-02-04)
|
|
---------------------------------------------------
|
|
- G4EquilibriumEvaporator::deExcite: replace sampling of evaporation spectrum
|
|
with original Dostrovsky method
|
|
- paraMaker.cc: add comments
|
|
|
|
3 October 2016 Dennis Wright (hadr-casc-V10-02-03)
|
|
---------------------------------------------------
|
|
Mike Kelsey added the lines
|
|
process->PreparePhysicsTable(*part);
|
|
process->BuildPhysicsTable(*part);
|
|
in unit test cascade/test/cascade.cc to configure RunManager event loop
|
|
|
|
30 September 2016 Dennis Wright (hadr-casc-V10-02-02)
|
|
------------------------------------------------------
|
|
- add 8- and 9-body final states to K-, K0 and K0b induced reactions.
|
|
Classes affected: G4CascadeKminusNChannel, G4CascadeKminusPChannel,
|
|
G4CascadeKzeroBarNChannel, G4CascadeKzeroBarPChannel,
|
|
G4CascadeKzeroNChannel, G4CascadeKzeroPChannel
|
|
|
|
14 March 2016 Dennis Wright (hadr-casc-V10-02-01)
|
|
--------------------------------------------------
|
|
- G4InuclCollider.cc: re-instate getenv for photonuclearOkay(). This
|
|
method causes significant performance degradation and the physics needs
|
|
to be improved before it can made default
|
|
|
|
25 January 2016 Michael Kelsey (hadr-casc-V10-02-00)
|
|
-----------------------------------------------------
|
|
- G4InuclCollider.cc: Remove envvar which enables "photonuclearOkay()"
|
|
test. This test will now be used by default, improving the match for
|
|
production of neutrons and protons in the GDR region.
|
|
|
|
6 November 2015 Dennis Wright (hadr-casc-V10-01-13)
|
|
----------------------------------------------------
|
|
- G4CascadeKplusNChannel: extend to 9-body final states and 32 GeV using same
|
|
energy bins as G4CascadeKplusPChannel
|
|
|
|
16 October 2015 V.Ivanchenko (hadr-casc-V10-01-12)
|
|
---------------------------------------------------
|
|
- G4CascadeCoalescence.hh: Add #include "G4InuclElementaryParticle.hh", to
|
|
address compiler error from Cray (see Config HN 1764).
|
|
|
|
19 August 2015 V.Ivanchenko (hadr-casc-V10-01-11)
|
|
--------------------------------------------------
|
|
- G4NucleiModel.cc - Randomize.hh header is included
|
|
|
|
13 July 2015 M. Kelsey (hadr-casc-V10-01-10)
|
|
---------------------------------------------
|
|
- G4KaonSampler: Per D. Wright, modify to 30 bins, finely divided up to 1.5
|
|
GeV, very coarsely grained above 10 GeV. Binning optimized to isolate
|
|
various resonances in Kp and Kn spectra.
|
|
|
|
- G4CascadeKplusPChannel: Per D. Wright, use new G4KaonSampler binning,
|
|
with final states tabulated up to 9-body. Should dramatically improve
|
|
match to data.
|
|
|
|
26 June 2015 M. Kelsey (hadr-casc-V10-01-09)
|
|
---------------------------------------------
|
|
- G4CascadeCheckBalance.cc: Address Coverity #60845-60850, with incorrect
|
|
logical expression in diagnostic output.
|
|
|
|
22 June 2015 M. Kelsey (hadr-casc-V10-01-08)
|
|
---------------------------------------------
|
|
Follow new G4cbrt(int) by moving powers of Z and A out of argument. Lookup
|
|
table only covers real nuclei (up to about 300 or so).
|
|
|
|
G4EquilibriumEvaporator.cc
|
|
G4Fissioner.cc
|
|
bindingEnergyAsymptotic.cc
|
|
|
|
22 June 2015 M. Kelsey (hadr-casc-V10-01-07)
|
|
---------------------------------------------
|
|
Per request from G. Cosmo and A. Dotti, migrate the five "TLS" local buffers
|
|
to use the new G4AutoDelete mechanism. This removes them as spurious memory
|
|
leaks at end of job.
|
|
|
|
G4InuclSpecialFunctions.cc
|
|
G4NucleiModel.cc
|
|
|
|
19 June 2015 M. Kelsey (hadr-casc-V10-01-06)
|
|
---------------------------------------------
|
|
Per request from A. Ribon, migrate few remaining instances of std::pow,
|
|
std::log, and std::exp to Geant4's VDT equivalents (G4Pow, G4Log, G4Exp).
|
|
Only G4Pow is problematic, requiring use of singleton pointer instead of
|
|
direct replacement.
|
|
|
|
G4CascadeFinalStateAlgorithm.cc
|
|
G4FissionStore.cc
|
|
G4Fissioner.cc
|
|
G4IntraNucleiCascader.cc
|
|
|
|
- G4InuclSpecialFunctions: As above, and define G4cbrt(G4int) which uses
|
|
G4Pow::Z13() with lookup table for integer arguments (e.g. Z, A, N).
|
|
|
|
8 June 2015 M. Kelsey (hadr-casc-V10-01-05)
|
|
--------------------------------------------
|
|
Per request from A. Ribon and ATLAS, mark every while loop in code with
|
|
special comment string authenticating that it terminates.
|
|
|
|
G4BigBanger.cc
|
|
G4CascadeFinalStateAlgorithm.cc
|
|
G4CascadeInterface.cc
|
|
G4ElementaryParticleCollider.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4FissionStore.cc
|
|
G4Fissioner.cc
|
|
G4GDecay3.cc
|
|
G4IntraNucleiCascader.cc
|
|
G4InuclCollider.cc
|
|
G4InuclNuclei.cc
|
|
G4InuclParamAngDst.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NucleiModel.cc
|
|
|
|
23 March 2015 M. Kelsey (hadr-casc-V10-01-04)
|
|
----------------------------------------------
|
|
- G4CascadeInterface.cc: Call static Initialize() function in constructor,
|
|
for sequential builds or master thread. Requires global-V10-01-08.
|
|
|
|
23 April 2015 A. Ribon (hadr-casc-V10-01-03)
|
|
---------------------------------------------
|
|
- G4PreCompoundDeexcitation: delete precompound products (i.e.
|
|
G4ReactionProduct objects) before cleaning and deleting their
|
|
vector container.
|
|
|
|
23 March 2015 M. Kelsey
|
|
------------------------
|
|
- G4KaonSampler, G4HyperonSampler: NEW Copies of G4KaonHypSampler, which
|
|
will eventually diverge with different energy binning, in order to extend
|
|
kaon and hyperon final state tables to ~30 GeV.
|
|
|
|
23 February 2015 M. Kelsey (hadr-casc-V10-01-02)
|
|
-------------------------------------------------
|
|
- G4InuclCollider: Speed up new photonuclearOkay() filter by checking final
|
|
state nucleus vs. target directly, instead of looping over secondaries.
|
|
Filter is still disabled behind G4CASCADE_CHECK_PHOTONUCLEAR envvar.
|
|
|
|
2 February 2015 M. Kelsey (hadr-casc-V10-01-01)
|
|
------------------------------------------------
|
|
- G4InuclCollider: Add special end-of-cascade test to require low-energy
|
|
photo-nuclear and lepto-nuclear events to produce at least one non-gamma
|
|
secondary. Currently hidden behind G4CASCADE_CHECK_PHOTONUCLEAR envvar.
|
|
Will address bug #1680 to increase neutron yield around the giant dipole
|
|
resonance, without model changes.
|
|
|
|
11 December 2014 M. Kelsey (hadr-casc-V10-01-00)
|
|
-------------------------------------------------
|
|
- G4CascadeParameters, G4CascadeParamMessenger: Make G4CASCADE_PIN_ABSORPTION
|
|
a double, specifying a probability for absorption. Requirement is
|
|
less-than, not less-than-or-equal, so 0. suppresses aborption in all
|
|
cases.
|
|
|
|
- G4ElementaryParticleCollider.cc: Use PIN_ABSORPTION value as probability.
|
|
Fix boosting of pion-nucleon absorption; recoil nucleus should not be
|
|
involved in boost.
|
|
|
|
11 December 2014 M. Kelsey
|
|
---------------------------
|
|
- G4CollisionOutput: Move "hard tuning" from setOnShell() to separate
|
|
function. Add code in setOnShell() to do "hard tuning" of quasi-elastic,
|
|
recomputing momentum for single particle and nuclear recoil directly.
|
|
|
|
11 December 2014 M. Kelsey
|
|
---------------------------
|
|
- G4IntraNucleiCascader: Add function to identify non-interacting particles
|
|
(e.g., neutrinos); in generateCascade(), move such particles directly to
|
|
output list, rather than transporting them through the nucleus. This
|
|
deals with the "trapped neutrino" case (below) more efficiently.
|
|
|
|
1 December 2014 M. Kelsey (hadr-casc-V10-00-20)
|
|
------------------------------------------------
|
|
- G4CascadParticle.cc: For stopped particles (zero path length), if at core
|
|
of nucleus switch "movingIn" flag to false to particle will be forced to
|
|
escape. Protects against very rare infinite loop in mu- capture (nu_mu
|
|
produced with tiny momentum, gets stuck in nucleus zone 0).
|
|
|
|
1 December 2014 M. Kelsey (hadr-casc-V10-00-19)
|
|
------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: In muon absorption, check return from
|
|
G4GDecay3 for null vector; report no-collision status and return.
|
|
|
|
- G4GDecay3.cc: Fix typo in error report to use correct class name.
|
|
|
|
21 November 2014 M. Kelsey (hadr-casc-V10-00-18)
|
|
-------------------------------------------------
|
|
Per A. Dotti, introduce G4AutoDelete for all singleton classes to avoid
|
|
end-of-job memory leaks:
|
|
|
|
G4CascadeChannelTables.cc,.hh (also make dtor public)
|
|
G4CascadeParameters.cc
|
|
G4MultiBodyMomentumDist.cc
|
|
G4TwoBodyAngularDist.cc
|
|
|
|
21 November 2014 M. Kelsey (hadr-casc-V10-00-17)
|
|
-------------------------------------------------
|
|
- G4PreCompoundDeexcitation.cc: Per V.I., fix memory leak on exit by passing
|
|
excitation handler through to PreCompound.
|
|
|
|
19 November 2014 M. Kelsey (hadr-casc-V10-00-16)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface.cc: Fix parentheses in retryInelasticNucleus()
|
|
expression for conditional-compilation flag (does not affect defaults).
|
|
|
|
18 November 2014 M. Kelsey (hadr-casc-V10-00-15)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface.cc: Fix possible infinite-loop condition where (nTries
|
|
>= maxTries) and momentum balance fails, by regrouping conditions in
|
|
retryInelasticNucleus().
|
|
|
|
11 November 2014 M. Kelsey (hadr-casc-V10-00-14)
|
|
-------------------------------------------------
|
|
- G4CascadeParameters.cc: Revert default changes in V10-00-12 tag: turn
|
|
off phase-space, trailing-effect, and PreCompound.
|
|
|
|
- G4InuclCollider.cc: Replace G4Fragment::GetA() with GetA_asInt().
|
|
|
|
- G4ElementaryParticleCollider.cc: Improve optional pion-nucleon
|
|
absorption. NOTE: This is DISABLED by default; used for studies of pion
|
|
stopping.
|
|
|
|
- G4NucleiModel.cc: Initialize local p1r variable in declaration.
|
|
|
|
30 October 2014 M. Kelsey (hadr-casc-V10-00-13)
|
|
------------------------------------------------
|
|
- G4CascadeParameters, G4CascadeParamMessenger: Add flag to enable
|
|
absorbing pion on a single nucleon. See G4EPCollider below for details.
|
|
|
|
- G4ElementaryParticleCollider: Add support for absorbing a pion with a
|
|
single nucleon (via a charge exchange interaction, e.g. pi- p -> n), with
|
|
momentum conservation handled by recoiling against the nucleus. This is
|
|
intended to improve the match to data for pi- capture.
|
|
|
|
- G4NucleiModel.cc: In boundaryTransition(), switch sign of "dv" so that
|
|
particle sees a barrier (next_zone potential > current potential) as
|
|
positive. In generateParticleFate(), pass (A,Z) to EPCollider for
|
|
possible nuclear-recoil calculations.
|
|
|
|
- G4CascadeCheckBalance.cc: Per V.Ivantchenko, use G4Fragment::GetZ_asInt(),
|
|
GetZ_asInt(). Should have been done long ago.
|
|
|
|
1 October 2014 M. Kelsey (hadr-casc-V10-00-12)
|
|
-----------------------------------------------
|
|
- G4CascadeCheckBalance: Change ctor arg from "const char*" to "const
|
|
G4String&" to avoid memory deallocation problems.
|
|
|
|
- G4CascadeColliderBase: Change ctor arg from "const char*" to "const
|
|
G4String&" to avoid memory deallocation problems.
|
|
|
|
- G4CascadeInterface.cc: Call both usePreCompoundDeexcitation() and
|
|
useCascadeDeexcitation() in ctor, with if-else.
|
|
|
|
- G4CascadeParameters.cc: Make PreCompound, phase space, trailing effect,
|
|
and light-ion clustering active by default. User must set envvars to "0"
|
|
to disable.
|
|
|
|
- G4InuclCollider.cc: Make PreCompound the default in ctor.
|
|
|
|
- G4VCascadeCollider: Change ctor arg from "const char*" to "const
|
|
G4String&" to avoid memory deallocation problems.
|
|
|
|
- G4VCascadeDeexcitation.hh: Change ctor arg from "const char*" to "const
|
|
G4String&" to avoid memory deallocation problems.
|
|
|
|
27 June 2014 M. Kelsey (hadr-casc-V10-00-11)
|
|
---------------------------------------------
|
|
- G4CascadeFinalStateAlgorithm.cc: Address bug #1558, using ".c_str()" in
|
|
diagnostic outputs, to avoid IBM XL compiler error.
|
|
|
|
23 May 2014 M. Kelsey (hadr-casc-V10-00-10)
|
|
--------------------------------------------
|
|
- G4InuclNuclei.cc: Avoid FPE in setExcitationEnergy() for zero Ekin. This
|
|
must be backported to 9.6 and 10.0.
|
|
|
|
9 May 2014 M. Kelsey (hadr-casc-V10-00-09)
|
|
-------------------------------------------
|
|
- G4PreCompoundDeexcitation.cc: Fix mistake in copying example code; created
|
|
a local copy instead of filling the data member.
|
|
|
|
9 May 2014 M. Kelsey (hadr-casc-V10-00-08)
|
|
-------------------------------------------
|
|
- 4PreCompoundDeexcitation.cc: Per V.Ivanchenko, attempt to use shared
|
|
instance of PreCompound by fetching from hadronic registry. Only if that
|
|
fails should a local instance be created.
|
|
|
|
9 April 2014 M. Kelsey (hadr-casc-V10-00-07)
|
|
---------------------------------------------
|
|
- G4IntraNucleiCascader.cc: Use const G4PD*.
|
|
- G4InuclEvaporation.cc: Remove temporary const_cast<G4PD*> (see 10 Mar).
|
|
|
|
12 March 2014 M. Kelsey (hadr-casc-V10-00-06)
|
|
----------------------------------------------
|
|
- G4CascadeParameters: Copy Gabriele's version of the singleton here, from
|
|
the 9.6-patch-03 branch.
|
|
|
|
10 March 2014 M. Kelsey (hadr-casc-V10-00-05)
|
|
----------------------------------------------
|
|
- G4CollisionOutput.cc: Use const G4PD* for G4HadronicProduct secondaries.
|
|
|
|
- G4InuclParticle: Apply "const G4PD*" everywhere for consistency with
|
|
hadr-util updates.
|
|
|
|
- G4InuclElementaryParticle: Apply "const G4PD*" everywhere for consistency
|
|
with hadr-util updates.
|
|
|
|
- G4InculEvaporation.cc: TEMPORARY: Use const_cast<G4PD*> to access ctor
|
|
of G4Fragment, until new hadr-util code is public.
|
|
|
|
10 March 2014 M. Kelsey (hadr-casc-V10-00-04)
|
|
----------------------------------------------
|
|
- G4IntraNucleiCascader.cc: Fix bug #1584, memory leak in secondaries.
|
|
|
|
10 March 2014 M. Kelsey (hadr-casc-V10-00-03)
|
|
----------------------------------------------
|
|
- G4CascadeParameters.cc: Restore original 10.0 version, because January
|
|
mods caused unexpected side effects in build, which aren't being fixed.
|
|
|
|
29 January 2014 G.Folger not tagged
|
|
-------------------------------------
|
|
- Removed cascade/utils from cascade/sources.cmake
|
|
|
|
16 January 2014 M.Kelsey (hadr-casc-V10-00-02)
|
|
-----------------------------------------------
|
|
- G4CascadeInterface: Move static member into const data, initialize in
|
|
ctor. This avoids calling G4CascadeParameters::Instance() before main().
|
|
|
|
- G4CascadeCoalescence: Move static members into const data, initialize in
|
|
ctor. This avoids calling G4CascadeParameters::Instance() before main().
|
|
|
|
- G4NucleiModel: Move static members which use envvars into const data,
|
|
initialize in ctors (with copy-and-paste code blocks). This avoids
|
|
calling G4CascadeParameters::Instance() before main().
|
|
|
|
7 January 2014 Dennis Wright (hadr-casc-V10-00-01)
|
|
---------------------------------------------------
|
|
- added new pi-nucleon 2-body angular distributions:
|
|
G4PipP2PipPAngDst, G4PimP2PimPAngDst, G4Pi0P2Pi0PAngDst and G4PimP2Pi0NAngDst.
|
|
Below 2.6 GeV, distributions taken from SAID phase shift calculations with
|
|
Coulomb phase removed. Above 2.6 GeV, taken from data.
|
|
- also modified: G4TwoBodyAngularDist, sources.cmake
|
|
|
|
6 January 2014 M.Kelsey (hadr-casc-V10-00-00)
|
|
----------------------------------------------
|
|
- G4CascadeParameters.cc: Improve singleton initialization by moving static
|
|
instance to pointer in file scope (anon namespace), check for null pointer
|
|
in Instance() call. Drop use of messenger (temporarily) since it's not
|
|
thread safe. This change needs to be backported to 9.6 and 10.0.
|
|
|
|
2 October 2013 V.Ivanchenko (hadr-casc-V09-06-52)
|
|
----------------------------------------------------
|
|
- G4NonEquilibriumEvaporator.hh - added forward declaration of G4Pow,
|
|
because after the revision of G4Pow cascade is not compiling anymore
|
|
|
|
1 October 2013 Michael Kelsey (hadr-casc-V09-06-51)
|
|
----------------------------------------------------
|
|
- G4NucleiModel: Make gammaQDinterp a regular data member, to avoid data
|
|
race condition with shared (const but mutable) object.
|
|
|
|
- G4EquilibriumEvaporator: Make QFinterp a regular data member, to avoid data
|
|
race condition with shared (const but mutable) object.
|
|
|
|
25 September 2013 Michael Kelsey (hadr-casc-V09-06-50)
|
|
-------------------------------------------------------
|
|
- G4NucleiModel: Remove G4Pow introduced below; replace usage with simple
|
|
"*= 2" inside loop.
|
|
|
|
24 September 2013 Michael Kelsey (hadr-casc-V09-06-49)
|
|
-------------------------------------------------------
|
|
Replace usage of std::log, std::exp, and std::pow with GEANT4 internal
|
|
functions with faster polynomial implementations.
|
|
|
|
G4BigBanger.cc
|
|
G4CascadeFinalStateAlgorithm.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4InuclParamMomDst.cc
|
|
G4InuclSpecialFunctions.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NonEquilibriumEvaporator.hh
|
|
G4NucleiModel.cc
|
|
G4NucleiModel.hh
|
|
G4NumIntTwoBodyAngDst.icc
|
|
G4ParamExpTwoBodyAngDst.icc
|
|
|
|
29 August 2013 Michael Kelsey (hadr-casc-V09-06-48)
|
|
----------------------------------------------------
|
|
Address Coverity #52158 and 52161.
|
|
|
|
- G4InuclSpecialFunctions.hh: Add copy action declarations to paraMaker.
|
|
|
|
8 August 2013 Michael Kelsey (hadr-casc-V09-06-47)
|
|
---------------------------------------------------
|
|
More thread-safety fixes:
|
|
|
|
- G4InuclSpecialFunctions.hh: Replace paraMaker[Truncated] functions with
|
|
class object, in order to use thread-locally within evaporators.
|
|
|
|
- paraMaker.cc: Move function code into new class member functions.
|
|
|
|
- G4*EquilibriumEvaporator: Add data member for new "paraMaker" object.
|
|
|
|
Per A. Dotti, move local statics to file scope to avoid thread collisions:
|
|
|
|
- G4CascadeDeexciteBase.cc: Move zero vector.
|
|
|
|
- G4InuclParticle.cc: Move "G4DynamicParticle empty".
|
|
|
|
- G4NucleiModel.cc: Move static G4InuclElementaryParticle constructions to
|
|
data members.
|
|
|
|
4 August 2013 Michael Kelsey (hadr-casc-V09-06-46)
|
|
---------------------------------------------------
|
|
- G4CascadeInterface.cc: Fix bug #1513, replacing "Z=1" with "Z==1" in
|
|
boolean ternary operation.
|
|
|
|
18 July 2013 Michael Kelsey (hadr-casc-V09-06-45)
|
|
--------------------------------------------------
|
|
- G4CascadeDeexciteBase.cc: Address Coverity #51934, unitialized data
|
|
members.
|
|
|
|
- Added use of "Id" and "Name" keywords to many new files which were missing
|
|
them.
|
|
|
|
11 July 2013 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeFinalStateAlgorithm: Replace name "difr_const" with "oneOverE".
|
|
|
|
5 July 2013 Michael Kelsey (hadr-casc-V09-06-44)
|
|
-------------------------------------------------
|
|
- G4InuclParticleNames.hh: Provide particle identification functions,
|
|
equivalent to those in G4InuclElementaryParticle, for direct use of type
|
|
codes.
|
|
|
|
- G4InuclElementaryParticle.hh: Replace identification functions with calls
|
|
through to new G4InuclParticleNames functions.
|
|
|
|
3 July 2013 Michael Kelsey (hadr-casc-V09-06-43)
|
|
-------------------------------------------------
|
|
- G4CascadeFinalStateAlgorithm: Add Kopylov N-body phase space generation,
|
|
with function code copied from G4HadPhaseSpaceKopylov. Use with runtime
|
|
envvar flag (G4CASCADE_USE_PHASESPACE) in place of multi-parameter 3-body
|
|
and 4-body generators. Two-body distributions are not changed.
|
|
|
|
- G4CascadeParameters, G4CascadeParamMessenger: Add new envvar,
|
|
G4CASCADE_USE_PHASESPACE, and associated functions, to switch between
|
|
multiparameter and Kopylov N-body generators.
|
|
|
|
2 July 2013 Michael Kelsey
|
|
---------------------------
|
|
- G4NucleiModel.cc: Minor tweaks: generateInteractionLength() now returns
|
|
"large" (1000.) instead of input path length when calculations fail; this
|
|
eliminates the effect of "spath < path" vs. "spath <= path" comparisons.
|
|
For dibaryon absorption, use sum of invMFPs, not average. Small
|
|
improvements to some diagnostic messages.
|
|
|
|
28 June 2013 Michael Kelsey (hadr-casc-V09-06-42)
|
|
--------------------------------------------------
|
|
PROBLEM: Code committed below did not include last round of changes to
|
|
support multiple G4Fragments from G4Fissioner. Those were lost accidentally
|
|
during directory manipulation on my local disk.
|
|
|
|
- G4CascadeDeexciteBase: Add makeFragment() without momentum for at-rest
|
|
nuclei.
|
|
|
|
- G4Fissioner: Remove local G4InuclNuclei vector; create fission fragments as
|
|
G4Fragments directly into output buffer.
|
|
|
|
- G4CollisionOutput: Replace single recoil fragment with list; apply
|
|
associated changes throughout support functions.
|
|
|
|
- G4EquilibriumEvaporator.cc: Use G4Fragments output from G4Fissioner.
|
|
|
|
- G4CascadeDeexcitation.cc: Add printing of intermediate outputs from each
|
|
de-excitation stage.
|
|
|
|
28 June 2013 Michael Kelsey (hadr-casc-V09-06-41)
|
|
--------------------------------------------------
|
|
Reorganize de-excitation modules to use G4Fragment throughout process. Only
|
|
final ground-state nucleus will be instantiated as a G4InuclNuclei object.
|
|
This should substantially reduce the load on G4IonTable in MT operations.
|
|
|
|
- G4CascadeCheckBalance: Replace interface for "G4Fissioner" with version
|
|
which takes G4Fragments for target and output.
|
|
|
|
- G4CascadeColliderBase: Move explosion() functions and G4Fragment-related
|
|
valiateOutput() functions to new G4CascadeDeexciteBase.
|
|
|
|
- G4CascadeDeexciteBase: NEW concrete subclass of G4VCascadeDeexcitation.
|
|
Takes over "operational" support from G4CascadeColliderBase, including
|
|
explosion() functions, local copy of G4CascadeCheckBalance, and
|
|
conservation checking functions. Provides utilities to extract common
|
|
data from input G4Fragment for all modules, and to construct a G4Fragment.
|
|
|
|
- G4CascadeDeexcitation: Inherit from G4CascadeDeexciteBase.
|
|
|
|
- G4PreCompoundDeexcitation: Inherit from G4CascadeDeexciteBase.
|
|
|
|
- G4VCascadeDeexcitation: Inherit directly from G4VCascadeCollider.
|
|
|
|
- G4ExitonConfiguration: Add interface to copy from G4Fragment.
|
|
|
|
- G4EvaporationInuclCollider, G4NonEquilibriumEvaporator,
|
|
G4BigBanger, G4Fissioner, G4EquilibriumEvaporator: Move all to inherit
|
|
from G4CascadeDeexciteBase, replace collide() with deExcite(), use
|
|
G4Fragment in place of G4InuclNuclei everywhere except final ground-state
|
|
output.
|
|
|
|
- sources.cmake: Add G4CascadeDeexciteBase.hh and .cc.
|
|
|
|
28 June 2013 Michael Kelsey (hadr-casc-V09-06-40)
|
|
--------------------------------------------------
|
|
Improve encapsulation of pion and muon absorption through dibaryons.
|
|
|
|
- G4NucleiModel: Add optional argument to useQuasiDeuteron() (fixed spelling)
|
|
to take dibaryon code, validate charge-exchange interactions.
|
|
|
|
- G4ElementaryParticleCollider: Add function to split dibaryon into
|
|
component particle types; use G4NM::useQuasiDeuteron() for sanity checks
|
|
instead of nested if-blocks.
|
|
|
|
28 June 2013 Michael Kelsey (hadr-casc-V09-06-39)
|
|
--------------------------------------------------
|
|
Address Coverity 37230 and 37385.
|
|
|
|
- G4CascadeInterface.hh: Add unimplemented declarations for copy operations.
|
|
|
|
27 June 2013 Michael Kelsey (hadr-casc-V09-06-38)
|
|
--------------------------------------------------
|
|
- G4NucleiModel.cc: Minor tweak: change "spath==0." test to "path==0.", to
|
|
check actual path length (equivalent to zero-momentum), rather than
|
|
generated random value.
|
|
|
|
- G4InuclParticleNames: Add functions to convert enum values to strings,
|
|
for diagnostic messages. New .cc file required for implementation.
|
|
|
|
- G4CascadeData.icc: For diagnostics, use new enum-to-string function, add
|
|
explicit space between xsec values, and print only 10 values per line.
|
|
|
|
- G4CascadeInterpolator.icc: For diagnostics, change output to setw(6), and
|
|
print only 10 values per line.
|
|
|
|
- sources.cmake: Add G4InuclParticleNames.cc.
|
|
|
|
21 June 2013 Michael Kelsey (hadr-casc-V09-06-37)
|
|
--------------------------------------------------
|
|
- G4VCascadeDeexcitation: Disable collide() interface, with implementation
|
|
which throws exception when called. Subclasses will use deExcite()
|
|
interface, with a const-reference, directly (creating a G4InuclNuclei only
|
|
if necessary).
|
|
|
|
- G4CascadeDeexcitation: Remove collide() interface. Move code into
|
|
deExcite(), and create temporary G4InucleNuclei (with reusable buffer) as
|
|
needed. Add verbosity setting function.
|
|
|
|
- G4PreCompoundDeexcitation: Remove collide() interface; code uses
|
|
G4Fragment directly via deExcite().
|
|
|
|
- G4CascadeCheckBalance: Add interface to take G4Fragment initial state.
|
|
|
|
- G4CascadeColliderBase: Change explosion() to take const-ref G4Fragment.
|
|
Use new CheckBalance(G4Fragment) interface in validateOutput().
|
|
|
|
- G4EquilibriumEvaporator.hh: Change explosion() call-through to take
|
|
const-ref G4Fragment.
|
|
|
|
- G4InuclCollider.cc: Use G4Fragment interface to de-excitation modules and
|
|
validateOutput().
|
|
|
|
21 June 2013 Michael Kelsey (hadr-casc-V09-06-36)
|
|
--------------------------------------------------
|
|
- G4CascadeParameters: Add new flag to perform internal conservation checks,
|
|
replacing compile-time G4CASCADE_CHECK_ECONS preprocessor directive.
|
|
|
|
- G4CascadeParamMessenger: Add macro commands for USE_3BODYMOM and CHECK_ECONS
|
|
parameter flags.
|
|
|
|
- G4CascadeColliderBase: Remove doConservationChecks flag. Use run-time
|
|
flag (above) to conditionally instantiate CheckBalance, test pointer
|
|
before use.
|
|
|
|
- G4EquilibriumEvaporator: Remove turning-off of conservation checks after
|
|
fission. Follows removal of flag from G4CascadeColliderBase.
|
|
|
|
- GNUmakefile: Remove G4CASCADE_CHECK_ECONS preprocessor directive. Envvar
|
|
will be mapped to run-time parameter (above).
|
|
|
|
20 June 2013 Michael Kelsey (hadr-casc-V09-06-35)
|
|
--------------------------------------------------
|
|
Address numerous Coverity warnings which have build up since November 2011.
|
|
No modifications to working code were required.
|
|
|
|
G4BigBanger.hh G4InuclCollider.hh
|
|
G4CascadeCheckBalance.hh G4InuclNuclei.cc
|
|
G4CascadeColliderBase.hh G4InuclParticle.cc
|
|
G4CascadeDeexcitation.hh G4MultiBodyMomentumDist.hh
|
|
G4CascadeInterface.cc G4NonEquilibriumEvaporator.hh
|
|
G4CascadeRecoilMaker.hh G4NumIntTwoBodyAngDst.hh,.icc
|
|
G4ElementaryParticleCollider.hh G4ParamExpTwoBodyAngDst.icc
|
|
G4EquilibriumEvaporator.hh G4PreCompoundDeexcitation.hh
|
|
G4EvaporationInuclCollider.hh G4TwoBodyAngularDist.hh
|
|
G4Fissioner.hh G4VCascadeCollider.hh
|
|
G4GDecay3.cc G4VCascadeDeexcitation.hh
|
|
G4IntraNucleiCascader.hh
|
|
|
|
19 June 2013 Michael Kelsey (hadr-casc-V09-06-34)
|
|
--------------------------------------------------
|
|
- G4TwoBodyAngularDist.hh, G4MultiBodyMomentumDist.hh: Replace use of
|
|
"theInstance" with calls to "GetInstance()" to ensure instantiation in MT
|
|
environment.
|
|
|
|
19 June 2013 Michael Kelsey (hadr-casc-V09-06-33)
|
|
--------------------------------------------------
|
|
- G4TwoBodyAngularDist, G4MultiBodyMomentumDist: Fix thread collisions
|
|
in MT operation by changing singleton instances from "static const" to
|
|
"static G4ThreadLocal" pointers. GetInstance() instantiates the pointer
|
|
on first call (per thread). C.f. G4CascadeChannelTables.
|
|
|
|
19 June 2013 Alberto Ribon (hadr-casc-V09-06-32)
|
|
--------------------------------------------------
|
|
- G4NucleiModel.cc: fixed rare cases of non-reproducibility in the
|
|
method generateParticleFate. The members current_nucl1 and
|
|
current_nucl2 were not properly initialized in the case that
|
|
the interaction-partners list has one single element.
|
|
|
|
12 June 2013 Michael Kelsey (hadr-casc-V09-06-31)
|
|
--------------------------------------------------
|
|
Bug fix for validation problems seen leading up to 10.0-beta release.
|
|
|
|
- G4NucleiModel.cc: Undo change to test "spath<=path" (V09-06-25); this
|
|
caused all tested nucleons to be accepted for interaction, incorrectly.
|
|
Replace with explicit test on "spath==0." to address at-rest particles.
|
|
|
|
- G4CascadeFinalStateAlgorithm: Split FillDirections() into separate
|
|
functions for three- and many-body states, to restore old algorithm.
|
|
Three body throws the _last_ particle's direction, then computes recoils,
|
|
while many-body throws the first N-2 directions.
|
|
|
|
04 June 2013 Alberto Ribon (hadr-casc-V09-06-30)
|
|
-------------------------------------------------
|
|
- G4InuclNuclei.cc: Fix access to ions via the IonTable class.
|
|
|
|
24 May 2013 Michael Kelsey (hadr-casc-V09-06-29)
|
|
-------------------------------------------------
|
|
- G4NucleiModel: Continue trying to resolve FPE errors with inf and NaN.
|
|
Improve bounds checking on zone value passed to inverseMFP; move "large"
|
|
and "small" cutoffs to static const, set globally.
|
|
|
|
23 May 2013 Michael Kelsey (hadr-casc-V09-06-28)
|
|
-------------------------------------------------
|
|
- G4NucleiModel.cc: Fix initialization of dummy_convertor after setting
|
|
bullet and target momenta. For stopped particle outside nucleus, reset
|
|
"zone" value to outermost zone (avoid out-of-bounds accesses).
|
|
|
|
22 May 2013 Michael Kelsey (hadr-casc-V09-06-27)
|
|
-------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: Add protection if N-body generator fails
|
|
after too many retries. On Windows, out-of-bounds error was (correctly)
|
|
thrown.
|
|
|
|
- G4ParticleLargerEkin.hh, G4ParticleLargerBeta.hh: Change ">=" to ">" in
|
|
both cases, to avoid error in (extremely rare) case that both inputs are
|
|
identical. With floats, this is a ~2^-64 probability, but a Windows test
|
|
job managed to catch it.
|
|
|
|
21 May 2013 Michael Kelsey (hadr-casc-V09-06-26)
|
|
-------------------------------------------------
|
|
- sources.cmake: Added G4PP2PPAngDst.
|
|
|
|
20 May 2013 Dennis Wright
|
|
--------------------------
|
|
- added class G4PP2PPAngDst, which contains elastic pp and nn angular
|
|
distributions generated from numerically integrated SAID cross sections
|
|
and pp scattering data. Below 2.75 GeV SAID calculations were used with
|
|
Coulomb interactions turned off. Above 2.75 GeV pp scattering data is used.
|
|
|
|
Files modified: G4TwoBodyAngularDist.hh, .cc
|
|
|
|
11 May 2013 Michael Kelsey (hadr-casc-V09-06-25)
|
|
-------------------------------------------------
|
|
- G4NucleiModel.cc: Protections for at-rest particles (muon capture): In
|
|
choosePointAlongTraj() set phat=(0,0,1); in generateInteractionPartners()
|
|
apply zero-path exit only for finite momentum. Move choosePointAlongTraj
|
|
up to initializeCascad(), rather than waiting for propagation. Change
|
|
tests on "spath < path" to <= so that at-rest particles still interact (in
|
|
these cases, spath and path will both be zero). Hide "zone 0 transition"
|
|
message behind verbosity.
|
|
|
|
- G4ElementaryParticleCollider.cc: Skip neutrinos silently in ::collide().
|
|
|
|
10 May 2013 Michael Kelsey
|
|
---------------------------
|
|
- G4NucleiModel.hh: Protect getPotential() from leptons, by checking for
|
|
ityp<0.
|
|
|
|
9 May 2013 Michael Kelsey (hadr-casc-V09-06-24)
|
|
------------------------------------------------
|
|
- G4CascadeFinalStateAlgorithm.cc: Fix bugs where two-body and three-body
|
|
momentum vectors were not properly rotated before return; caused energy
|
|
and momentum violations in hydrogen target cases. Improvided diagnostic
|
|
messages to match output from old G4EPCollider version.
|
|
|
|
8 May 2013 Dennis Wright/Michael Kelsey
|
|
----------------------------------------
|
|
Introduce muon-capture handling, with new particle types and three-body
|
|
muon-dibaryon interactions.
|
|
|
|
Modified files: G4InuclElementaryParticle.hh,.cc
|
|
G4InuclParticleNames.hh
|
|
G4CascadeChannelTables.cc
|
|
G4CascadeInterface.cc
|
|
G4ElementaryParticleCollider.hh,.cc
|
|
G4NucleiModel.hh,.cc
|
|
sources.cmake
|
|
|
|
New files: G4CascadeMuMinusPChannel.hh,.cc
|
|
G4GDecay3.hh,.cc
|
|
|
|
1 May 2013 Michael Kelsey (hadr-casc-V09-06-23)
|
|
------------------------------------------------
|
|
- G4CascadeInterface: Add static function Initialize() to create shared
|
|
objects in master thread, to avoid cross-thread collisions. Currently the
|
|
final-state lookup tables and quasideuteron particles are created.
|
|
|
|
- G4Dineutron, G4Diproton, G4UnboundPN: Remove "G4ThreadLocal" from static
|
|
pointer, to make it shared across threads. Modify initialization to get
|
|
G4ParticleTable "readiness" flag, and restore saved value.
|
|
|
|
22 April 2013 Michael Kelsey (hadr-casc-V09-06-22)
|
|
---------------------------------------------------
|
|
- G4CascadeChannelTables: Convert to thread-local singletons, to avoid
|
|
thread collisions inside "fillSigmaBuffer()" calls within tables (since
|
|
that mutable vector is shared across all threads).
|
|
|
|
22 April 2013 Michael Kelsey (hadr-casc-V09-06-21)
|
|
---------------------------------------------------
|
|
NOTE: Requires hadr-mod-util-V09-06-04.
|
|
|
|
- G4ElementaryParticleCollider: Replace all kinematics generation, except
|
|
for pion-dibaryon absorption, with G4CascadeFinalStateGenerator. Simplify
|
|
::collide(), eliminating nested if-blocks, moving replicated code outside
|
|
of if-blocks, adding returns on failure tests.
|
|
|
|
22 April 2013 Michael Kelsey (hadr-casc-V09-06-20)
|
|
---------------------------------------------------
|
|
NOTE: Requires hadr-mod-util-V09-06-04.
|
|
|
|
New interface for momentum and angular distribution generators, subclasses
|
|
of (new) models/util/G4VHadDecayAlgorithm. These are intended to be
|
|
"temporary" implementations, reproducing G4ElementaryParticleCollider
|
|
behaviour. G4EPCollider will be migrated to use GENBOD or another true
|
|
phase-space generator.
|
|
|
|
- G4CascadeFinalStateGenerator: Subclass of G4HadDecayGenerator, which
|
|
provides a "Configure" function to take Bertini-specific inputs (bullet,
|
|
target, and list of particle types) to set up distributions.
|
|
|
|
- G4CascadeFinalStateAlgorithm: Subclass of G4VHadDecayAlgorithm, used by
|
|
G4CascadeFSGenerator to reproduce G4EPCollider kinematics. Momentum
|
|
moduli are generated separately from angular distributions, then merged
|
|
together and tested for consistency.
|
|
|
|
- G4VThreeBodyAngDst.hh: Subclass of G4VTwoBodyAngDst, which provides
|
|
interface to generate polar angle for hN -> XYZ or NN -> XYZ states,
|
|
currently handled internally to G4EPCollider.
|
|
|
|
- G4InuclParamAngDst: Subclass of G4VThreeBodyAngDst which implements the
|
|
parametrized "abn[2][4][4]" arrays in G4EPCollider. This is exactly
|
|
analogous to the recently introduced G4InuclParamMomDst.
|
|
|
|
- G4HadNucl3BodyAngDst: Instance of G4InuclParamAngDst for (h,Y,g)N -> XYZ
|
|
interactions.
|
|
|
|
- G4NuclNucl3BodyAngDst: Instance of G4InuclParamAngDst for N N -> XYZ
|
|
interactions.
|
|
|
|
- G4TwoBodyAngularDist: Add interface to access three-body distributions.
|
|
|
|
- sources.cmake: Add all new source files to lists.
|
|
|
|
22 April 2013 Michael Kelsey (hadr-casc-V09-06-19)
|
|
---------------------------------------------------
|
|
Minor code cleanup before deploying some major revisions.
|
|
|
|
- G4CascadeCoalescence: Replace _TLS_ local variable with mutable data member.
|
|
|
|
- G4NucleiModel.cc: Reduce number of scoping levels by adding exit returns
|
|
at strategic points.
|
|
|
|
- G4VTwoBodyAngDst.hh: Remove unnecessary #include <vector>.
|
|
|
|
21 March 2013 Dennis Wright (hadr-casc-V09-06-18)
|
|
---------------------------------------------------
|
|
- sources.cmake: Add new G4NP2NPAngDst class.
|
|
|
|
21 March 2013 Dennis Wright (hadr-casc-V09-06-17)
|
|
---------------------------------------------------
|
|
- created class G4NP2NPAngDst to handle np and pn elastic scattering
|
|
by sampling histograms taken directly from data
|
|
- added above class to G4TwoBodyAngularDist, replacing old np, pn
|
|
sampling
|
|
|
|
14 March 2013 Michael Kelsey (hadr-casc-V09-06-16)
|
|
---------------------------------------------------
|
|
- G4CascadeCoalescence.cc, G4InuclSpecialFunctions.cc, G4NucleiModel.cc:
|
|
Undo some of the changes made in hadr-casc-V09-06-01 (29 Jan 2013) per
|
|
recent guidance from Andrea. Specifically, TLS pointers cannot be
|
|
initialized with "new", but must be initialized null, then instantiated
|
|
with an if-block.
|
|
|
|
- G4InuclNuclei.cc: Replace TLS local variable in makeNuclearFragment()
|
|
(static function) with a file-scoped non-const static map. Incorporate
|
|
thread-locking (mutex) around all accesses to the shared map, since STL is
|
|
inherently not thread safe.
|
|
|
|
11 March 2013 Michael Kelsey (hadr-casc-V09-06-15)
|
|
---------------------------------------------------
|
|
- G4HadNucl4BodyMomDst.cc: Fix comment describing function as ">= 4-body".
|
|
|
|
- G4MultiBodyMomentumDist.cc: Use envvar (G4CASCADE_USE_3BODYMOM) to enable
|
|
separate 3-body momentum generators.
|
|
|
|
- G4CascadeParameters: Add G4CASCADE_USE_3BODYMOM envvar.
|
|
|
|
- G4InuclSpecialFunctions: Add new "randomInuclPowers()" function to
|
|
compute power expansion of random value for momentum and cos(theta)
|
|
distributions.
|
|
|
|
- G4ElementaryParticleCollider.cc: Move INUCL-style calculation (powers of
|
|
Ekin and random S) to G4InuclSpecialFunctions.
|
|
|
|
- G4InuclParamMomDst.cc: Move INUCL-style calculation (powers of
|
|
Ekin and random S) to G4InuclSpecialFunctions.
|
|
|
|
8 March 2013 Michael Kelsey
|
|
----------------------------
|
|
- G4VMultiBodyMomDst.hh, G4VTwoBodyAngDst.hh: Add GetName() function to
|
|
return name string, for use with diagnostic utilities.
|
|
|
|
Add SVN use of 'Id' keyword to all new source files.
|
|
|
|
7 March 2013 Michael Kelsey (hadr-casc-V09-06-14)
|
|
--------------------------------------------------
|
|
Introduce multi-body final state momentum distribution classes and factory,
|
|
modelled on the two-body angular distribution system. Leaf classes
|
|
implement functionality of G4EPCollider::getMomModuleFor2toMany(), split by
|
|
initial state and multiplicity.
|
|
|
|
- G4VMultiBodyMomDst: Abstract base class for all multi-body final state
|
|
momentum generators. Subclasses may cover one or several categories.
|
|
|
|
- G4InuclParamMomDst: Intermediate base class implementing parametrization
|
|
in G4EPCollider, derived from original INUCL Fortran code, with power
|
|
expansions in Ekin and random fraction. Subclasses provide coeffient
|
|
arrays for specific initial state and multiplicity, with subarrays for
|
|
different final-state particles.
|
|
|
|
- G4NuclNucl3BodyDst: Leaf class for pp,pn,nn 3-body final state from INUCL.
|
|
- G4NuclNucl4BodyDst: Leaf class for pp,pn,nn >= 4-body final state from INUCL.
|
|
- G4HadNucl3BodyDst: Leaf class for Xp,Xn 3-body final state from INUCL.
|
|
- G4HadNucl4BodyDst: Leaf class for Xp,Xn >= 4-body final state from INUCL.
|
|
|
|
- G4MultiBodyMomentumDist: Factory class to select individual generators
|
|
above from initial-state code and multiplicity.
|
|
|
|
- G4ElementaryParticleCollider.cc: Replace getMomModuleFor2toMany() with
|
|
call to G4MultiBodyMomentumDist factory and constituent generators.
|
|
|
|
7 March 2013 Michael Kelsey
|
|
----------------------------
|
|
- G4ElementaryParticleCollider: Reverse order of indices for rmn[][][] array
|
|
used for multibody momentum selection, and abn[][][] used for three-body
|
|
angular distribution. This allows direct grouping by initial state, so
|
|
functionality can be refactored later.
|
|
|
|
6 March 2013 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeChannelTables: Implement global Print() function which dumps all
|
|
tables registered in map.
|
|
|
|
- G4ElementaryParticleCollider: Remove printFinalStateTables() function,
|
|
do work directly in G4CascadeChannelTables. Replace numeric values of
|
|
particle-type checks with enums. Add detailed comments explaining array
|
|
indices for momentum arrays.
|
|
|
|
6 March 2013 Michael Kelsey (hadr-casc-V09-06-13)
|
|
--------------------------------------------------
|
|
Remove obsolete directories evaporation/ and utils/.
|
|
|
|
- GNUmakefile, CMakeLists.txt: Remove references to obsolete
|
|
subdirectories and their corresponding libraries.
|
|
|
|
NOTE: This tag requires changes at the top level of processes/CMakeLists.txt
|
|
and must not be used independently of those changes.
|
|
|
|
6 March 2013 Michael Kelsey (hadr-casc-V09-06-12)
|
|
--------------------------------------------------
|
|
- G4CascadeHistory.cc: Cast calls to "getCharge()" to G4int to avoid
|
|
compiler warnings.
|
|
|
|
5 March 2013 Michael Kelsey (hadr-casc-V09-06-10, -11)
|
|
--------------------------------------------------
|
|
- G4CascadeHistory: Support "reabsorbed" cascade particles (excitons and
|
|
trapped decays) using "-1 daughters" as a flag. Add heading with legend
|
|
to output.
|
|
|
|
- G4IntraNucleiCascader.cc: Add exciton and trapped-decay info to history.
|
|
Move history reporting outside of "itry" loops (only shows final version).
|
|
|
|
4 March 2013 Michael Kelsey (hadr-casc-V09-06-09)
|
|
--------------------------------------------------
|
|
- G4CascadeHistory: NEW container class to collect all secondaries, along
|
|
with generated daughters, and report cascade structure hierarchically.
|
|
|
|
- G4CascadParticle: Add new index data member for use with G4CascadeHistory.
|
|
|
|
- G4CascadeParameters: Add new G4CASCADE_SHOW_HISTORY envvar to activate
|
|
use of G4CascadeHistory.
|
|
|
|
- G4CascadeParamMessenger: Add macro command for G4CASCADE_SHOW_HISTORY.
|
|
|
|
- G4IntraNucleiCascader: Add option G4CascadeHistory data member, created
|
|
and used only if G4CASCADE_SHOW_HISTORY envvar is set.
|
|
|
|
- sources.cmake: Add G4CascadeHistory.hh and .cc.
|
|
|
|
3 March 2013 Michael Kelsey (hadr-casc-V09-06-08)
|
|
--------------------------------------------------
|
|
Re-tag with subdirectories "utils" and "evaporation" (excluded by mistake).
|
|
|
|
2 March 2013 Michael Kelsey (hadr-casc-V09-06-07)
|
|
--------------------------------------------------
|
|
- G4NucleiModel: Encapsulate forcing decision in forceFirst() function,
|
|
apply to photons only, not hadrons.
|
|
|
|
27 February 2013 Michael Kelsey (hadr-casc-V09-06-06)
|
|
------------------------------------------------------
|
|
- G4NucleiModel: Modify choosePointAlongTraj() to use mean free path to
|
|
bias point selection non-uniformly in each zone. Make member functions
|
|
protected (instead of private) to allow external testing.
|
|
|
|
- G4BarashenkovTwoBodyAngDst: RENAME to G4ParamExpTwoBodyAngDst; previous
|
|
name was a misattribution.
|
|
|
|
- sources.cmake: Follow renaming above.
|
|
|
|
- G4GammaNuclAngDst, G4HadNElastic1AngDst, G4HadNElastic2AngDst,
|
|
G4NuclNuclAngDst, G4PiNInelasticAngDst: Follow renaming of base class.
|
|
|
|
25 February 2013 Michael Kelsey
|
|
--------------------------------
|
|
- G4RegionModel, G4BertiniElasticCollision, G4BertiniHydrogenCollision:
|
|
REMOVE obsolete, unused code.
|
|
|
|
- sources.cmake: Remove obsolete code above.
|
|
|
|
23 February 2013 Michael Kelsey (hadr-casc-V09-06-05)
|
|
------------------------------------------------------
|
|
- G4NucleiModel.cc: Spurious character got into .cc file during save/commit.
|
|
|
|
23 February 2013 Michael Kelsey (hadr-casc-V09-06-04)
|
|
------------------------------------------------------
|
|
- G4NucleiModel.cc: Fix zone-density weighting in choosePointAlongTraj. Now
|
|
done correctly, if not with optimal code efficiency: more points will be
|
|
chosen in core of nucleus than in outer shell. Work needed to reduce
|
|
vector arithmetic, move std:vector<>'s out to class data members, etc.
|
|
|
|
21 February 2013 Michael Kelsey
|
|
--------------------------------
|
|
- G4VTwoBodyAngDst: Bug fix: Data member "theName" should be a local copy of
|
|
the ctor input string, not a reference to it. When literals are passed
|
|
in, a _temporary_ object is created for the ctor which then goes out of
|
|
scope, leaving an undefined reference behind. This causes segfaults when
|
|
running with verbosity.
|
|
|
|
- G4CascadParticle: Move ctor body to .cc file, use global envvar to set
|
|
initial verbosity (no other code changes verbosity of cparticles).
|
|
|
|
- G4NucleiModel: Add function to select random point along particle's
|
|
trajectory, use with incident photons at initial step to nucleus.
|
|
Selection is weighted by average nucleon density in each zone. Code uses
|
|
mutliple local G4ThreeVector and std::vector buffers, which need to be
|
|
made class members or static-local to reduce memory churn.
|
|
|
|
21 February 2013 Michael Kelsey (hadr-casc-V09-06-03)
|
|
------------------------------------------------------
|
|
- G4TwoBodyAngularDist: NEW Factory singleton containing all of the
|
|
angular-distribution generators created below. Code from G4EPCollider to
|
|
choose generator based on intial and final states moved here, accessed
|
|
through static function.
|
|
|
|
- G4ElementaryParticleCollider: Angular distribution generators moved to
|
|
new singleton factory. Access to factory is through a static function, so
|
|
it can be shared across MT threads.
|
|
|
|
20 February 2013 Michael Kelsey
|
|
--------------------------------
|
|
- G4VTwoBodyAngDst: Add Id string.
|
|
|
|
- G4NumIntTwoBodyAngDst: Convert to templated, using array dimensions as
|
|
template arguments (c.f. G4CascadeSampler). Pass references to C-style
|
|
arrays as ctor arguments, use to initialize C-style array const
|
|
references. Add local C-style array as reuable buffer for interpolation.
|
|
Add Id string. Move .cc file to .icc, referenced from .hh, as required
|
|
for template instantiation.
|
|
|
|
- G4GamP2NPipAngDst, G4GamP2PPi0AngDst: Follow change of base to templated
|
|
form, passing arrays as base ctor args, move array initializations to
|
|
namespace with "static const". Add Id string.
|
|
|
|
Extract parametrized two-body angular distribution code from
|
|
G4ElementaryParticleCollider to new subclasses of G4VTwoBodyAngDst. These
|
|
subclasses will likely be replaced over time with numerically-integrated
|
|
CDFs as above.
|
|
|
|
- G4BarashenkovTwoBodyAngDst: Templated base class for double-exponential
|
|
two-body parametrizations, extracted from G4EPCollider.
|
|
|
|
- G4GammaNuclAngDst, G4NuclNuclAngDst, G4PiNInelasticAngDst,
|
|
G4HadNElastic1AngDst, G4HadNElastic2AngDst: Sublcasses of
|
|
G4BarashenkovTwoBodyAngDst, with parameter arrays and energy bins
|
|
extracted G4EPCollider.
|
|
|
|
- sources.cmake: Follow filename changes to G4NumIntTwoBodyAngDst.cc -> .icc,
|
|
add new parametrized angular distribution classes.
|
|
|
|
31 January 2013 Dennis Wright (hadr-casc-V09-06-02)
|
|
----------------------------------------------------
|
|
Add detailed two-body final state angular distributions for (gamma,p) and
|
|
(gamma,n) reactions, using tables of numerical integrals to sample cos(theta)
|
|
|
|
- created base classes G4VTwoBodyAngDst and G4NumIntTwoBodyAngDst, and concrete
|
|
classes G4GamP2NPipAngDst and G4GamP2PPi0AngDst to hold the tables
|
|
|
|
- added these channels to G4ElementaryParticleCollider::
|
|
|
|
- added new cross section data to G4CascadeT1GamNChannel
|
|
|
|
29 January 2013 Michael Kelsey (hadr-casc-V09-06-01)
|
|
-----------------------------------------------------
|
|
In consultation with Andrea Dotti, revert or modify many of the automatic
|
|
code changes (below) for improved MT performance.
|
|
|
|
- G4Cascade*Channel.hh,cc: Restore "static const" declarations of all final
|
|
state arrays, eliminate use of "initialize()" function. In all of the .hh
|
|
files, declare "static const data_t data;" to allow sharing across threads.
|
|
|
|
- G4CascadeFunctions.hh,cc: Restore DATA::data as simple object, not
|
|
pointer.
|
|
|
|
- G4NucleiModel.hh,cc: Move function-static arrays and interpolator for
|
|
gamma-quasideuteron cross sections to be class members with file-scope
|
|
initialization. Eliminates need to use TLS pointers.
|
|
|
|
- G4Fissioner.hh,cc: Make two-element std::vector for nuclear fragments
|
|
class data member; use G4InuclNuclei::fill() to change contents.
|
|
|
|
- G4InuclSpecialFunctions.cc, G4CascadeCoalescence.cc: Collapse TLS pointer
|
|
initializtion to eliminate unncessary if-blocks.
|
|
|
|
- G4EquilibriumEvaporator.hh,cc, G4ElementaryParticleCollider.hh,cc: Move
|
|
function-static interpolators and arrays to be class members with
|
|
file-scope initialization. Eliminates need to use TLS pointers.
|
|
|
|
25 January 2013 Andrea Dotti et al.
|
|
------------------------------------
|
|
Apply automatic conversion to all code for Geant4-MT thread-safe operation.
|
|
|
|
20 December 2012 Michael Kelsey
|
|
--------------------------------
|
|
- G4ElementaryParticleCollider.cc: Add Omega tables to printout function,
|
|
remove line referring to gamma-N as "preliminary."
|
|
|
|
06 December 2012 Michael Kelsey (hadr-casc-V09-06-00)
|
|
------------------------------------------------------
|
|
- G4IntraNucleiCascader.cc: For rescattering, set generation number of
|
|
new secondaries to '1' instead of '0' (so they aren't identified as
|
|
projectiles).
|
|
|
|
- G4NucleiModel.cc: In generateParticleFate() set generation number of
|
|
interaction daughters to one more than the parent secondary. Eliminate
|
|
complex isProjectile() code in favor of checking for generation==0.
|
|
|
|
20 October 2012 Michael Kelsey (hadr-casc-V09-05-26)
|
|
-----------------------------------------------------
|
|
- G4CascadePPChannel.cc, G4CascadeNNChannel.cc, G4CascadeNPChannel.cc: For
|
|
continuous low-energy functions, add cutoff in K.E. to match zero-energy
|
|
cross-section value, and avoid divide-by-zero divergence.
|
|
|
|
19 October 2012 Dennis Wright
|
|
------------------------------
|
|
- for classes G4CascadePPChannel, G4CascadeNNChannel, G4CascadeNPChannel
|
|
use Stepanov's functions to fill in total and elastic cross section arrays
|
|
at all energy bins from 10 to 320 MeV inclusive. Below 10 MeV use
|
|
Stepanov's continuous functions to generate cross section.
|
|
|
|
15 October 2012 Dennis Wright (hadr-casc-V09-05-25)
|
|
----------------------------------------------------
|
|
- replace SAID cross sections with in-medium cross sections of
|
|
Li & Machleidt for incident energies below 420 MeV. Classes
|
|
changed: G4CascadePPChannel, G4CascadeNNChannel, G4CascadeNPChannel.
|
|
- method findCrossSection removed from G4CascadePPChannel and G4CascadeNPChannel
|
|
since no Coulomb is included in L&M cross sections
|
|
|
|
9 October 2012 Michael Kelsey (hadr-casc-V09-05-24)
|
|
---------------------------------------------------
|
|
- G4ExitonConfiguration: Add empty() function to test exciton state, reduce
|
|
printout to single line.
|
|
|
|
- G4InuclNuclei.cc: Report non-empty exciton configuration in print().
|
|
|
|
- G4NonEquilibriumEvaporator.cc: Add additional diagnostic messages.
|
|
|
|
- G4EquilibriumEvaporator.cc: Add additional diagnostic messages.
|
|
|
|
- G4CascadeCollisionOutput: Add calculations of net strangeness.
|
|
|
|
- G4CascadeCheckBalance: Add reporting of strangeness conservation (but do
|
|
not require validation).
|
|
|
|
1 October 2012 Michael Kelsey (hadr-casc-V09-05-23)
|
|
---------------------------------------------------
|
|
- sources.cmake: Add G4CascadeOmegaMinus*Channel.hh and .cc.
|
|
|
|
1 October 2012 Dennis Wright, M. Kelsey (hadr-casc-V09-05-22)
|
|
-------------------------------------------------------------
|
|
- G4CascadeChannelTables.cc: Add "om*pro" and "om*neu" to LoadTables.
|
|
|
|
- create classes G4CascadeOmegaMinusPChannel and G4CascadeOmegaMinusNChannel
|
|
containing partial cross sections for omega- p and omega- n reactions
|
|
|
|
25 September 2012 Gabriele Cosmo (hadr-casc-V09-05-21)
|
|
------------------------------------------------------
|
|
- Explicitly use inclusion of headers for system of units and physical
|
|
constants, in plan to remove implicit inclusion from globals.hh.
|
|
|
|
18 September 2012 Michael Kelsey (hadr-casc-V09-05-20)
|
|
------------------------------------------------------
|
|
- G4CascadeParamMessenger.cc: Fix complier warning from ctor initializers.
|
|
|
|
13 September 2012 Michael Kelsey (hadr-casc-V09-05-19)
|
|
------------------------------------------------------
|
|
- G4CascadeParamMessenger: NEW class to define UI macro commands for
|
|
setting the G4CascadeParameters (string) values, as an alternative to
|
|
environment variables.
|
|
|
|
- G4CascadeParameters: Add new G4CascadeParamMessenger (with friendship)
|
|
to fill envvar-mapped parameters (const char*) from UI interface.
|
|
|
|
- sources.cmake: Add G4CascadeParamMessenger.hh,cc, add dependences on
|
|
G4intercoms (libraries and include dirs).
|
|
|
|
- GNUmakefile: Add -I.../intercoms/include.
|
|
|
|
9 September 2012 Michael Kelsey (hadr-casc-V09-05-18)
|
|
-----------------------------------------------------
|
|
- G4CascadePPChannel.hh, G4CascadeNPChannel.hh: Replace 'typedef' with
|
|
subclass of templated base. Declare overridden findCrossSection()
|
|
function.
|
|
|
|
- G4CascadePPChannel.cc, G4CascadeNPChannel.cc: Implement overrrided
|
|
findCrossSection() function to apply analytic (parametrized) function for
|
|
very low energy projectiles, falling back to base interpolation otherwise.
|
|
|
|
7 September 2012 Michael Kelsey (hadr-casc-V09-05-17)
|
|
-----------------------------------------------------
|
|
- sources.cmake: Forgot to change list of source files to match renaming.
|
|
|
|
4 September 2012 Michael Kelsey (hadr-casc-V09-05-16)
|
|
-----------------------------------------------------
|
|
Per Dennis, rename all three nucleon-nucleon channel files to remove the
|
|
isospin designation. Files now match corresponding .hh files:
|
|
|
|
G4CascadeT1ppChannel.cc -> G4CascadePPChannel.cc
|
|
G4CascadeT1nnChannel.cc -> G4CascadeNNChannel.cc
|
|
G4CascadeT0npChannel.cc -> G4CascadeNPChannel.cc
|
|
|
|
4 September 2012 Michael Kelsey
|
|
-------------------------------
|
|
- G4CascadeT0npChannel.cc: Fix misplaced semicolon in exclusive xsec list.
|
|
|
|
3 September 2012 Dennis Wright
|
|
------------------------------
|
|
- G4CascadeT1ppChannel.cc, G4CascadeT1nnChannel.cc, G4CascadeT0npChannel.cc:
|
|
Use SAID calculations for total and elastic cross-sections up to 320 MeV.
|
|
|
|
31 August 2012 Michael Kelsey
|
|
-----------------------------
|
|
- G4CascadeT1NNChannel.cc: REMOVE. Split into separate pp and nn files.
|
|
- G4CascadeT1ppChannel.cc: NEW. Only proton-proton part of T1NNChannel.
|
|
- G4CascadeT1nnChannel.cc: NEW. Only neutron-neutron part of T1NNChannel.
|
|
- sources.cmake: Remove T1NNChannel, add T1ppChannel and T1nnChannel.
|
|
|
|
22 August 2012 Michael Kelsey (hadr-casc-V09-05-15)
|
|
---------------------------------------------------
|
|
Consolidate all user-configurable environment variables into singleton
|
|
container class, instead of having them local to the code which uses them.
|
|
This will provide a way to query and report on values in a consistent way.
|
|
|
|
- G4CascadeParameters: NEW singleton container class to hold and evaluate
|
|
any user-configured environment variables. Default values for parameters
|
|
are provided, with code moved from original locations (see below). Three
|
|
new envvars are also defined:
|
|
|
|
G4CASCADE_VERBOSE
|
|
Pre-set verbosity in G4CascadeInterface constructor,
|
|
passes down to all constituent modules.
|
|
|
|
G4CASCADE_USE_PRECOMPOUND
|
|
Select use of PreCompoundModel in G4CascadeInterface constructor.
|
|
|
|
G4NUCMODEL_USE_BEST
|
|
Pre-set all defaults for nuclear model with physical units.
|
|
|
|
- G4CascadeInterface.hh: Add new function for dumping configuration.
|
|
|
|
- G4CascadeInterface.cc: Replace environment variable usage with calls to
|
|
G4CascadeParameters. Add pre-setting of verbosity and PreCompoundModel.
|
|
Implement configuration dump as call-through to G4CascadeParameters.
|
|
|
|
- G4CascadeCoalescence.cc: Replace environment variable usage with calls to
|
|
G4CascadeParameters.
|
|
|
|
- G4IntraNucleiCascader.cc: Replace environment variable usage with calls to
|
|
G4CascadeParameters.
|
|
|
|
- G4NucleiModel.cc: Replace environment variable usage with calls to
|
|
G4CascadeParameters.
|
|
|
|
- sources.cmake: Add G4CascadeParameters.hh,.cc.
|
|
|
|
-----
|
|
NOTE: Tag hadr-casc-V09-05-14 and changes to G4CascadeInterface.cc were
|
|
lost due to SVN repository incident.
|
|
-----
|
|
|
|
3 July 2012 Michael Kelsey (hadr-casc-V09-05-13)
|
|
------------------------------------------------
|
|
- G4CascadeCoalescence.cc: Bug fix: list of clusters already tried was not
|
|
cleared at start of new event, so entries from previous events prevented
|
|
formation of valid clusters. Also improve diagnostic messages somewhat.
|
|
|
|
8 June 2012 Michael Kelsey (hadr-casc-V09-05-12)
|
|
------------------------------------------------
|
|
Address compiler warnings about variable-shadowing (local variable has same
|
|
name as data member or global variable) which appear when "-Wshadow" is used.
|
|
|
|
G4InuclSpecialFunctions.hh
|
|
G4CascadeSampler.icc
|
|
G4CascadeData.icc
|
|
G4InuclElementaryParticle.hh
|
|
G4InuclEvaporation.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4InuclElementaryParticle.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NucleiModel.cc
|
|
G4CascadeInterface.cc
|
|
G4InuclSpecialFunctions.cc
|
|
G4ElementaryParticleCollider.cc
|
|
G4BigBanger.cc
|
|
(evaporation) G4BENeutronChannel.cc
|
|
(evaporation) G4BEChargedChannel.cc
|
|
(evaporation) G4BertiniEvaporationChannel.cc
|
|
|
|
25 May 2012 Michael Kelsey (hadr-casc-V09-05-11)
|
|
------------------------------------------------
|
|
- G4Dineutron.cc, G4Diproton.cc, G4UnboundPN.cc: Add code to protect
|
|
against warning messages from G4ParticleTable::Remove(), introduced with
|
|
particles-V09-05-03.
|
|
|
|
- G4CascadeCheckBalance.cc: Lower verbosity level for energy-conservation
|
|
reports, change violation rules to allow relative OR absolute passing,
|
|
consistent with new process-level checks.
|
|
|
|
- G4CascadeInterface.cc: Check for small negative projectile energy and
|
|
force to zero, to protect against occasional G4HadFinalState exceptions.
|
|
|
|
23 May 2012 Michael Kelsey (hadr-casc-V09-05-10)
|
|
------------------------------------------------
|
|
- G4CascadeInterface: Add local implementation of IsApplicable(), both the
|
|
base class (track,nucleus) and one using G4ParticleDefinition. Returns
|
|
true only if interaction tables are defined for projectile.
|
|
|
|
21 May 2012 Alberto Ribon (hadr-casc-V09-05-09)
|
|
-----------------------------------------------
|
|
- G4IntraNucleiCascader.cc: Specify mass when decay trapped particle.
|
|
This fixes reproducibility violations when hyperons are forced to
|
|
decay inside the nucleus.
|
|
|
|
17 May 2012 Alberto Ribon (hadr-casc-V09-05-08)
|
|
-----------------------------------------------
|
|
- G4Fissioner.cc: Removed static in local vectors AL1 and BET1 in the
|
|
method G4Fissioner::collide, to ensure reproducibility.
|
|
|
|
4 April 2012 Michael Kelsey (hadr-casc-V09-05-07)
|
|
--------------------------------------------------
|
|
- G4CascadeCoalescence.cc: Use std::ostream_iterator<size_t> to report
|
|
cluster indices, to avoid compiler warning.
|
|
|
|
21 March 2012 Michael Kelsey (hadr-casc-V09-05-06)
|
|
---------------------------------------------------
|
|
- G4NucleiModel.cc: Add check in isProjectile() for single-zone nuclei, and
|
|
ignore "movingInward" flag in that case.
|
|
|
|
20 March 2012 Michael Kelsey (hadr-casc-V09-05-05)
|
|
---------------------------------------------------
|
|
- G4NucleiModel.cc: Fill zone_volumes buffer for single-zone case.
|
|
|
|
14 March 2012 Michael Kelsey
|
|
-----------------------------
|
|
- test/: Tagged all existing, obsolete code as "OLD_Validation_Suite" for
|
|
future recovery if desired. Remove all code and files from active use, to
|
|
be replaced with our separate "ppi4GeV" utility program, suitably renamed.
|
|
|
|
9 March 2012 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeSigmaMinusPChannel.cc: Change zero-bin cross-sections for
|
|
Lambda-n and Sigma0-n, based on data from M. Goossens et al. measurements
|
|
of Sigma- capture (per J. Yarba).
|
|
|
|
- G4NucleiModel.cc: Add scale factor, set via envvar, for gamma absorption.
|
|
|
|
8 March 2012 Michael Kelsey
|
|
----------------------------
|
|
- G4NucleiModel.cc: In absorptionCrossSection() add binned spectrum derived
|
|
from Mikhail Kossov's gamma-D absorption data, for use with photons.
|
|
|
|
- G4ElementaryParticleCollider.cc: Modify sanity checks on dibaryon targets
|
|
to allow both photons and gamma to interact; gammas split the dibaryons
|
|
the same way pi0's do.
|
|
|
|
7 March 2012 Michael Kelsey
|
|
----------------------------
|
|
- G4NucleiModel: In generateInteractionPartners() and
|
|
absorptionCrossSection(), allow photons to be absorbed via dibaryon
|
|
(quasideuteron) excitation. Simplify and encapsulate path-length
|
|
computations in generateInteractionPartners(), with several new internal
|
|
functions, and a buffer to store the zone-by-zone shell volumes.
|
|
|
|
5 March 2012 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadParticle.hh: Add public accessor for cumulative path length.
|
|
|
|
- G4NucleiModel.cc: In generateInteractionPartners(), check to see if
|
|
CParticle is incident projectile (inbound from outside nucleus, not
|
|
created in outer zone). If so, force interaction to be attempted rather
|
|
than cutting on mean free path.
|
|
|
|
- G4CascadeKminusPChannel.cc: Modify two-body cross-section values in
|
|
zero-energy bin, to reflect stopping data from Julia Yarba.
|
|
|
|
25 January 2012 Michael Kelsey (hadr-casc-V09-05-04)
|
|
-----------------------------------------------------
|
|
- G4CascadeInterface.cc: Check for no-interaction in retryInelasticProton,
|
|
both in return value and in debugging report.
|
|
|
|
25 January 2012 Michael Kelsey (hadr-casc-V09-05-03)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel.hh: In getPotential() add test for ip==9 (photon) to return
|
|
zero potential. Otherwise it will return the 7 MeV flat pion potential,
|
|
which is not correct.
|
|
|
|
20 January 2012 Vladimir Ivantchenko (hadr-casc-V09-05-02)
|
|
-----------------------------------------------------------
|
|
- G4PreCompoundDeexcitation.cc: Do not delete pre-compound model and excitation
|
|
handler to avoid double deletion
|
|
|
|
6 January 2012 Dennis Wright (hadr-casc-V09-05-01)
|
|
----------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: add angular distributions for elastic and
|
|
inelastic 2-body final states of gamma p and gamma n reactions.
|
|
|
|
19 December 2011 Michael Kelsey (hadr-casc-V09-05-00)
|
|
------------------------------------------------------
|
|
- G4ElementaryParticle.cc: Expand diagnostics in getMomModuleFor2toMany(),
|
|
in generateSCMfinalState(), defer "particles.resize()" action until after
|
|
final-state properties have been validated. In case no final state can be
|
|
generated, this ensures that the failure propagates back up the calling
|
|
chain, instead of simply looping forever.
|
|
|
|
- G4NucleiModel.cc: If G4ElementaryParticle::collide() returns empty
|
|
output, stop propagating.
|
|
|
|
7 November 2011 Michael Kelsey (hadr-casc-V09-04-41)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel.cc: Due to some validation discrepancies, revert structure
|
|
parameters to old non-physical values.
|
|
|
|
- G4ElementaryParticleCollider.cc: In sampleCMmomentumFor2to2(), hide
|
|
message about unrecognized initial-state behind verbosity flag.
|
|
|
|
3 November 2011 Dennis Wright (hadr-casc-V09-04-40)
|
|
-----------------------------------------------------
|
|
- G4CascadeInterface.hh, .cc: switch from Description() to ModelDescription()
|
|
|
|
27 October 2011 Gabriele Cosmo (hadr-casc-V09-04-39)
|
|
-----------------------------------------------------
|
|
- Added workaround to use 'this' pointer for internal calls in
|
|
G4CascadeFunctions.hh/.icc, to allow for compilation on Xcode on MacOX Lion.
|
|
|
|
18 October 2011 Michael Kelsey (hadr-casc-V09-04-38)
|
|
-----------------------------------------------------
|
|
- G4CascadParticle.cc: In getPathToTheNextZone(), check for zero momentum
|
|
(pp < 1e-9) and return zero path-length; this will support capture at rest.
|
|
|
|
- G4NucleiModel.cc: Change kaon potential to be positive, not negative, so
|
|
slow kaons will occasionally be captured.
|
|
|
|
7 October 2011 Dennis Wright, Michael Kelsey
|
|
---------------------------------------------
|
|
- sources.cmake: Add new channel files below.
|
|
|
|
- G4CascadeGamNChannel.hh, G4CascadeGamPChannel.hh, G4CascadeT1GamNChannel.cc:
|
|
NEW final state tables for gamma-nucleon interactions, with final states
|
|
up to 9-body, using the same energy binning as pion-nucleon.
|
|
|
|
- G4CascadeChannelTables.cc: Add new gamma-nucleon interaction states to
|
|
LoadTable() switch block.
|
|
|
|
- G4ElementaryParticleCollider.cc: Add printing of gamma-nucleon tables.
|
|
|
|
- G4EquilibriumEvaporator.cc: Replace hardwired particle codes with enums.
|
|
|
|
- G4InuclParticleNames.hh: Change photon code to '9', to avoid initial
|
|
state conflict between piMinus-n (= 5*2 = 10) and gamma-p (= 10*1 = 10).
|
|
|
|
4 October 2011 Michael Kelsey (hadr-casc-V09-04-37)
|
|
----------------------------------------------------
|
|
- G4IntraNucleiCascader.cc, G4ElementaryParticleCollider.cc,
|
|
G4InuclCollider.cc: Prepare for gamma-N interactions by checking for
|
|
existence of final-state tables, rather than for "isPhoton()".
|
|
|
|
28 September 2011 Michael Kelsey (hadr-casc-V09-04-36)
|
|
-------------------------------------------------------
|
|
- evaporation/src/G4BertiniEvaporation.cc: Migrate to integer A&Z. This
|
|
code is moribund; migration is to avoid compilation errors.
|
|
|
|
27 September 2011 Michael Kelsey (hadr-casc-V09-04-35)
|
|
-------------------------------------------------------
|
|
- G4CascadeCoalescence.cc: BUG FIX for Windows: Replace strtof() with strtod().
|
|
|
|
27 September 2011 Michael Kelsey (hadr-casc-V09-04-34)
|
|
-------------------------------------------------------
|
|
- G4CascadeCoalescence.cc: BUG FIX for GCC>4.2: Add missing #include <iterator>.
|
|
|
|
26 September 2011 Michael Kelsey (hadr-casc-V09-04-33)
|
|
-------------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: Protect against non-physical arguments
|
|
and FPE in two-body angular distributions.
|
|
|
|
- G4IntraNucleiCascader.cc: Replace compiler flag with one-time envvar
|
|
access in ctor to enable clustering.
|
|
|
|
23 September 2011 Michael Kelsey (hadr-casc-V09-04-32)
|
|
-------------------------------------------------------
|
|
- sources.cmake: Add G4CascadeChannel.cc.
|
|
|
|
- G4CascadeChannel: Add optional stream& argument to printTable(), and new
|
|
stream operator<<, calling virtual printTable().
|
|
|
|
- G4CascadeChannelTables: Add optional stream& argument to printTable().
|
|
|
|
- G4CascadeData, G4CascadeFunctions, G4CascadeSampler,
|
|
G4CascadeInterpolator: Add optional stream& argument to print()
|
|
functions, and pass through to members.
|
|
|
|
- G4ElementaryParticleCollider: Add optional stream& argument to
|
|
printFinalStateTables(), pass through to printing tables.
|
|
|
|
22 September 2011 Michael Kelsey
|
|
---------------------------------
|
|
- sources.cmake: Add G4ExitonConfiguration.cc, G4FissionConfiguration.cc
|
|
|
|
- G4CascadeInterface.cc: Modify throwNonConservationFailure() to be ready
|
|
to use G4ExceptionDescription, once G4HadronicException supports it.
|
|
|
|
Replace most G4cout-specific print() functions with stream operators, in
|
|
order to anticipate supporting G4ExceptionDescription streams.
|
|
|
|
- G4CascadParticle: Add ostream& to print(), without trailing endl. Define
|
|
operator<<, calling virtual print(). Affects two classes:
|
|
|
|
G4IntraNucleiCascader.cc G4NucleiModel.cc
|
|
|
|
- G4CollisionOutput: Add optional ostream& to printCollisionOutput(), with
|
|
G4cout as the default. No clients affected.
|
|
|
|
- G4ExitonConfiguration, G4FissionConfiguration: Replace print() with
|
|
stream operator<<, defined in new .cc files. Affects G4FissionStore.cc.
|
|
|
|
- G4InuclParticle, G4InuclNuclei, G4InuclElementaryParticle: Add ostream&
|
|
to printParticle(), renamed as print(), without trailing endl. Define
|
|
operator<< only in base class, calling virtual print(). Affects 12 classes:
|
|
|
|
G4BigBanger.cc G4CascadParticle.cc
|
|
G4CascadeCoalescence.cc G4CascadeInterface.cc
|
|
G4CollisionOutput.cc G4ElementaryParticleCollider.cc
|
|
G4EquilibriumEvaporator.cc G4EvaporationInuclCollider.cc
|
|
G4Fissioner.cc G4IntraNucleiCascader.cc
|
|
G4NonEquilibriumEvaporator.cc G4NucleiModel.cc
|
|
|
|
22 September 2011 Michael Kelsey
|
|
---------------------------------
|
|
- G4CascadeCoalescence: Add list of clusters already attempted, check list
|
|
at top of tryClusters() to reduce combinatorial explosion (factor of >10).
|
|
|
|
22 September 2011 Michael Kelsey (hadr-casc-V09-04-31)
|
|
-------------------------------------------------------
|
|
- G4CascadeCoalescence.cc: Create light ions without excitation energy.
|
|
This will violate energy conservation, but is necessary since the excess
|
|
from momentum exceeds the binding energy.
|
|
|
|
- G4IntraNucleiCascader.cc: Recompute recoil fragment after clustering, to
|
|
account for E-violation (above).
|
|
|
|
20 September 2011 Michael Kelsey
|
|
---------------------------------
|
|
- G4CascadeCoalescence.cc: Relative momenta computed in c.m. frame of
|
|
nucleon pair, not in event frame. Add environment variables for cuts:
|
|
DPMAX_2CLUSTER, DPMAX_3CLUSTER, DPMAX_4CLUSTER. Clean up interfaces
|
|
to use cluster as argument instead of polymorphic lists. Improve
|
|
combinatorics.
|
|
|
|
19 September 2011 Michael Kelsey
|
|
---------------------------------
|
|
- G4CascadeCoalescence: NEW factory class to implement conversion of
|
|
final-state nucleon "clusters" into light ions. Uses LAQGSM algorithm
|
|
(Sec. 2.3, http://lib-www.lanl.gov/la-pubs/00818645.pdf).
|
|
|
|
- G4IntraNucleiCascader: Add final-state clustering as OPTIONAL facility,
|
|
controlled through compile-time flag G4CASCADE_DO_COALESCENCE. Clustering
|
|
is done during cascade finalization.
|
|
|
|
- G4InuclNuclei.cc: Allow A=0,Z=0 to produce null definition pointer.
|
|
|
|
- G4InuclParticle: Add Coalescence to list of model IDs; move setDefinition
|
|
to .cc file and allow passing null pointer.
|
|
|
|
- GNUmakefile: Add G4CASCADE_DO_COALESCENCE flag.
|
|
|
|
16 September 2011 Michael Kelsey (hadr-casc-V09-04-30)
|
|
-------------------------------------------------------
|
|
- G4CascadeChannelTables: Add load-on-demand via GetTable(). Move static
|
|
implementations to .cc file (Windows compatibility issue).
|
|
|
|
- G4CascadeFunctions.icc: Remove self-registration from ctor.
|
|
|
|
- G4Cascade*Channel.cc: Remove all namespace self-instantiations;
|
|
initialization is inconsistent across platforms.
|
|
|
|
31 August 2011 Michael Kelsey
|
|
------------------------------
|
|
- G4CascadeInterface.cc: Undo copying of G4V3DNucleus; creates incorrect
|
|
PDG codes for proton and neutron.
|
|
|
|
31 August 2011 Michael Kelsey (hadr-casc-V09-04-29)
|
|
----------------------------------------------------
|
|
- G4NucleiModel.cc: Make "best guess" parameters defaults for structure model,
|
|
leave "old" versions in place with C-style comments on each line.
|
|
|
|
- G4CascadParticle.cc: Add protection against negative radicand.
|
|
|
|
29 August 2011 Michael Kelsey
|
|
------------------------------
|
|
- G4InuclNuclei: Add constructor to copy G4V3DNucleus.
|
|
- G4CascadeInterface.cc: Use new G4InuclNuclei ctor in ::Propagate()
|
|
- G4IntraNucleiCascader.cc: Fill excitation state with holes determined
|
|
from input G4V3DNucleus "hits".
|
|
|
|
25 August 2011 Michael Kelsey (hadr-casc-V09-04-28)
|
|
----------------------------------------------------
|
|
- G4EquilibriumEvaporator.cc: Remove unprotected diagnostic statement.
|
|
|
|
25 August 2011 Michael Kelsey (hadr-casc-V09-04-27)
|
|
----------------------------------------------------
|
|
- G4NucleiModel: Remove obsolete local cross-section arrays; use standard
|
|
tables, which are numerically equivalent. Add comment block with "best
|
|
guess" values for converting model to physical units (these will hopefully
|
|
become the defaults).
|
|
|
|
9 August 2011 Michael Kelsey (hadr-casc-V09-04-26)
|
|
---------------------------------------------------
|
|
- G4CascadParticle: Add ::fill() function with ctor args to allow loading
|
|
vectors by "assignment," rather than with temporaries.
|
|
|
|
- G4BigBanger.cc, G4ElementaryParticleCollider.cc:
|
|
Reduce memory churn by using resize() and array assignment instead of
|
|
push_back() with temporaries where appropriate.
|
|
|
|
- G4NucleiModel: Move return buffer from generateParticleFate to non-const
|
|
input argument, eliminating unnecessary copy.
|
|
|
|
- G4IntraNucleiCascader.cc: Move "new_cascad_particles" to be argument to
|
|
generateParticleFate(), for filling instead of copying.
|
|
|
|
- G4EquilibriumEvaporator.cc: Improve building final-state particles to
|
|
reduce creation of temporaries.
|
|
|
|
9 August 2011 Michael Kelsey
|
|
-----------------------------
|
|
- G4CascadeInterface.cc: Clean up Description() implementation somewhat.
|
|
- G4EquilibriumEvaporator: Move foutput to data member, use reference access.
|
|
|
|
9 August 2011 Dennis Wright
|
|
----------------------------
|
|
- G4CascadeInterface: Add Description() function for autogenerated HTML.
|
|
|
|
3 August 2011 Michael Kelsey (hadr-casc-V09-04-25)
|
|
---------------------------------------------------
|
|
- G4PreCompoundDeexcitation.cc: Add diagnostic output when processing results.
|
|
- G4CollisionOutput.cc: Add diagnostics for copying G4ReactionProducts, and
|
|
fix bug with momentum units (must convert to Bertini GeV).
|
|
|
|
2 August 2011 Michael Kelsey
|
|
-----------------------------
|
|
- G4CascadeChannel.hh: Add ctor and virtual dtor (with no action) to fix
|
|
Coverity report #29838.
|
|
|
|
2 August 2011 Michael Kelsey (hadr-casc-V09-04-24)
|
|
---------------------------------------------------
|
|
- G4CascadeInterface.cc: Use new G4DecayKineticTracks in Propagate to
|
|
handle short-lived inputs. Requires hadr-mod-util-V09-04-01.
|
|
|
|
1 August 2011 Michael Kelsey (hadr-casc-V09-04-23)
|
|
---------------------------------------------------
|
|
- G4InuclElementaryParticle: Add fill() functions to reuse existing object,
|
|
reducing memory churn due to creating temporaries.
|
|
|
|
- G4CascadeInterface.cc: Update local buffers to use G4InuclEP::fill().
|
|
|
|
- G4CollisionOutput.cc: Use resize() and set/fill to eliminate temporary
|
|
copies in addOutgoingParticles(G4ReactionProductVector*).
|
|
|
|
- G4IntraNucleiCascader: Add local buffers for rescattering target, use
|
|
fill to reduce memory churn, and eliminate memory leak!
|
|
|
|
31 July 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeInterface: Add local buffers for bullet and target possibilities,
|
|
assign pointers to buffer addresses as appropriate. Reduces per-event
|
|
memory churn for each particle.
|
|
|
|
- G4EquilibriumEvaporator: Move "parms" buffer (pair<vector<>,vector<>>) to
|
|
data member, pre-allocate known size, to reduce per-event memory churn.
|
|
|
|
- G4FissionConfiguration.hh: Make ::print() const.
|
|
|
|
- G4FissionStore: Move "probs" vector to data member, reducing memory churn.
|
|
|
|
- G4Fissioner: Use C-style arrays as arguments to potentialMinimization,
|
|
since size is fixed. Reduces memory churn.
|
|
|
|
29 July 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadParticle.hh: Add functions to explicitly set all data members,
|
|
including initial path and generation, to support changes below. Re-order
|
|
member functions in set/get pairs.
|
|
|
|
- G4IntraNucleiCascader: Replace convertKineticToCascade() with
|
|
processSecondary(), which writes directly to G4CascadParticle "buffer" in
|
|
processing list. Eliminates new/delete cycling and memory churn.
|
|
|
|
29 July 2011 Michael Kelsey (hadr-casc-V09-04-22)
|
|
--------------------------------------------------
|
|
- G4CascadeChannelTables.cc: Use FindTable() to determine if table has been
|
|
created already or not. Add "clear()" to ctor to initialize empty map
|
|
(GCC 4.1.2 segfaults on first insertion otherwise). Add diagnostic
|
|
messages hidden with G4CASCADE_DEBUG_SAMPLER compiler flag.
|
|
|
|
28 July 2011 Michael Kelsey
|
|
----------------------------
|
|
Fix, or flag as "Ignore," all outstanding Coverity reports.
|
|
|
|
20228 G4CascadeFunctions.icc: Fix bug, compare (mult > maxMult) and set to
|
|
max on true. Otherwise, mult can overflow array dimension.
|
|
|
|
20230 G4CascadeInterpolator.icc: Remove "recursive" #include of .hh file.
|
|
|
|
20231 G4CascadeSampler.icc: Remove "recursive" #include of .hh file.
|
|
|
|
22951 G4EquilibriumEvaporator.cc: Check for icase<0 after assignment loop,
|
|
to avoid invalid array subscript.
|
|
|
|
22954 G4CascadeData.icc: Remove "recursive" #include of .hh file.
|
|
|
|
22955 G4CascadeFunctions.icc: Remove "recursive" #include of .hh file.
|
|
|
|
23843 G4EvaporationInuclCollider: Add dtor to delete EquilibriumEvaporator.
|
|
|
|
28776 G4InuclEvaporation.cc: Remove return following throw.
|
|
|
|
27 July 2011 Michael Kelsey (hadr-casc-V09-04-21)
|
|
--------------------------------------------------
|
|
- G4CascadeInterface.cc: Simplify NoInteraction() per V.Ivantchenko. No
|
|
particles are returned, but "SetEnergyChange" is used to communicate to
|
|
tracking that real track should be stopped and deposit all its energy.
|
|
|
|
- G4NucleiModel: Compared local kaon/hyperon cross-section tables with
|
|
sum-of-exclusive tables from G4Cascade*Channel.cc; all bin values below 10
|
|
GeV are identical. The channel tables have a somewhat more realistic
|
|
treatment of high energy projectiles (a logarithmic decrease rather than
|
|
flat). Remove the local arrays, using channel table lookup for everything.
|
|
|
|
25 July 2011 Michael Kelsey (hadr-casc-V09-04-20)
|
|
--------------------------------------------------
|
|
Make cross-section tables self-registering at job initialization. No switch
|
|
blocks needed any longer: new initial-state tables become usable without
|
|
any code modification.
|
|
|
|
- G4CascadeData: Add data member storing initial state argument.
|
|
|
|
- G4CascadeFunctions: Move constructor implementation to .icc file, where
|
|
registration to lookup table is done.
|
|
|
|
- G4CascadeChannelTables: Change from namespace back to class, with
|
|
std::map as data member. Add public function to register new table in
|
|
map, and return null pointer if lookup fails (i.e., no create-on-demand).
|
|
|
|
- G4Cascade*Channel.cc: Add local instance of each cross-section table,
|
|
used solely to trigger auto-registration in base class ctor. The
|
|
corresponding .hh files no longer appear anywhere else in Bertini code.
|
|
|
|
25 July 2011 Michael Kelsey (hadr-casc-V09-04-19)
|
|
--------------------------------------------------
|
|
- sources.cmake: Update HEADERS and SOURCES list with new code added 20
|
|
July 2011. This must be done manually.
|
|
|
|
22 July 2011 Michael Kelsey (hadr-casc-V09-04-18)
|
|
--------------------------------------------------
|
|
- G4CascadeInterface.cc: In makeDynamicParticle(), allow invalid type codes
|
|
in order to process, e.g., resonances from Propagate() input.
|
|
|
|
- G4InuclNuclei.hh: Fix bug in ctor (mom,A,Z,Eexc,model) -- failed to set
|
|
excitation energy; causes energy non-conservation in de-excitation code.
|
|
|
|
22 July 2011 Michael Kelsey (hadr-casc-V09-04-17)
|
|
--------------------------------------------------
|
|
- G4IntraNucleiCascader: Deprecate local "output_particles" list in favor
|
|
of using "output" (G4CollisionOutput) buffer directly. This will support
|
|
handling light ions and unrecognized particles for rescattering.
|
|
|
|
- G4CascadeCheckBalance: Replace std::vector<G4InuclEP> argument with
|
|
G4CollisionOutput in version of ::collide() for G4IntraNucleiCascader.
|
|
|
|
- G4CascadeRecoilMaker: Replace std::vector<G4InuclEP> argument with
|
|
G4CollisionOutput in version of ::collide() for G4IntraNucleiCascader.
|
|
|
|
21 July 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4IntraNucleiCascader: For pre-cascade rescattering, put resonances, or
|
|
any particle which cannot be propagated by Bertini, directly onto output,
|
|
without decaying. Requires G4InuclEP constructor which takes G4PartDef
|
|
directly, avoiding possibly undefined type codes.
|
|
|
|
NOTE: The ::rescatter() process doesn't generate a proper recoil nucleus
|
|
because outgoing_particles is used, rather than output.
|
|
|
|
- G4InuclParticle: Modify all constructors to take the model code as an
|
|
optional argument, so that subclasses don't have to set it manually.
|
|
|
|
- G4InuclNuclei: Modify constructors to pass model code to base (as above),
|
|
instead of calling SetModel() explicitly.
|
|
|
|
- G4InuclElementaryParticle: Modify constructors to pass model code to base
|
|
(as above), instead of calling SetModel() explicitly. Add new constructor
|
|
which takes G4ParticleDefinition* argument instead of type code. Allows
|
|
client code to create objects without a valid (enumerated) type, e.g. for
|
|
passing pre-cascade resonances through to output.
|
|
|
|
21 July 2011 Michael Kelsey (hadr-casc-V09-04-16)
|
|
--------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: Hide "mult" argument to
|
|
getMomModule2toMany(), as it is no longer used (V. Uzhinsky's fix). Fixes
|
|
compilation warning from hadr-casc-V09-04-15.
|
|
|
|
- G4CascadeInterface.cc: In NoInteraction(), only projectile should be
|
|
copied to final state, not target nucleus.
|
|
|
|
- G4CascadeT1NNChannel.cc: Fix final 9-body final-state list for both nn
|
|
and pp: existing entries violate charge.
|
|
|
|
20 July 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeInterface: Drop local copy of G4HadFinalState (theResult),
|
|
available directly from base class (theParticleChange). Add NoInteraction()
|
|
to copy input particle directly to return in case of problems.
|
|
Modify createBullet() to leave pointer null if not a valid particle; in
|
|
ApplyYourself(), check for both null bullets and bullet types without
|
|
interaction tables and return NoInteraction() in those cases. Fix bug in
|
|
reporting charge violation.
|
|
|
|
- G4CascadeChannel.hh: Repurpose this as non-template base class for all
|
|
cross-section tables, specifying public interface (pure virtual). Used
|
|
with multiple inheritance for G4CascadeFunctions<> to allow instantiation
|
|
and pointer return (below).
|
|
|
|
- G4CascadeChannel.cc: DELETE code from previous version of name.
|
|
|
|
- G4CascadeFunctions: Add inheritance from G4CascadeChannel, replace
|
|
static functions with virtual; must create instance from now on.
|
|
|
|
- G4CascadeChannelTables: NEW namespace with function to return
|
|
cross-section tables by pointer based on two-body initial state.
|
|
|
|
- G4ElementaryParticleCollider.cc: Remove all switch-blocks, replace with
|
|
calls to G4CascadeChannelTables; in PrintFinalStateTables, use convenience
|
|
funciton directly in G4CascadeChannelTables.
|
|
|
|
- G4NucleiModel.cc: Remove use of G4CascadeXXXChannel in switch block;
|
|
under "default:", make calls to G4CascadeTables.
|
|
|
|
19 July 2011 Michael Kelsey (hadr-casc-V09-04-15)
|
|
--------------------------------------------------
|
|
- G4CascadeInterface.cc: If accept/reject loop fails (maximum retries),
|
|
return initial state untouched rather than last generated cascade. This
|
|
avoids exposing an elastic scattering event under any circumstances.
|
|
|
|
19 July 2011 Michael Kelsey (hadr-casc-V09-04-14)
|
|
--------------------------------------------------
|
|
- G4ChannelData: Add new ctor argument "initialState", to specify the
|
|
product of the hadrons (e.g., for KminusP, the value is "kmi*pro"). This
|
|
argument is used to find the elastic channel cross-sections to be
|
|
subtracted from tot[] to get inelastic[] (other two-body channels,
|
|
including the quasi-elastic charge exchange, are treated as inelastic).
|
|
|
|
- G4Cascade*Channel.cc: Add new ctor argument for all cross-section tables.
|
|
|
|
18 July 2011 Michael Kelsey (hadr-casc-V09-03-91) ***BRANCH TAG***
|
|
--------------------------------------------------
|
|
- G4LorentzConvertor.cc: Copy HEAD version, which includes protections for
|
|
::rotate() applied to at-rest system (i.e., z-axis ~ (0,0,0)), and
|
|
simplifies calculations to avoid similar errors elsewhere.
|
|
|
|
NOTE: Changes below not included in branch tag.
|
|
|
|
18 July 2011 Michael Kelsey (hadr-casc-V09-04-13)
|
|
--------------------------------------------------
|
|
- G4ChannelData: Add new "inelastic" array, filled in initialize() to the
|
|
sum of 3-body and higher multiplicity cross-sections.
|
|
|
|
- G4CascadeInterface.cc: Change an error message to not show "ApplyYourself"
|
|
|
|
- G4ElementaryParticleCollider.cc: Per V. Uzhinskiy, remove special
|
|
"mult==3" case from getMomModule2toMany(). Replace magic numbers in
|
|
switch blocks with particle-name enums.
|
|
|
|
1 July 2011 Michael Kelsey
|
|
---------------------------
|
|
- G4NucleiModel.hh/.cc, G4InuclPartice.hh, G4InuclElementaryParticle.hh:
|
|
Copy minor comment changes applied to 9.4-ref-06 and 9.5-beta to HEAD.
|
|
|
|
17 June 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4NucleiModel.cc: Change "R_nucleon" (trailing effect nucleon radius) to
|
|
be adjustable parameter using G4NUCMODEL_RAD_TRAILING. Also apply radius
|
|
scaling factor to numerical value. This code should NOT be proposed for
|
|
builds until tested with thick-target models.
|
|
|
|
2 June 2011 Michael Kelsey (hadr-casc-V09-04-12)
|
|
-------------------------------------------------
|
|
- G4LorentzConvertor: Drop most "intermediate" kinematic parameters used in
|
|
rotate, in favor of somewhat more direct vector operations. Change test
|
|
for "degenerated" to use "small" rather than "small*small".
|
|
|
|
25 May 2011 Michael Kelsey (hadr-casc-V09-04-11)
|
|
-------------------------------------------------
|
|
- G4LorentzConvertor.cc: Add diagnostic messages in both ::rotate().
|
|
|
|
- G4NucleiModel.cc: Revert length scales to pre-V09-04-04 ("2.82" factor);
|
|
see 18 March 2011 notes below. Should undo visible-energy and angular
|
|
distribution effects seen in GEANT4 9.4-ref-04 testing.
|
|
|
|
19 May 2011 Michael Kelsey (hadr-casc-V09-04-10)
|
|
-------------------------------------------------
|
|
- G4CollisionOutput.cc: Drop unused "p2" from selectPairToTune().
|
|
- G4NucleiModel.cc: Use computed value "rho" instead of recomputing twice.
|
|
|
|
- G4CascadeInterface: Add support for capturing random-engine state to user
|
|
file (specified with environment variable G4CASCADE_RANDOM_FILE) at each
|
|
ApplyYourself() or Propagate() invocation. This will allow (hopefully!)
|
|
easier reproduction of crashes in complex applications.
|
|
|
|
3 May 2011 Michael Kelsey
|
|
--------------------------
|
|
- G4LorentzConvertor.cc: Add a couple of diagnostic messages to ::rotate().
|
|
|
|
27 April 2011 Michael Kelsey (hadr-casc-V09-04-09)
|
|
--------------------------------------------------
|
|
- G4InuclNuclei.cc: Remove preface about "non-standard PDGencoding," since
|
|
particles-V09-04-01 has removed the corresponding warning messages.
|
|
|
|
15 April 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4ParticleLargerEkin.hh, G4ParticleLargerBeta.hh: Add interfaces to do
|
|
sorting of G4CascadParticles, needed for initial setup of ::Propagate().
|
|
|
|
- G4IntraNucleiCascader.cc: In ::copySecondaries(), sort list by kinetic
|
|
energy.
|
|
|
|
13 April 2011 Michael Kelsey (hadr-casc-V09-04-08, hadr-casc-V09-03-88)
|
|
-----------------------------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: For 2-body scattering, adjust test to term1
|
|
to avoid divide-by-zero errors (see 19 Jan 2011, tag -00).
|
|
|
|
13 April 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4NucleiModel: Encapsulate trailing effect test in ::passTrailing().
|
|
|
|
13 April 2011 Michael Kelsey (hadr-casc-V09-04-07)
|
|
--------------------------------------------------
|
|
Deploying operational rescattering. This code requires modifications to
|
|
G4VIntraNuclearTransportModel.hh and G4TheoFSGenerator.hh which are included
|
|
in the geant4-09-04-ref-03 build.
|
|
|
|
NOTE: In testing, some input cascades lead to nuclei with excessive
|
|
excitation energy; this code should not be used in production.
|
|
|
|
- G4CascadeInterface.cc: Add construction of bullet from cached copy of
|
|
original projectile, saved by G4TheoFSGenerator.
|
|
|
|
- G4InuclCollider.cc: Adjust diagnostic messages in ::rescatter() to match
|
|
those in ::collide().
|
|
|
|
- G4IntraNucleiCascader.cc: Reduce number of retries from 1000 to 100.
|
|
|
|
28 March 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CascadeCheckBalance.hh: Add non-limit ctor and explicit limit setting.
|
|
- G4CascadeInterface.cc: Set internal E/p limits to match Gunter's below
|
|
(currently 5% and 10 MeV, want to make them tighter).
|
|
|
|
28 March 2011 Gunter Folger
|
|
----------------------------
|
|
- Set up for E/p checking by G4HadronicProcess in ctor of G4CascadeInterface.
|
|
|
|
24 March 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4NucleiModel: Add optional argument to reset() with list of collision
|
|
points, for copying cascade state when rescattering.
|
|
|
|
- G4IntraNucleiCascader: Add list of hit-nucleon locations, filled by
|
|
copyWoundedNucleus() for initialization of G4NucleiModel (above).
|
|
|
|
24 March 2011 Dennis Wright (hadr-casc-V09-04-06)
|
|
-------------------------------------------------
|
|
- G4NucleiModel - add trailing effect
|
|
|
|
23 March 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CollisionOutput.hh: Add non-const accessors for lists.
|
|
|
|
21 March 2011 Michael Kelsey (hadr-casc-V09-04-03-01, -V09-04-05)
|
|
--------------------------------------------------
|
|
Fixes for compiler warnings (and one error on Windows). The -03-01 tag
|
|
backs out change to G4NucleiModel.cc in -04 tag, which will be restored to
|
|
the HEAD.
|
|
|
|
- G4InuclElementaryParticle: Make getStrangeness() and getStrangeness(type)
|
|
both return G4int.
|
|
- G4CascadeColliderBase.hh: Hide names of arguments to rescatter().
|
|
- G4NucleiModel.cc: Replace strtof() with strtod().
|
|
|
|
18 March 2011 Michael Kelsey (hadr-casc-V09-04-04)
|
|
--------------------------------------------------
|
|
- G4NucleiModel.cc: Change internal length scale to use femtometers
|
|
directly (instead of apparent 2.8197 fm), and internal cross-section scale
|
|
to use fm^2 (instead of millibarns).
|
|
|
|
17 March 2011 Michael Kelsey (hadr-casc-V09-04-03)
|
|
--------------------------------------------------
|
|
Tag all revisions for deployment in next reference build.
|
|
|
|
1) Implement most of rescattering capability (G4CascadeInterface::Propagate
|
|
and dependent code). Substantial factoring of ::collide() functions to
|
|
allow functional reuse by ::rescatter(). Not operational without code
|
|
to capture and use primary projectile.
|
|
|
|
2) Simplify cascade test-and-repeat loops; do four-momentum balancing with
|
|
nuclear fragment, now used exclusively as G4Fragment, at end of cascade,
|
|
not after de-excitation.
|
|
|
|
16 March 2011 Michael Kelsey
|
|
----------------------------
|
|
More improvements to rescattering code. Not yet functional without code to
|
|
construct "bullet" from original projectile.
|
|
|
|
- G4CascadeInterface: Simplify target-construction functions by moving
|
|
active code to one with simple (A,Z) arguments.
|
|
|
|
- G4CollisionOutput.cc: Add reset() at start of trivialize().
|
|
|
|
- G4IntraNucleiCascader: Add functions to convert single G4KineticTrack to
|
|
G4CascadParticle (move out of preloadCascade()), and to decay G4KT
|
|
hadronic resonances in situ. Improve diagnostic messages.
|
|
|
|
- G4InuclElementaryParticle.cc: Move K0S/K0L "mixing" to K0/K0bar into type().
|
|
|
|
11 March 2011 Michael Kelsey
|
|
----------------------------
|
|
- G4CollisionOutput: Include G4Fragment as part of final state for
|
|
setOnShell() (including computing totalOutputMomentum). Note that the
|
|
four-momentum in G4Fragment is in GEANT4 units (MeV), not Bertini units!
|
|
|
|
- G4IntraNucleiCascader.cc: Reorganize post-cascade handling to do
|
|
setOnShell() check for all cases, allowing G4Fragment to be adjusted.
|
|
This should leave final state fully balanced before InuclCollider sees it.
|
|
|
|
- G4InuclCollider.cc: Simplify de-excitation handling (fragment test is in
|
|
deexcite() function). Suppress momentum-conservation check on de-excitation
|
|
unless G4CASCADE_CHECK_ECONS compiler flag was used, as all functions have
|
|
been confirmed to conserve four-momentum.
|
|
|
|
8 March 2011 Michael Kelsey
|
|
---------------------------
|
|
- G4InuclCollider: Move post-cascade (deexcitation) block out of collide()
|
|
to separate function. Pass G4Fragment instead of G4InuclNuclei.
|
|
|
|
- G4IntraNucleiCascader.cc: Don't put recoil "nucleus" onto output list.
|
|
|
|
- G4CollisionOutput.cc, G4InuclNuclei.cc: Follow additions to G4Fragment
|
|
interface to store and access charged and neutral holes separately.
|
|
|
|
4 March 2011 Michael Kelsey (kelsey-20110304)
|
|
---------------------------------------------
|
|
Continue development of rescattering infrastructure. All executable
|
|
functionality should be in place, BUT no "bullet" is available yet, so code
|
|
(especially conservation checks) will crash with segmentation fault.
|
|
|
|
- G4CascadeColliderBase.hh: Add ::rescatter() interface with null body, to
|
|
enforce common interface in all (both) affected colliders.
|
|
|
|
- G4CascadeInterface: Move conversion functions used by ::Propagate() from
|
|
here down to G4IntraNucleiCascader. Just pass input arguments through.
|
|
Convert cascade results to G4ReactionProducts for ::Propagate() output.
|
|
|
|
- G4IntraNucleiCascader: Move conversion functions used by ::Propagate() to
|
|
here from G4CascadeInterface. Replace ::rescatter() interface to take
|
|
arguments from ::Propagate and do conversion locally. Remove unnecesary
|
|
"itry" arguments from cascade functions.
|
|
|
|
- G4InuclCollider: Follow ::rescatter() interface change above, passing
|
|
arguments from G4CascadeInterface through to G4IntraNucleiCascader.
|
|
|
|
- G4NucleiModel.hh: Add optional arguments to reset() to force values of
|
|
neutron and proton counts (default behaviour is unchanged).
|
|
|
|
3 March 2011 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeInterface: Change name of "bulletList" to "inputFragments".
|
|
|
|
- G4CascadeRecoilMaker.cc: Add diagnostic message to ::wholeEvent().
|
|
|
|
- G4IntraNucleiCascader: Add function to copy input cascade particles to
|
|
local list for propagation, move clearing functions to separate action.
|
|
|
|
- G4NucleiModel.hh: Add accessors for radius (including zone radii),
|
|
mapping radial position to zone index, and converting radius units.
|
|
|
|
- G4NucleiModel.cc: Add a couple of FIXME messages about binding_energies[].
|
|
|
|
3 March 2011 Michael Kelsey (kelsey-20110303)
|
|
---------------------------------------------
|
|
- G4CascadeDeexcitation.cc: Don't do conservation check at end of process.
|
|
- G4CascadeInterface.cc: Rearrange messages for G4CASCADE_DEBUG_INTERFACE.
|
|
- G4CascadeOutput.cc: Fix diagnostic message reporting initial momentum.
|
|
- G4IntraNucleiCascader.cc: Move model->printModel() call to G4NucleiModel.
|
|
- G4NucleiModel.cc: Put printModel() call at end of generateModel().
|
|
- G4CascadeRecoilMaker.cc: Add diagnostics to goodNucleus().
|
|
- G4CollisionOutput.cc: Move ini_mom calculation to fix diagnostic output.
|
|
|
|
28 February 2011 Michael Kelsey (kelsey-20110228)
|
|
-------------------------------------------------
|
|
Continue infrastructure development for rescattering.
|
|
|
|
- G4CascadeInterface: New ::copyPreviousCascade() to transfer rescattering
|
|
into to Bertini particles, along with data buffers for the converted list.
|
|
New ::makeReactionProduct() for conversion of internal to external
|
|
hadronic-tracks. New ::makeCascadParticle() for conversion of pre-cascade
|
|
G4KineticTrack to Bertini type.
|
|
|
|
- G4InuclCollider.cc: Set verbosity when de-excitation module is changed.
|
|
|
|
25 February 2011 Michael Kelsey (kelsey-20110225b)
|
|
--------------------------------------------------
|
|
Develop infrastructure to support using Bertini as a "rescattering" model
|
|
for the output of the FTF simulation.
|
|
|
|
- G4CascadeColliderBase: Add ::setVerboseLevel() function which passes
|
|
verbosity through to G4CheckBalance data member.
|
|
|
|
- G4CascadeInterface: Add ::createTarget(G4V3DNucleus*). Move setVerboseLevel
|
|
implementation to .cc file, and propagate verbosity to member objects.
|
|
Move conservation checking to separate function. Begin to populate Propagate
|
|
function.
|
|
|
|
- G4IntraNucleiCascader: Split ::collide() into separate utility functions
|
|
to handle different stages of cascade process (initialization, cascade
|
|
development, final state). Add new ::rescatter() function which takes a
|
|
list of pre-existing secondaries as input to "seed" the processing. Add
|
|
setVerboseLevel implementation, and propagate verbosity to member objects.
|
|
|
|
- G4InuclCollider: Add ::rescatter() function which calls through to
|
|
G4IntraNucleiCascader(), and setVerboseLevel implementation.
|
|
|
|
NOTE: G4InuclCollider above was accidentally commited to kelsey-20110225a
|
|
|
|
25 February 2011 Michael Kelsey (kelsey-20110225a)
|
|
--------------------------------------------------
|
|
Infrastructure improvements to support modifying output particle lists
|
|
|
|
- G4CollisionOutput: Add ::removeXXX() interfaces to take particles off of
|
|
lists.
|
|
|
|
- G4InuclParticle.hh, G4InuclNuclei.hh, G4ExitonConfiguration.hh: Add
|
|
equality and inequality operators. NOTE: Sorting (operator<) NOT SUPPORTED.
|
|
|
|
23 February 2011 Michael Kelsey (hadr-casc-V09-04-02)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel: Bring changes for parametrizing "rescaled" nuclear model
|
|
parameters from orphaned CVS tag kelsey-20101020b into HEAD of SVN. The
|
|
scale factors are set specifically to reproduce the existing production
|
|
code, but will be adjusted to give the model "natural units" (fm lengths
|
|
and millibarn cross sections). Use environment variables to set scale
|
|
factors:
|
|
|
|
G4NUCMODEL_RAD_SCALE (3.3836/1.2 ~ 2.8197)
|
|
Internal length scale (conversion from femtometers). All of the
|
|
lengths in G4NucleiModel are larger by this factor than one would
|
|
expected from the literature. To do all of the model parameter
|
|
calculations in fm, this scale factor should be set to 1.
|
|
|
|
G4NUCMODEL_RAD_2PAR (not defined)
|
|
The current model computes the nuclear radius as a one-parameter
|
|
function of mass: 1.2*cbrt(A) (multiplied by the length scale
|
|
above). A better parametrization is 1.16*cbrt(A) - 1.3456/cbrt(A);
|
|
setting this environment variable chooses that parametrization.
|
|
|
|
G4NUCMODEL_RAD_SMALL (8.0/G4NUCMODEL_RAD_SCALE)
|
|
For nuclei below A=5 (alphas, tritons, etc.), instead of the
|
|
mass-dependent scaling, a constant radius is used. In the current
|
|
model, a value of 8.0 (corresponding to 2.83 fm) is set; published
|
|
data suggests 1.992 fm instead.
|
|
|
|
G4NUCMODEL_RAD_ALPHA (0.70)
|
|
This scale factor multiplies G4NUCMODEL_RAD_SMALL to account for the
|
|
anomalous binding energy of alphas compared to nearby light nuclei.
|
|
Published data suggests a value of 0.84 instead.
|
|
|
|
G4NUCMODEL_FERMI_SCALE (0.685)
|
|
This factor converts from the length scale (cbrt(volume)) to the
|
|
Fermi momentum for each nuclear species. Published data suggests a
|
|
value of 0.61 GeV/fm instead.
|
|
|
|
G4NUCMODEL_XSEC_SCALE (1.)
|
|
Scaling factors for total cross-sections. The current code has all
|
|
the cross sections in millbarns. If we are able to migrate to a
|
|
length scale in femtometers, this factor will change to 10. to
|
|
convert mb to fm^2.
|
|
|
|
14 February 2011 Michael Kelsey (hadr-casc-V09-04-01)
|
|
-----------------------------------------------------
|
|
- G4InuclParticle: Continue migration to enumerator Model. Replace
|
|
previous enum word "default" with "DefaultModel", add "PreCompound".
|
|
|
|
- G4InuclNuclei, G4InuclElementaryParticle: Follow G4InuclParticle::Model
|
|
migration, and drop use of "generation."
|
|
|
|
- G4CascadeRecoilMaker: Replace integer model with G4InuclParticle::Model.
|
|
|
|
- G4BigBanger.cc, G4CollisionOutput.cc, G4ElementaryParticleCollider.cc,
|
|
G4EqulibriumEvaporator.cc, G4Fissioner.cc, G4NonEquilibriumEvaporator.cc,
|
|
G4PreCompoundDeexcitation.cc: Replace integer model code with
|
|
G4InuclParticle::Model enumerator values.
|
|
|
|
31 January 2011 Michael Kelsey
|
|
------------------------------
|
|
- G4IntraNucleiCascader.cc: Move "momentum_in" calculation inside verbosity.
|
|
|
|
- G4InuclElementaryParticle.hh: Change getStrangeness() to return int, use
|
|
as pseudo-bool in hyperon() implementation. Drop local "generation" data
|
|
member, not used anywhere.
|
|
|
|
- G4InuclParticle.hh: Change "modelId" to enumerated type. Will require
|
|
numerous changes throughout code.
|
|
|
|
19 January 2011 Michael Kelsey (hadr-casc-V09-04-00)
|
|
----------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: In sampleCMcosFor2to2(), protect against
|
|
divide-by-zero by testing for term1==0. before other computations.
|
|
Addresses ~10^-7 FPE rate reported by A. Dotti.
|
|
|
|
16 January 2011 Michael Kelsey
|
|
------------------------------
|
|
- G4InuclParticleNames.hh: Add enumerator values for some light ions as
|
|
"elementary particles," and names for antibaryons and light antinuclei.
|
|
These will support upcoming developments, but are not currently used.
|
|
|
|
- G4InuclElementaryParticle.hh: Add antinucleon() and antibaryon() flags
|
|
(the latter will cover the light-ion cases).
|
|
|
|
- G4InuclElementaryParticle.cc: Add switch cases for new particles above.
|
|
|
|
24 November 2010 Michael Kelsey (hadr-casc-V09-03-87)
|
|
-----------------------------------------------------
|
|
- G4InuclCollider.cc: Delete local "zbullet" before exiting. Fixes memory
|
|
leak reported for 9.4 cand-01.
|
|
|
|
19 November 2010 Michael Kelsey (hadr-casc-V09-03-86)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel.cc: Put messages related to negative-path-length and
|
|
zero-interaction-partners behind verbosity flag.
|
|
|
|
29 October 2010 Michael Kelsey (hadr-casc-V09-03-85)
|
|
----------------------------------------------------
|
|
- G4NucleiModel: Bring tagged version kelsey-20101020 (refactoring) to HEAD
|
|
and tag for 9.4 release. This is the last substantive modification to be
|
|
included; validated by direct |diff|ing of output vs. V09-03-84 code.
|
|
|
|
22 October 2010 Michael Kelsey (hadr-casc-V09-03-84)
|
|
----------------------------------------------------
|
|
- G4WatcherGun.cc: Change first numeric argument to G4NuclWatcher to int.
|
|
|
|
NOTE: Only this change is include in tag.
|
|
|
|
20 October 2010 Michael Kelsey (kelsey-20101020b)
|
|
-------------------------------------------------
|
|
- G4NucleiModel: Add scaling factors ("units") for nuclear radii and
|
|
cross-sections, in order to adapt calculations to the literature.
|
|
|
|
20 October 2010 Michael Kelsey (kelsey-20101020a)
|
|
-------------------------------------------------
|
|
- G4NucleiModel: Re-activate changes in worthToPropagate() to use existing
|
|
nuclear potential values for kaons and hyperons to decide on trapping.
|
|
|
|
20 October 2010 Michael Kelsey (kelsey-20101020)
|
|
------------------------------------------------
|
|
- G4NucleiModel: Clean up some bugs in refactoring generateModel(). Back
|
|
out changes (28 Sep) in worthToPropagate() in order to compare refactored
|
|
to production code.
|
|
|
|
20 October 2010 Michael Kelsey (hadr-casc-V09-03-83)
|
|
----------------------------------------------------
|
|
- G4CascadParticle.cc: Remove debugging output left in by accident.
|
|
|
|
NOTE: Tag does not include reorganization of G4NucleiModel (5 Oct 2010)
|
|
|
|
19 October 2010 Michael Kelsey
|
|
------------------------------
|
|
G4FissionStore, G4FissionConfiguration: Undo migration to integer A and Z.
|
|
|
|
19 October 2010 Michael Kelsey
|
|
------------------------------
|
|
Clean up CoVerity software analysis reports (three are ignored from obsolete
|
|
code):
|
|
G4Analyser.cc
|
|
G4CascadeCheckBalance.cc
|
|
G4CascadeInterpolator.icc
|
|
G4CascadeSampler.icc
|
|
G4CollisionOutput.cc
|
|
G4ElementaryParticleCollider.cc
|
|
G4InuclCollider.cc
|
|
G4NuclWatcher.cc
|
|
G4NucleiModel.hh,cc
|
|
G4RegionModel.cc
|
|
|
|
14 October 2010 Michael Kelsey
|
|
------------------------------
|
|
- G4NucleiModel.cc: Fix misspelled "G4doulbe" -> G4double.
|
|
|
|
Pick up several missed bits of the "integer A and Z migration," mostly in
|
|
test and diagnostic code:
|
|
|
|
G4Analyser.hh,cc
|
|
G4FissionConfiguration.hh
|
|
G4FissionStore.hh,cc
|
|
G4NuclWatcher.hh,cc
|
|
|
|
14 October 2010 Michael Kelsey (hadr-casc-V09-03-82)
|
|
----------------------------------------------------
|
|
- G4CascadParticle.cc: Add protection in getPathToTheNextZone() so that d2
|
|
is always computed non-negative. Avoids 10^-5 FPEs.
|
|
|
|
05 October 2010 Michael Kelsey
|
|
------------------------------
|
|
- G4NucleiModel: Major reorganization of generateModel() code.
|
|
1) Rename integration functions from "volNumInt[1]" to "zoneIntegralxxx"
|
|
with "xxx" = "WoodsSaxon" or "Gaussian".
|
|
2) Move hardwired constants out to static data members, give clear names.
|
|
3) Split function into separate pieces to set binding energies, zone
|
|
radii, volume/density values, and potential heights.
|
|
4) Within new functions, simplify if-cascades where possible, eliminate
|
|
duplicated code.
|
|
5) Move std::vector<> buffers out to data members.
|
|
|
|
Also, modify worthToPropagate() to use non-nucleon potential heights to
|
|
terminate propagation. Previously, non-nucleons could never fail, as the
|
|
"getFermiKinetic" always returned zero.
|
|
|
|
28 September 2010 Michael Kelsey (hadr-casc-V09-03-81)
|
|
------------------------------------------------------
|
|
- G4BigBanger: Missed some integer A/Z migrations, which caused a bus error
|
|
in test47.
|
|
|
|
26 September 2010 Michael Kelsey (hadr-casc-V09-03-80)
|
|
------------------------------------------------------
|
|
- G4VCascadeDeexcitation.hh: NEW abstract base class for post-cascade
|
|
processing. Some common activities will be implemented here from the two
|
|
actual modules.
|
|
|
|
- G4CascadeDeexcitation, G4PreCompoundDeexcitation: Use new base class
|
|
above, reorganize code in collide() to use new deExcite(G4Fragment*) where
|
|
appropriate.
|
|
|
|
- G4InuclCascader.hh: Reference new base class for de-excitation modules.
|
|
|
|
25 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4CascadeColliderBase: Add explosion(G4Fragment*) and explosion(A,Z,Eexc).
|
|
Move implementation to latter, and write others as call-throughs. Add
|
|
Z==0 condition for explosion, regardless of A.
|
|
|
|
- G4EquilibriumEvaporator.hh: Remove explosion(G4InuclNuclei*), as
|
|
unnecessary. Existing explosion(A,Z,E) now overrides base class.
|
|
|
|
- G4CollisionOutput: Add function to process G4ReactionProducts from
|
|
PreCompound.
|
|
|
|
- G4PreCompoundDeexcitation.cc: Move G4ReactionProducts loop to
|
|
G4CollisionOutput.
|
|
|
|
24 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4IntraNucleiCascader.cc: Minor shuffle of post-cascade recoil checking,
|
|
in preparation for moving fragment construction and processing away.
|
|
|
|
- G4CollisionOutput.cc: Replace names "TargetFragment*" and "NucleiFragment*"
|
|
with "OutgoingNuclei" and "OutgoingNucleus" for consistency with
|
|
"OutgoingParticles" names. This affects the following source files, all
|
|
of which are modified to match (using |sed|):
|
|
|
|
cascade/include/G4Analyser.hh
|
|
cascade/include/G4CollisionOutput.hh
|
|
cascade/src/G4Analyser.cc
|
|
cascade/src/G4CascadeCheckBalance.cc
|
|
cascade/src/G4CascadeDeexcitation.cc
|
|
cascade/src/G4CascadeInterface.cc
|
|
cascade/src/G4CollisionOutput.cc
|
|
cascade/src/G4EquilibriumEvaporator.cc
|
|
cascade/src/G4Fissioner.cc
|
|
cascade/src/G4IntraNucleiCascader.cc
|
|
cascade/src/G4InuclCollider.cc
|
|
cascade/src/G4InuclEvaporation.cc
|
|
cascade/src/G4NonEquilibriumEvaporator.cc
|
|
cascade/src/G4PreCompoundDeexcitation.cc
|
|
|
|
- G4CollisionOutput: Add new G4Fragment data member, with get() and add()
|
|
accessors. This fragment is *not* used by setOnShell() or by any of the
|
|
event-total calculations. It will be filled by G4IntraNucleiCascader for
|
|
use by de-excitation modules. Include G4Fragment in diagnostic output if
|
|
not empty.
|
|
|
|
- G4CascadeRecoilMaker.cc: Remove G4Fragment::SetExcitationEnergy() call.
|
|
|
|
- G4InuclNuclei: Add new constructor to create from G4Fragment input, and
|
|
new makeG4Fragment() to spit out a G4Fragment. Also provide a casting
|
|
operator for the latter.
|
|
|
|
24 September 2010 Michael Kelsey (hadr-casc-V09-03-79)
|
|
------------------------------------------------------
|
|
Fix numerous compilation warnings on Linux (not seen on MacOSX) left over
|
|
from migration to integer A and Z (-73 tag).
|
|
|
|
G4BigBanger.cc
|
|
G4CascadeCheckBalance.hh
|
|
G4CascadeColliderBase.cc
|
|
G4CascadeRecoilMaker.cc
|
|
G4EquilibriumEvaporator.hh,cc
|
|
G4ExitonConfiguration.hh
|
|
G4Fissioner.cc
|
|
G4InuclCollider.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NucleiModel.cc
|
|
|
|
- G4PreCompoundDeexcitation.cc: Drop "G4int" casts as no longer required.
|
|
|
|
23 September 2010 Michael Kelsey (hadr-casc-V09-03-78)
|
|
------------------------------------------------------
|
|
- G4CascadeInterface, G4InuclCollider: change user selection function name
|
|
to usePreCompoundDeexcitation(), per Julia Yarba.
|
|
|
|
- G4PreCompoundCascadeInterface.hh,.cc, G4PreCompountInuclCollider.hh,.cc:
|
|
REMOVE THESE CLASSES. These were copied and modified versions of the
|
|
standard versions, in order to test the new pre-compound de-excitation.
|
|
That has been integrated with runtime flags, so the parallel versions are
|
|
not required.
|
|
|
|
23 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4InuclElementaryParticle.cc: Drop warning message when converting
|
|
G4ParticleDefinition to type code.
|
|
|
|
- G4CascadeInterface: Add functions for user selection of which
|
|
post-cascade module to use for de-excitation of the residual nucleus.
|
|
These call through to the equivalent G4InuclCollider functions.
|
|
|
|
- G4InuclCollider: Add functions for user selection of which
|
|
post-cascade module to use for de-excitation of the residual nucleus.
|
|
These delete and re-instantiate the appropriate de-excitation "collider".
|
|
|
|
- G4PreCompoundDeexcitation: Remove convertFragment() function, remove
|
|
pass-by-value std::vector<> from getDeExcitedFragments() (use data member
|
|
instead). Clean up some obsolete code usage.
|
|
|
|
- G4CascadeRecoilMaker: Change fragment-making interface:
|
|
makeRecoilNuclei() now returns G4InuclNuclei* for standard Bertini colliders.
|
|
makeRecoilFragment() returns G4Fragment* for external PreCompound models.
|
|
addExcitonConfiguration() sets local copy of excitons, needed in order to
|
|
call the individual G4Fragment->Setxxx() functions.
|
|
|
|
- G4IntraNucleiCascader.cc: Follow renaming RecoilMaker::makeRecoilNuclei(),
|
|
use new addExcitonConfiguration().
|
|
|
|
- G4CascadeRecoilMaker: Change fragment-making interface:
|
|
makeRecoilNuclei() now returns G4InuclNuclei*.
|
|
makeRecoilFragment() returns G4Fragment*.
|
|
addExcitonConfiguration() sets local copy of excitons, needed in order to
|
|
call the individual G4Fragment->Setxxx() functions.
|
|
|
|
- G4IntraNucleiCascader.cc: Follow renaming RecoilMaker::makeRecoilNuclei(),
|
|
use new addExcitonConfiguration().
|
|
|
|
22 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4CascadeMomentum.hh: This should have been removed from the package long
|
|
ago. Apologies for the oversight.
|
|
|
|
22 September 2010 Julia Yarba
|
|
-----------------------------
|
|
Added 1st prototype of interface between Bartini cascade and PreCompound model
|
|
(post-cascade de-excitation).
|
|
|
|
Changes only to:
|
|
/geant4/source/processes/hadronic/models/cascade/cascade
|
|
|
|
New developments are those G4PreCompound* classes; the GNUmakefile adapted to
|
|
include necessary links.
|
|
|
|
The PreComp wrapper is G4PreCompundDeexcitation class.
|
|
|
|
The logic, loops, conditions, etc., in the event processing are the same as in
|
|
the "native" Bertini code. I actually copied it over from G4CascadeInterface,
|
|
and started from there.
|
|
|
|
However, there're a few technical changes that I'd like to mention.
|
|
|
|
1. G4PreCompoundInterface inherits directly from G4HadronicInteraction.
|
|
I felt that we'd not need G4VIntra..., because its only advantage is a pointer
|
|
(and related access methods) to G4VPreCompoundModel.
|
|
This has now moved to the de-excitation wrapper.
|
|
|
|
2. In the Collider itself, I've made the data member to be
|
|
G4CascadeColliderBase* theDeexcitation
|
|
This way, it can be transparently set to the native one or the PreComp one
|
|
(both inherit from G4CascadeColliderBase).
|
|
|
|
3. There's a setDeExcitation(...) methond in the collider, and also in the interface
|
|
(which will pass it down to the collider).
|
|
|
|
19 September 2010 Michael Kelsey (hadr-casc-V09-03-77)
|
|
------------------------------------------------------
|
|
- G4CascadeInterface.cc: Bug fix to logic in retryInelasticNucleus()
|
|
|
|
17 September 2010 Michael Kelsey (hadr-casc-V09-03-76)
|
|
------------------------------------------------------
|
|
- G4CascadeInterface: Add support to pass nucleus projectiles into
|
|
collider. Not tested or guaranteed to work, but G4IntraNucleiCascader is
|
|
supposed to deal with them.
|
|
|
|
16 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4CascadeInterface: Extensive reorganization, moving most
|
|
functionality out of ApplyYourself and into small member functions.
|
|
Complicated end-of-loop conditions encapsulated. Data members made into
|
|
pointers to hide dependences from outside world.
|
|
|
|
16 September 2010 Michael Kelsey (hadr-casc-V09-03-75)
|
|
------------------------------------------------------
|
|
- G4CascadeInterface.cc: Add parentheses in end-of-while block to fix
|
|
compilation warning in GCC 4.3.
|
|
|
|
- G4IntraNucleiCascader.cc: In decayTrappedParticle(), check for photon
|
|
daughters and put them directly onto output list.
|
|
|
|
16 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4CascadParticle.hh: Make getGeneration() const.
|
|
|
|
- G4CascadeDeexcitation.hh: Fix compiler warning about order of data members.
|
|
|
|
- G4IntraNucleiCascader: Intercept hyperons which are "trapped" in nuclear
|
|
potential, and decay them immediately to produce usable secondaries. This
|
|
resolves problem with sub-MeV final-state hyperons (reported by A. Dotti),
|
|
but is not entire correct. Properly, the hyperon should be incorporated
|
|
into a hypernucleus fragment.
|
|
|
|
- G4InuclElementaryParticle.hh: Add hyperon() identification function, and
|
|
constructor to take G4DynamicParticle directly.
|
|
|
|
- G4InuclParticle.hh, G4InuclNuclei.hh: Add constructor to take
|
|
G4DynamicParticle directly.
|
|
|
|
15 September 2010 Michael Kelsey (hadr-casc-V09-03-74)
|
|
------------------------------------------------------
|
|
- G4CascadeDeexcitation: NEW collider to handle post-cascade processing of
|
|
nuclear fragment. Encapsulates BigBanger and Evaporators. Eventually
|
|
will have alternative (configurable or #ifdef) implementation using G4
|
|
external "pre-compound" models instead of Bertini factories.
|
|
|
|
- G4InuclCollider: Remove post-cascade colliders (BigBanger, Evaporators),
|
|
replace with new G4CascadeDeexcitation.
|
|
|
|
- G4LorentzConverter: Move construtor implementations to .cc file, and make
|
|
sure all constructors have initializers for all data members.
|
|
|
|
14 September 2010 Michael Kelsey (hadr-casc-V09-03-73)
|
|
------------------------------------------------------
|
|
Migrate to integer A and Z values for nuclear configurations. Includes both
|
|
explicit arguments for G4InuclNuclei, and function arguments, computational
|
|
parameters involved in nuclear configurations, breakup, etc.
|
|
|
|
G4CascadeCheckBalance.cc
|
|
G4CascadeInterface.cc
|
|
G4CascadeRecoilMaker.hh
|
|
G4Fissioner.hh,cc
|
|
G4InuclEvaporation.cc
|
|
G4InuclNuclei.hh,cc
|
|
G4InuclSpecialFunctions.hh
|
|
G4NonEquilibriumEvaporator.hh,cc
|
|
G4NucleiModel.hh,cc
|
|
G4PreCompoundCascadeInterface.cc
|
|
bindingEnergy.cc
|
|
bindingEnergyAsymptotic.cc
|
|
nuclearLevelDensity.cc
|
|
paraMaker.cc
|
|
|
|
- G4InuclSpecialFunctions.hh: Eliminate bindingEnergy functions which are
|
|
no longer used, along with their .cc files:
|
|
|
|
bindingEnergyKummel
|
|
bindingEnergyExact
|
|
|
|
Migration validated using 100 events (20 GeV pi+ on lead) with verbose==4.
|
|
Entire log files (9.6M lines, 433 MB) identical before and after migration.
|
|
|
|
13 September 2010 Michael Kelsey
|
|
--------------------------------
|
|
- G4InuclElementaryParticle: Move printParticle() implementation to .cc,
|
|
and add printing of particle name to output.
|
|
|
|
- G4InuclNuclei.cc: Move base-class printing to first line of output, to
|
|
match G4InuclEP.
|
|
|
|
10 September 2010 Michael Kelsey (hadr-casc-V09-03-72)
|
|
------------------------------------------------------
|
|
- G4CascadeRecoilMaker: Add new goodNucleus() function with functionality
|
|
from G4IntraNucleiCascader::goodCase(). Add parameter to set "rounding
|
|
tolerance" for small/negative mass differences. Drop getRecoilFragment()
|
|
in favor of user calling makeRecoilFragment() directly (instead of doing
|
|
it collide()), which returns a non-const pointer.
|
|
|
|
- G4IntraNucleiCascader: Remove previously introduced getResidualMass() and
|
|
makeResidualFragment() functions, along with G4InuclNuclei object.
|
|
Replace with new RecoilMaker utility. Move goodCase() to RecoilMaker, and
|
|
begin to simplify end-of-cascade processing.
|
|
|
|
- G4ExitonConfiguration.hh: Add function to reset values to zero.
|
|
|
|
- G4InuclNuclei: Add function to zero out exciton configuration, and use
|
|
it in fill() functions.
|
|
|
|
9 September 2010 Michael Kelsey
|
|
-------------------------------
|
|
- G4CascadeCheckBalance: Add new collide() interface to take lists of both
|
|
G4InuclElementaryParticles and G4CascadParticles; supports use by
|
|
G4IntraNucleiCascader and G4CascadeRecoilMaker.
|
|
|
|
- G4CascadeRecoilMaker: NEW pseudo-Collider class to compute the nuclear
|
|
recoil kinematics of a cascade, either in process or completed. To be
|
|
used by G4IntraNucleiCascader; uses G4CascadeCheckBalance to do work.
|
|
|
|
6 September 2010 Michael Kelsey (hadr-casc-V09-03-71)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel: Add protections in generateInteractionPartners() so that
|
|
nucleon and quasideuteron interactions are only selected if there are
|
|
"enough" nucleons of the necessary type still available (xxxNumberCurrent).
|
|
|
|
- G4InuclNuclei: Add fill() functions which overwrite the entire particle
|
|
structure, with same argument lists as constructors. Will be used mainly
|
|
by G4IntraNucleiCascader::makeResidualFragment().
|
|
|
|
- G4IntraNucleiCascader: Hide non-physical nucleus message behind verbose
|
|
flag. Add function and data member to build recoil nucleus (fragment) at
|
|
end of every iteration; will eventually replace functionality of
|
|
getResidualMass().
|
|
|
|
2 September 2010 Michael Kelsey (hadr-casc-V09-03-70)
|
|
-----------------------------------------------------
|
|
- G4NucleiModel.cc: Restore hadr-casc-V09-03-68 revision 1.71, and remove
|
|
the two resize(3) actions.
|
|
|
|
NOTE: The exercise below has (finally) resolve the cross-section
|
|
discrepancy reported by Sunanda Banerjee back in July. It turns out that my
|
|
use of "resize(3)" to pre-allocate the qdeutron and acsec buffers on each
|
|
interaction was incorrect. This doesn't just reserve memory, it fills the
|
|
vectors with three elements, so that subsequent push_back()'s fill [3], [4],
|
|
etc.
|
|
|
|
2 September 2010 Michael Kelsey
|
|
-------------------------------
|
|
- G4NucleiModel.cc: Reverted to hadr-casc-V09-03-38 revision 1.45, and
|
|
interface changes incorporated. See NOTE below from 28 July 2010.
|
|
Cross-section changes have not been resolved or validated. Since -38
|
|
revision has better data/MC matching (ratio near 1), it is restored as the
|
|
baseline version, and changes will be re-done incrementally.
|
|
|
|
Each increment after (0) is tagged "kelsey-20100902x", x=a,b,c,d etc.
|
|
|
|
0) Implement new ctor and generateModel() calls
|
|
Make cross-section tables statically initialized
|
|
Include absorptionCrossSection definition
|
|
1) Use lookup tables for cross-sections, and new interpolator
|
|
Change CHC_CHECK to G4CASCADE_DEBUG_CHARGE
|
|
2) Use this package's bindingEnergy() function
|
|
3) Update diagnostic messages and verbosity levels;
|
|
Add missing initializers to all constructors;
|
|
Use data-member buffer for G4CollisionOutput
|
|
4) Use generateWithRandomAngles() everywhere appropriate;
|
|
Collapse if-cascades to use if-return where possible
|
|
5) Make generateModel() re-usable with data-member buffers
|
|
6) Energy-momentum conservation checking;
|
|
Implement generateNucleonMomentum;
|
|
Remove extraneous semicolons and blank lines
|
|
7) Use local variables in passFermi();
|
|
Fix some minor LorentzVector calculations;
|
|
Use generateNucleonMomentum() for quasi-deuterons
|
|
8) Use data-member buffers for quasideuterons, coords, mom.
|
|
9) Use enum labels for quasideuteron codes
|
|
10) Restore Dennis' improved potential (6-zone) calculations
|
|
|
|
4 August 2010 Michael Kelsey (hadr-casc-V09-03-69)
|
|
--------------------------------------------------
|
|
- G4CascadeData: Add name data member and optional ctor argument, use
|
|
when printing tables.
|
|
|
|
- G4CascadeFunctions.icc: Pretty-up printing output using name string.
|
|
|
|
- G4Cascade*Channel.cc: Add name string to data() ctor, use central part of
|
|
class name, e.g., "PiMinusP" for G4CascadePiMinusPChannel.
|
|
|
|
- G4ElementaryParticleCollider.cc: Add printing of all final-state tables,
|
|
one time only, protected by G4CASCADE_DEBUG_SAMPLER.
|
|
|
|
- GNUmakefile: Add G4CASCADE_DEBUG_SAMPLER preprocessor flag.
|
|
|
|
3 August 2010 Michael Kelsey (hadr-casc-V09-03-68)
|
|
--------------------------------------------------
|
|
- G4CascadeData.hh: Add print() and printXsec() functions to dump tables.
|
|
- G4CascadeData.icc: Move implementations out of G4CascadeData.hh file.
|
|
|
|
- G4CascadeFunctions.hh,icc: Add printTable() to dump tables.
|
|
|
|
- G4CascadeInterpolator.hh,icc: Add printBins() to dump energy bin edges.
|
|
|
|
- G4CascadeSampler.hh,icc: Add print() to call through to interpolator.
|
|
|
|
NOTE: This should be the last set of functional changes for a while.
|
|
Sunanda Bannerjee reported substantial changes in validation plots for the
|
|
Bertini cascade between 4.9.3-ref-05 (hadr-casc-V09-03-23-01) and
|
|
4.9.3-ref-06/4.9.4-beta-01 (hadr-casc-V09-03-43).
|
|
|
|
28 July 2010 Michael Kelsey (hadr-casc-V09-03-67)
|
|
-------------------------------------------------
|
|
- G4NucleiModel.cc: Set deuteron arrays to fixed length (3). Add A/Z
|
|
values to generateModel diagnostic message.
|
|
|
|
- G4EquilibriumEvaporator.cc: Change some fixed length std::vector<> to
|
|
simple C arrays.
|
|
|
|
- G4Fissioner.cc: Move G4FissionStore to class data member for reuse.
|
|
|
|
- G4FissionStore: Add ::clear() function to support reuse, move addConfig()
|
|
implementation to .cc file.
|
|
|
|
- G4IntraNucleiCascader: Move G4NucleiModel to class-level data member
|
|
(pointer) so it can be reused across collisions.
|
|
|
|
26 July 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4Analyzer.cc: Use const-refs for particle lists.
|
|
|
|
- G4BigBanger, G4ElementaryParticleCollider: Move std::vector<> buffers to
|
|
.hh file to allow reuse.
|
|
|
|
- G4NucleiModel.cc: Simplify buffers used in generateModel() to reduce
|
|
G4double allocations.
|
|
|
|
23 July 2010 Michael Kelsey (hadr-casc-V09-03-66)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface: Move G4CollisionOutput to .hh file for reuse between
|
|
events.
|
|
|
|
- G4IntraNucleiCascader: Move buffers for cascade output to .hh file, so
|
|
they can be reused between events.
|
|
|
|
- G4NucleiModel: Move G4CollisionOutput to .hh file for reuse; use
|
|
references for bullet and target args to G4EPCollider.
|
|
|
|
21 July 2010 Michael Kelsey (hadr-casc-V09-03-65)
|
|
-------------------------------------------------
|
|
- GNUmakefile: Add new G4CASCADE_CHECK_ECONS to turn off all of the
|
|
internal conservation checks (reduce std::vector<> memory churn!).
|
|
|
|
- G4CascadeColliderBase.cc: Use G4CASCADE_CHECK_ECONS to set the default
|
|
value of "doConservationChecks": true if defined, false if not defined.
|
|
This is done with #ifdef-else-endif block, NOT some fancy macro.
|
|
|
|
- G4CascadeInterface.cc: Use G4CASCADE_SKIP_ECONS to toggle reporting
|
|
violations before end of loop (don't need to call balance.okay() twice!).
|
|
|
|
- G4ElementaryParticleCollider.cc: Put verbosity check before call to
|
|
validateOutput() to avoid unnecessary vector manipulations.
|
|
|
|
- G4IntraNucleiCascader.cc: Set doConservationChecks = true
|
|
unconditionally; used to reject bad cascades.
|
|
|
|
- G4NucleiModel.cc: Use G4CASCADE_CHECK_ECONS to hide balance.collide().
|
|
|
|
20 July 2010 Michael Kelsey (hadr-casc-V09-03-64)
|
|
-------------------------------------------------
|
|
- G4CascadeColliderBase: Make G4CascadeCheckBalance a pointer member, move
|
|
ctor and dtor to .cc file. Change balance tolerances to 1 per mil and 1
|
|
MeV.
|
|
|
|
- G4InuclCollder: Make all colliders pointer members.
|
|
|
|
- G4IntraNucleiCascader: Make EPCollider a pointer member, and call
|
|
G4CollisionOutput::setOnShell() to balance energy-momentum for null fragments.
|
|
|
|
- G4InuclNuclei.cc: Preserve momentum magnitude when setting excitation
|
|
energy by setting mass and kinetic energy.
|
|
|
|
19 July 2010 Michael Kelsey (hadr-casc-V09-03-63)
|
|
-------------------------------------------------
|
|
- G4CascadeCheckBalance.cc: Change zero-tolerance to 10 keV (1e-5) from
|
|
1 keV (1e-6).
|
|
|
|
- G4CollisionOutput.hh: Fix capitalization of "numberOfOutgoingParticles".
|
|
|
|
- G4EquilibriumEvaporator.cc: Remove duplicate EEXS setting.
|
|
|
|
- G4InuclNuclei: Change implementation of setExitationEnergy() to adjust
|
|
mass while keeping momentum vector constant. Currently done with
|
|
"expensive" LorentzVector manipuation. Should be done by recomputing
|
|
kinetic energy given new mass value.
|
|
|
|
- G4NonEquilibriumEvaporator.cc: Modify particle-creation block to work as
|
|
G4EquilibriumEvaporator now does. Simplify some if-blocks.
|
|
|
|
16 July 2010 Michael Kelsey (hadr-casc-V09-03-62)
|
|
-------------------------------------------------
|
|
- G4CollisionOutput: Add interfaces to handle G4CascadParticles.
|
|
|
|
- G4IntraNucleiCascader: Eliminate local "inter_case" data member and
|
|
function. Use base class G4InteractionCase directly. Add functionality
|
|
to test for conservation and recoil before exiting "itry" loop, and redo
|
|
cascade if unbalanced recoil fragment.
|
|
|
|
- G4{PreCompound}InuclCollider.cc: Drop "setInteractionCase()" function.
|
|
|
|
15 July 2010 Michael Kelsey (hadr-casc-V09-03-61)
|
|
-------------------------------------------------
|
|
- G4CollisionOutput: New ::add() function to combine two objects. New
|
|
accessors to get total charge and baryon number.
|
|
|
|
- G4CascadeCheckBalance: Make tempOutput data member, for thread-safety,
|
|
rather than static variables. Use new G4CollisionOutput accessors.
|
|
|
|
- G4IntraNucleiCascader.cc: Move local output buffers outside while loop,
|
|
use std::vector<>::insert() for copying.
|
|
|
|
- G4InuclCollider.cc: Use new G4CollisionOutput::add() interface.
|
|
|
|
- G4NucleiModel.cc: Hide conservation checks behind verbose>2. Otherwise
|
|
log files get too big
|
|
|
|
15 July 2010 Michael Kelsey (hadr-casc-V09-03-60)
|
|
-------------------------------------------------
|
|
- G4CascadeCheckBalance: Add layer of protection in relativeX() (check
|
|
initial values) to avoid divide-by-zero errors. Add another interface to
|
|
accept list of G4CascadParticles, for use with G4NucleiModel. Add check
|
|
of momentum direction balance, not just magnitudes.
|
|
|
|
- G4IntraNucleiCascader.cc: Rearrange end-of-loop if-blocks to allow for
|
|
conservation checking prior to return. Add reporting of both too-low and
|
|
too-high residual energy (at verbose=2) for single-nucleon fragments.
|
|
|
|
- G4InuclCollider.cc: Remove re-named conservation checks, now all done by
|
|
colliders themselves.
|
|
|
|
- G4InuclParticle.hh: Add setKineticEnergy() function to simplify handling
|
|
of some kinematics.
|
|
|
|
- G4NucleiModel: Add G4InuclNuclei data member (created in generateModel()),
|
|
for use with conservation checks. Do check at end of generateParticleFate().
|
|
|
|
15 July 2010 Michael Kelsey (hadr-casc-V09-03-59)
|
|
-------------------------------------------------
|
|
- G4InuclNuclei: Use G4DynamicParticle::theDynamicalMass to carry around
|
|
excitation energy (== theDynamicalMass-thePDGMass). This allows
|
|
excitation to be changed on the fly, with all kinematics handled
|
|
correctly. It also allows ONLY the ground state nucleus to be created as
|
|
a G4Ions object (whether global or private), reducing the number of such
|
|
objects by a factor of thousands.
|
|
|
|
14 July 2010 Michael Kelsey (hadr-casc-V09-03-58)
|
|
-------------------------------------------------
|
|
- G4CollisionOutput.cc: For initial four-momentum adjustment, skip over
|
|
particles which would acquire negative energy after "correction."
|
|
|
|
- G4ElementaryParticleCollider.cc: Bug fix for two-body final states.
|
|
Kinematics should not require "rescaling." That was driven by states
|
|
which were kinematically forbidden, with m1+m2 > etot_scm (e.g., pi0 p ->
|
|
pi+ n with just 5 MeV kinetic energy). Now those states are caught and
|
|
rejected.
|
|
|
|
- G4CascadeInterface.cc, G4InuclCollider.cc: Improve diagnostics reporting
|
|
number of retries.
|
|
|
|
- G4EquilibriumEvaporator.cc: When computing residual excitation
|
|
(EEXS_new), original thrown energy, S, should be used, not reboosted
|
|
particle after recoil. Simplify evaporation kinematics to conserve
|
|
four-momentum automatically (PEX -= mom).
|
|
|
|
14 July 2010 Michael Kelsey (hadr-casc-V09-03-57)
|
|
-------------------------------------------------
|
|
- G4CascadeColliderBase: New subclass of G4VCascadeCollider, which takes
|
|
over all of its concrete functionality, and adds conservation checker
|
|
(G4CascadeCheckBalance) as data member. Wrapper functions and control
|
|
flag allow colliders to user it transparently.
|
|
|
|
- G4VCascadeCollider: Move concrete functionality to new base class.
|
|
|
|
- All colliders: Change base class to new G4CascadeColliderBase. Remove
|
|
local copies of conservation-checker, using new base function instead.
|
|
|
|
cascade/include/G4BigBanger.hh
|
|
cascade/include/G4ElementaryParticleCollider.hh
|
|
cascade/include/G4EquilibriumEvaporator.hh
|
|
cascade/include/G4EvaporationInuclCollider.hh
|
|
cascade/include/G4Fissioner.hh
|
|
cascade/include/G4IntraNucleiCascader.hh
|
|
cascade/include/G4InuclCollider.hh
|
|
cascade/include/G4NonEquilibriumEvaporator.hh
|
|
cascade/include/G4PreCompoundInuclCollider.hh
|
|
cascade/src/G4BigBanger.cc
|
|
cascade/src/G4ElementaryParticleCollider.cc
|
|
cascade/src/G4EquilibriumEvaporator.cc
|
|
cascade/src/G4EvaporationInuclCollider.cc
|
|
cascade/src/G4Fissioner.cc
|
|
cascade/src/G4IntraNucleiCascader.cc
|
|
cascade/src/G4InuclCollider.cc
|
|
cascade/src/G4NonEquilibriumEvaporator.cc
|
|
cascade/src/G4PreCompoundInuclCollider.cc
|
|
|
|
- G4EquilibriumEvaporator: Use new functionality (above) to turn off
|
|
conservation checks when evaporating fission products.
|
|
|
|
- G4CascadeInterface.cc: Report number of retries in verbose messages.
|
|
|
|
- G4IntraNucleiCascader.cc: Remove sanity check on afin/zfin vs. model.
|
|
|
|
13 July 2010 Michael Kelsey (hadr-casc-V09-03-56)
|
|
-------------------------------------------------
|
|
- G4CascadeCheckBalance: Add zero protection (needed for momentum ratio)
|
|
using a static tolerance parameter.
|
|
|
|
- G4EquilibriumEvaporator.cc: Add dumping of G4CollisionOutput before exit,
|
|
some fixes for "PEX" adjustments as EEXS changes.
|
|
|
|
- G4NonEquilibriumEvaporator.cc: Add conservation checking, dump of output,
|
|
some fixes for "PEX" adjustments as EEXS changes.
|
|
|
|
- G4Fissioner.cc: Add conservation checking, remove addition of excitation
|
|
energy to input nucleus mass, since already included.
|
|
|
|
13 July 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeCheckBalance.cc: Hide violation reports behind verbose == 1.
|
|
|
|
- G4ElementaryParticleCollider.cc: Bump ::collide() message to verbose > 1.
|
|
|
|
- G4EquilibriumEvaporator.cc: Add conservation checking, collapse if-cascades
|
|
by doing failure tests and exits up front, add sanity check on eex_real.
|
|
|
|
- G4IntraNucleiCascader.cc: Add diagnostic messages and some FIXME
|
|
comments, validate afin/zfin against G4NucleiModel result.
|
|
|
|
- G4InuclCollider.cc: Move conservation check outside verbosity flag. This
|
|
adds to CPU usage, so may need #ifdef protection later. Adjust a few
|
|
verbosity levels.
|
|
|
|
- G4LorentzConvertor.cc: Bump all diagnostic messages to verbose > 2.
|
|
|
|
- G4NucleiModel.cc: Simplify main if-block to put failure up front; add
|
|
debugging messages when decrementing proton or neutron counts.
|
|
|
|
11 July 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeCheckBalance: Add ctor argument with name of parent class; use
|
|
this name when reporting results. Add interface for nuclear fragment
|
|
list. Allow parent class name to be changed dynamically.
|
|
|
|
- G4BigBanger.cc, G4CascadeInterface.cc, G4ElementaryParticleCollider.cc,
|
|
G4InuclCollider.cc, G4NucleiModel.cc: Pass name to G4CascadeCheckBalance.
|
|
|
|
- G4Fissioner.cc: Use G4CascadeCheckBalance to test energy conservation.
|
|
|
|
- G4InuclNuclei.hh: Add model ID as optional ctor argument.
|
|
|
|
- G4InuclCollider.cc: Move balance checks on evaporators outside verbosity.
|
|
Adjust name of G4CascadeCheckBalance for clear reporting.
|
|
|
|
- G4VCascadeCollider.hh: Add protected function to change name dynamically.
|
|
|
|
6 July 2010 Dennis Wright (hadr-casc-V09-03-55)
|
|
-----------------------------------------------
|
|
- G4IntraNucleiCascader.cc: add to final particle list those cascade
|
|
particles which were formerly abandoned at cascade termination;
|
|
- G4IntraNucleiCascader.cc: allow meson excitons to pass out of nucleus
|
|
since they are not proper excitons, and would be lost otherwise
|
|
|
|
4 July 2010 Dennis Wright (hadr-casc-V09-03-54)
|
|
-----------------------------------------------
|
|
- tag changes up to now
|
|
|
|
2 July 2010 Michael Kelsey
|
|
--------------------------
|
|
- G4BigBanger.cc: Moving "generateMomentumModules()" inside loop. For
|
|
three-body decays, the angles are not ajustable (so always fails).
|
|
|
|
- G4CascadeInterface.cc: Set verbosity on G4CollisionOutput.
|
|
|
|
- G4EquilibriumEvaporator.cc: Simplify if-cascades to reduce nesting (test
|
|
for errors and exit up front, rather than in else-blocks).
|
|
|
|
- G4InuclCollider.cc: Set verbosity on G4CollisionOutput.
|
|
|
|
- G4IntraNucleiCascader.cc: Throw away casacde which leaves "negative energy
|
|
recoil" (i.e. rest-frame energy of recoil less than mass of nucleus or
|
|
nucleon).
|
|
|
|
1 July 2010 Michael Kelsey
|
|
--------------------------
|
|
- G4InuclCollider.cc: Used wrong input target for conservation-law checking
|
|
subsequent to G4EquilibriumEvaporator.
|
|
|
|
- G4EquilibriumEvaporator.cc, G4NonEquilibriumEvaporator.cc: Handle
|
|
excitation energy differently with new G4InuclNuclei interface. Compute
|
|
updated values correctly, by taking nuclear mass difference then
|
|
subtracting energy of evaporated particle.
|
|
|
|
- G4InuclNuclei: Reorganization to properly incorporate excited states.
|
|
Excitation energy included in mass in all cases. setExcitationEnergy() now
|
|
replaces G4PartDefn pointer with new excited state. getNucleiMass() takes
|
|
(optional) excitation, calls G4NucleiProperties to get mass value. For
|
|
weird fragments, multiple isomers allowed, assigned unique non-standard
|
|
PDG codes. Include particle name in printout (now in .cc file).
|
|
|
|
- G4CollisionOutput.cc: Do not include nuclear excitation energy in output
|
|
sum; now included with nuclear mass automatically (and properly).
|
|
|
|
- G4CascadeCheckBalance.cc: Do not include nucler excitation energy in input
|
|
sum; now inluded with nuclear mass automatically (and properly).
|
|
|
|
- G4IntraNucleiCascader.cc: For recoil nuclear fragments, treat excitation
|
|
energy properly: compute as difference between recoil "mass" (recoil-frame
|
|
energy) and ground-state A/Z mass, and pass into G4InuclNuclei ctor.
|
|
After the cascade, add some recoil energy checks to deal with both
|
|
floating-point round-off, and quasi-elastic scatters (which change the
|
|
bullet direction, and leave the nucleus with "missing" energy).
|
|
|
|
- G4BigBanger.cc: Simplify boost to "target" nucleus, using "boostVector"
|
|
instead of G4LorentzConvertor machinery.
|
|
|
|
30 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4BigBanger.cc: Improve handling of excitation energy as part of nuclear
|
|
mass, deal with two-body explosion properly (x=0.5, not random). Some
|
|
tweaks to diagnostic messages.
|
|
|
|
- G4CascadeCheckBalance: Add excitation energy to total energy for bullet
|
|
and target nuclei. This is done in G4CollisionOutput for secondaries. It
|
|
is NOT relativistically correct (should add to mass, not energy), but is
|
|
consistent.
|
|
|
|
- G4CollisionOutput.cc: Use "getExitationEnergyInGeV()" instead of "0.001*".
|
|
|
|
- G4IntraNucleiCascader.cc: More diagnostic messages, improve the afin/zfin
|
|
sanity check by requiring A>=Z.
|
|
|
|
28 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeCheckBalance: Report violations on G4cerr always, regardless
|
|
of verbosity level. Add collide(...,<vector>) interface to allow use
|
|
from within G4ElementaryParticleCollider.
|
|
|
|
- G4ElementaryParticleCollider.cc: Add conservation checks within ::collide().
|
|
|
|
- G4IntraNucleiCascader.cc: Add more diagnostic messages. Test for
|
|
negative values of afin, zfin, and try again. Set round-off limit (1e-6),
|
|
and test nuclear recoil energy for bound (setting to zero) before doing
|
|
energy-violation test.
|
|
|
|
- G4InuclNuclei.cc: Abort job if passed negative Z or A argument.
|
|
|
|
28 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4BigBanger.cc: Missed one instance of GetBindingEnergy().
|
|
|
|
26 June 2010 Dennis Wright
|
|
--------------------------
|
|
- G4InuclNuclei: Fix bug in calculation of PDG code.
|
|
|
|
25 June 2010 Michael Kelsey (hadr-casc-V09-03-53)
|
|
-------------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: MAJOR BUG FIX: Three different places
|
|
in generating N-body momenta had incorrect "recoil" calculations. The
|
|
Nth four-vector was computed as simply -total, which produced negative
|
|
energy states (obviously). The correct calculation should have been
|
|
N = G4LV(0,0,0,etot) - (total) in each instance.
|
|
|
|
24 June 2010 Michael Kelsey (hadr-casc-V09-03-52)
|
|
-------------------------------------------------
|
|
- G4CascadeCheckBalance.cc: Bug fixes to limit checks; should be using
|
|
std::abs(), or negative violations don't get caught! Also did some
|
|
cleanup for compiler warnings see on Linux.
|
|
|
|
23 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeInterface.cc: Fix infinite-loop bug with energy-violation; must
|
|
check for (nTries>maxTries) outside parenthetical, with balance.okay()
|
|
inside. Do conservation checks all the time, not just with flag set. If
|
|
e-violation is "infinite loop", dump last generated event and abort job.
|
|
|
|
- G4CascadeCheckBalance: Add checks on baryon number, charge, and kinetic
|
|
energy. "Global" sanity check (::okay() function) does not include K.E.
|
|
|
|
23 June 2010 Michael Kelsey (hadr-casc-V09-03-51)
|
|
-------------------------------------------------
|
|
- bindingEnergy.cc: Replace entire function with call-through to
|
|
G4NucleiProperties. Copy test for valid A/Z from there, and return
|
|
0. directly on failure; suppresses warning message in 9.4-beta.
|
|
|
|
- G4EquilibriumEvaporator.cc, G4Fissioner.cc, G4IntraNucleiCascader.cc
|
|
G4InuclNuclei.cc, G4NonEquilibriumEvaporator.cc, G4NucleiModel.cc
|
|
G4VCascadeCollider.cc: Restore calls to local "bindingEnergy()" to
|
|
get wrapper function above; suppresses warning messages in 9.4-beta.
|
|
|
|
- G4NucleiModel.cc: Make class re-usable (had been assumed in -47 tag, but
|
|
was not true!), by clearing all parameter vectors in generateModel().
|
|
Values of A,Z are tested first, and previous data kept if same nucleus is
|
|
being modelled.
|
|
|
|
23 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeInterface.cc: Minor fix to rationalize version jumpings.
|
|
- G4NucleiModel.cc: Fix bug in partners list termination mods below, and
|
|
remove reflection-recoil from boundaryTransition().
|
|
|
|
|
|
21 June 2010 Michael Kelsey (MHK-20100621)
|
|
------------------------------------------
|
|
- G4CascadeInterface.cc: Bring MHK-20100620 version back to HEAD, make same
|
|
parenthesis fix for GCC 4.5 compilation.
|
|
|
|
- G4IntraNucleiCascader.cc: Bug fix nuclear recoil kinematics introduced in
|
|
MHK-20100620.
|
|
|
|
- G4NucleiModel.cc: Bring MHK-20100620 version back to HEAD, apply ctor
|
|
argument fix. Eliminate creating temporaries for terminal "partners" on
|
|
list; default ctor will take care of it. Hide negative path-length report
|
|
behind verbose flag, and don't return an empty list.
|
|
|
|
Add block of code in ::boundaryTransition() which recoils the nucleus when
|
|
the secondary is reflected off the potential, to balance the momentum
|
|
transfer. This is implemented by computing the boost for the full nucleus
|
|
using the computed three-momentum transfer, and applying that boost to the
|
|
secondary.
|
|
|
|
23 June 2010 Michael Kelsey (hadr-casc-V09-03-50)
|
|
-------------------------------------------------
|
|
- G4IntraNucleiCascader.cc: Restore G4NucleiModel as local data member.
|
|
Not well designed for reuse.
|
|
|
|
21 June 2010 Michael Kelsey (hadr-casc-V09-03-49)
|
|
-------------------------------------------------
|
|
NOTE: Changes below were version jumped into V09-03-48. Tag above ONLY
|
|
includes these two changes!
|
|
|
|
- G4CascadeInterface.cc: Add parentheses in main iteration loop to support
|
|
mixed && and || (reported by gcc-4.5).
|
|
|
|
- G4NucleiModel.cc: Fix mistake in passing ctor args to generateModel().
|
|
|
|
20 June 2010 Michael Kelsey (MHK-20100620)
|
|
------------------------------------------
|
|
- G4CascadeCheckBalance: New utility class to do energy and momentum
|
|
conservation testing. Implemented as a "collider" to resue interface.
|
|
|
|
- G4CascadeInterface.cc: Use new G4CascadeCheckBalance for energy
|
|
conservation.
|
|
|
|
- G4CollisionOutput: Add setVerboseLevel() function, diagnostic reports in
|
|
::setOnShell(), and collapse if-cascades to use "if (!xxx) return" instead
|
|
of multiple nestings.
|
|
|
|
- G4ElementaryParticleCollider.cc: Collapse if-cascade to use "if (!xxx)
|
|
return" instead of multiple nestings.
|
|
|
|
- G4IntraNucleiCascader.cc: Improve diagnostic messages, change some G4cout
|
|
to G4cerr.
|
|
|
|
- G4InuclCollider: Make output buffers data members to reduce churn;
|
|
simplify if-cascades to use "if (!xxx) return" instead of nesting; add
|
|
energy-conservation checks at each stage of cascade.
|
|
|
|
- G4NucleiModel.cc: Improve diagnostics, collapse if-cascades to use "if
|
|
(!xxx) return" instead of multiple nestings.
|
|
|
|
18 June 2010 Michael Kelsey (hadr-casc-V09-03-48)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface.cc: Add check on energy conservation between initial
|
|
and final states; more than 5% imbalance triggers repeat generation of
|
|
cascade. This check may be disabled with flag G4CASCADE_SKIP_ECONS. Also
|
|
did some minor cleanup of the code.
|
|
|
|
- cascade/GNUmakefile: Add support for new flag above.
|
|
|
|
17 June 2010 Michael Kelsey (hadr-casc-V09-03-47)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface, G4PreCompoundCascadeInterface: Make G4InuclCollider a
|
|
local data member, pass verbosity to it in ::ApplyYourself().
|
|
|
|
- G4InuclCollider, G4ElementaryParticleCollider, G4IntraNucleiCascader,
|
|
G4EquilibriumEvaporator, G4BigBanger: Make all sub-colliders local data
|
|
members, pass verbosity to each of them.
|
|
|
|
- G4NucleiModel: Add ctors and generateModel() signatures so both can do
|
|
particle or A/Z initialization. Add setVerboseLevel() function.
|
|
|
|
17 June 2010 Michael Kelsey (hadr-casc-V09-03-46)
|
|
-------------------------------------------------
|
|
- cascade/GNUmakefile: Add series of "ifneq (,...)" blocks to map
|
|
environment variables for debugging onto "-D..." compiler flags:
|
|
|
|
G4CASCADE_COULOMB_DEV
|
|
G4CASCADE_DEBUG_CHARGE
|
|
G4CASCADE_DEBUG_INTERFACE
|
|
G4CASCADE_DEBUG_SORT
|
|
G4CASCADE_WATCHER_HIGHZ
|
|
|
|
- G4CascadeInterface.cc: Replace preprocessor flags "debug_G4...Interface"
|
|
with G4CASCADE_DEBUG_INTERFACE, and "BERTDEV" with G4CASCADE_COULOMB_DEV.
|
|
Fix bug with information access in debugging block.
|
|
|
|
- G4EquilibriumEvaporator.cc, G4IntraNucleiCascader.cc,
|
|
G4NonEquilibriumEvaporator.cc: Eliminate preprocessor flag RUN and all
|
|
code contained in "#else" blocks.
|
|
|
|
- G4LorentzConverter.cc: Add diagnostic output with different levels: All
|
|
" >>>" entry messages done for verboseLevel >= 1; all numeric reports for
|
|
verboseLevel > 2.
|
|
|
|
- G4NucleiModel: Replace preprocessor flag "CHC_CHECK" with
|
|
G4CASCADE_DEBUG_CHARGE.
|
|
|
|
- G4PreCompoundCascadeInterface.cc: Replace preprocessor flag
|
|
"debug_G4...Interface" with G4CASCADE_DEBUG_INTERFACE. Fix bug with
|
|
information access in debugging block.
|
|
|
|
- G4WatcherGun.cc: Replace preprocessor flag "PB" with G4CASCADE_WATCHER_HIGHZ.
|
|
|
|
16 June 2010 Michael Kelsey
|
|
---------------------------
|
|
- G4CascadeInterface.hh: Add setVerboseLevel() function.
|
|
|
|
- G4IntraNucleiCascader.cc: Add reporting of momentum content for residual
|
|
nuclear fragment, list of final-state particles, some cleanup of momentum
|
|
balancing code.
|
|
|
|
- G4LorentzConvertor: Add reporting of bullet and target four-vectors.
|
|
|
|
- G4NucleiModel.cc: Add diagnostic output for partner-list generation,
|
|
replace one random-angle code block with generateWithRandomAngles().
|
|
|
|
15 June 2010 Michael Kelsey (hadr-casc-V09-03-45)
|
|
-------------------------------------------------
|
|
- G4CascadeInterface.cc, G4PreCompoundCascadeInterface.cc: When converting
|
|
output particles from K0/K0bar to K0S/K0L, convert kinetic energy from
|
|
Bertini internal units (GeV) to GEANT4 units (MeV).
|
|
|
|
- G4VCascadeCollider: Make two separate ctors, name and name+verbose, with
|
|
no default values. All subclasses *must* provide a literal name string.
|
|
|
|
12 June 2010 Michael Kelsey (hadr-casc-V09-03-44)
|
|
-------------------------------------------------
|
|
- G4CascadeT33piNChannel.cc: Swapped 8-body final state tables for pipP
|
|
vs. pimN.
|
|
|
|
11 June 2010 Michael Kelsey (hadr-casc-V09-03-43)
|
|
-------------------------------------------------
|
|
- G4CascadeData.hh: Equally trivial fix for compiler warking on Intel ICC
|
|
for index[] array bounds in ::initialize(). Dimension array as [9], and
|
|
set all values.
|
|
|
|
08 June 2010 Gunter Folger (hadr-casc-V09-03-42)
|
|
------------------------------------------------
|
|
- trivial fix for compiler warning on gcc43 on empty body in for(...) in
|
|
cascade/include/G4CascadeInterpolator.icc:67
|
|
|
|
01 June 2010 Michael Kelsey (hadr-casc-V09-03-41)
|
|
-------------------------------------------------
|
|
- paraMaker.cc: Fix vector initialization for Windows crash.
|
|
|
|
26 May 2010 Dennis Wright (hadr-casc-V09-03-40)
|
|
-----------------------------------------------
|
|
- G4NucleiModel: remove conversion to fm, and conversion of cross
|
|
sections to fm**2
|
|
|
|
21 May 2010 Michael Kelsey (hadr-casc-V09-03-39)
|
|
------------------------------------------------
|
|
Final tag for inclusion in GEANT 4.9.4-beta. Will be validated internal and
|
|
included in global Hadronics tag.
|
|
|
|
- G4CascadeSampler.icc: Activate time-saving checks on single bins.
|
|
- G4ElementaryParticleCollider.cc: Remove special case for nucleon elastic
|
|
scattering.
|
|
|
|
21 May 2010 Michael Kelsey (kelsey-20100521c)
|
|
---------------------------------------------
|
|
- G4CascadeInterface, G4PreCompoundCascadeInterface, G4InuclEvaporation:
|
|
Simplify code: fetch G4DynamicParticle out of outgoing G4InuclParticles,
|
|
rather than creating new ones. Remove all of the *Collider data members
|
|
(instantiated within G4InuclCollider). Move final state rotations to
|
|
G4CollisionOutput.
|
|
|
|
- G4InuclParticle: Provide accessor to return G4DynamicParticle.
|
|
|
|
- G4CollisionOutput: Add function to apply LorentzRotation to both lists;
|
|
used by G4CascadeInterface.
|
|
|
|
- G4ElementaryParticleCollider: Avoid memory churn with G4LorentzVector
|
|
temporaries.
|
|
|
|
21 May 2010 Michael Kelsey (kelsey-20100521b)
|
|
---------------------------------------------
|
|
- G4VCascadeCollider: New base class for all Colliders. Carries
|
|
verboseLevel data member and set-function. ::collide() is pure virtual.
|
|
Additional protected member functions will be defined to include all code
|
|
shared across multiple Colliders.
|
|
|
|
- Migrate all of the "Collider" factories to use new base class, removing
|
|
common member functions, and replace passed-in sibling colliders with
|
|
local data members (pointers for now). Since none of these classes have
|
|
persistent (state preserving) data members, the cost of more than one
|
|
instantiation is minimal.
|
|
|
|
G4BigBanger
|
|
G4ElementaryParticleCollider
|
|
G4EquilibriumEvaporator
|
|
G4EvaporationInuclCollider
|
|
G4Fissioner
|
|
G4IntraNucleiCascader
|
|
G4InuclCollider
|
|
G4NonEquilibriumEvaporator
|
|
G4PreCompoundInuclCollider
|
|
|
|
- G4CascadeInterface.cc, G4InuclEvaporation.cc,
|
|
G4PreCompoundCascadeInterface.cc: Remove siblings from constructors for
|
|
the Colliders.
|
|
|
|
- G4InteractionCase.hh: Eliminate unnecessary copying of std::pair<>'s, use
|
|
initializers in ctors, add clear() function to reset to 0-0-0. Move
|
|
evaluation of bullet vs. target to new set() function, replacing separate
|
|
bulletTargetSetter() in the colliders. Add boolean accessors to avoid
|
|
hard-coding inter_case values. Change code numbers so nucleus collisions
|
|
are negative, and positive codes refer to the "is" or "rtype" numbers.
|
|
|
|
- G4ElementaryParticleCollider.cc: Use G4InteractionCase to compute "is",
|
|
instead of hardwiring the meaning.
|
|
|
|
- G4Collider.hh: Remove empty and never-used file.
|
|
|
|
- G4EvaporationInuclCollider.cc: Eliminate unnecessary creation of
|
|
duplicate G4InuclNuclei: pass input through to G4EquilibriumEvaporator.
|
|
|
|
- G4LorentzConvertor: Add interfaces to pass G4InuclParticles directly.
|
|
|
|
21 May 2010 Michael Kelsey (kelsey-20100521a)
|
|
---------------------------------------------
|
|
Replace hand-coded interpolation of arrays with use of G4CascadeInterpolator.
|
|
In all cases, local arrays are replaced with static const, and the
|
|
interpolator object itself is declared static, to reduce memory churn.
|
|
|
|
G4NucleiModel::totalCrossSection()
|
|
G4EquilibriumEvaporator::getQF()
|
|
G4InuclSpecialFunctions::paraMaker[Truncated]() (in paraMaker.cc)
|
|
|
|
- G4CascadSpecialFunctions: Remove. totalCrossSection() redundant with
|
|
G4NucleiModel. Move absorptionCrossSection() to G4NucleiModel.
|
|
|
|
- G4CascadeInterpolator.icc: Bug fix to catch special case of exact upper
|
|
bin edge (occurs when !doExtrapolation). If index == last + 0., just
|
|
return upper edge value, without calculation.
|
|
|
|
- G4NucleiModel.cc: Use G4Cascade{Pi*}Channel and G4Cascade{NN,NP,PP}Channel
|
|
classes to get total cross-sections for pi-N and N-N scattering. Arrays
|
|
for kaon and hyperon scattering should be migrated as well, once binning
|
|
is resolved. Move absorptionCrossSection() here from SpecialFunctions.
|
|
|
|
20 May 2010 Michael Kelsey (kelsey-20100521)
|
|
--------------------------------------------
|
|
- G4CascadeInterpolator.icc: Two bug fixes involving values at array edges.
|
|
|
|
19 May 2010 Michael Kelsey, Dennis Wright
|
|
-----------------------------------------
|
|
- G4BertiniData.hh,.cc: Remove unused and unnecessary class.
|
|
- G4NucleiModel.cc: convert nuclear radii to fm and cross sections to
|
|
fm**2. Use six-zone model for A > 99, and make alpha a 1-zone
|
|
nucleus.
|
|
- G4CascadSpecialFunctions: convert pion absorption cross sections from
|
|
mb to fm**2, correct spelling of method absorptionCrossSection
|
|
|
|
17 May 2010 Michael Kelsey (hadr-casc-V09-03-38)
|
|
------------------------------------------------
|
|
- paraMaker.cc (G4InuclSpecialFunctions::paraMaker[Truncated]): Upper edge
|
|
of interpolation array not properly handled. Should be "if (Z >= 70.0)".
|
|
This affects G4NonEquilibriumEvaporator output.
|
|
|
|
17 May 2010 Michael Kelsey (hadr-casc-V09-03-37)
|
|
------------------------------------------------
|
|
Bug fixes for compiler warnings (not seen on MacOSX, even with g++ -Wall)
|
|
|
|
- G4CascadeData.hh: Dummy arrays needed double-braces for initialization.
|
|
|
|
- G4CascadeInterpolator.icc: Extraneous decimal point in "for (i=0.;".
|
|
|
|
- G4CascadeKzeroBarNChannel.cc: Left three "old" arrays in place during
|
|
conversion.
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-36)
|
|
------------------------------------------------
|
|
Remove obsolete files following reorganization of two-body scattering
|
|
lookup tables.
|
|
|
|
G4CascadeElasticInterface.hh,.cc
|
|
G4ElasticCascadeInterface.hh,.cc
|
|
G4FinalStateSampler.hh,.cc
|
|
G4NucleonSampler.hh,.cc
|
|
G4PionSampler.hh,.cc
|
|
|
|
- G4CascadeChannel.hh,.cc: All functionality removed, replaced with
|
|
namespace containing only getQnums and CheckQnums validation functions.
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-35)
|
|
------------------------------------------------
|
|
Replace independent parallel samplers with templated base class and single
|
|
implementation. This completes the reorganization of the channel tables.
|
|
|
|
- G4CascadeSampler: Redefine as templated base, taking binning array as
|
|
constructor argument. Move implementation file from .cc to .icc.
|
|
NOTE: G4CascadeSampler.cc is removed, since not consistent with new .hh.
|
|
|
|
- G4PionNucSampler: Subclass of G4CascadeSampler<30>, replaces
|
|
G4FinalStateSampler, using bins array from there.
|
|
|
|
- G4KaonNucSampler: Sublcass of G4CascadeSampler<31>, replaces previous
|
|
G4CascadeSampler, using bins array from there.
|
|
|
|
- G4Cascade*Channel.hh: Change all typedefs to pass appropriate of two new
|
|
samplers in template.
|
|
|
|
- G4ElementaryParticleCollider.cc: Replace long "if (is==)"-cascades with
|
|
switch blocks. Move all getOutgoing calls (for pions and nucleons) into
|
|
one function, and call it from outside multiplicity checks. Use
|
|
G4CascadeInterpolator for angular distributions. Set modelID=3 in all
|
|
G4InuclParticle constructions.
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-34)
|
|
------------------------------------------------
|
|
Extract lookup tables from G4PionSampler and G4NucleonSampler into
|
|
individual "classes" defined and initialized with G4CascadeData.
|
|
|
|
- G4CascadePi{Plus,Minus,Zero}{P,N}Channel.hh: Six new typedefs defined as
|
|
with the existing G4CascadeXXXChannel, to replace G4PionSampler.
|
|
|
|
- G4CascadeT33piNChannel.cc: Lookup tables for both PiPlusP and PiMinusN,
|
|
implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc.
|
|
|
|
- G4CascadeT31piNChannel.cc: Lookup tables for both PiMinusP and PiPlusN,
|
|
implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc
|
|
|
|
- G4CascadeT11pizNChannel.cc: Lookup tables for both PiZeroP and PiZeroN,
|
|
implemented as with existing G4CascadeXXXChannel, from G4PionSampler.cc
|
|
|
|
- G4Cascade{PP,NP,NN}Channel.hh: Three new typedefs defined as with the
|
|
existing G4CascadeXXXChannel, to replace G4NucleonSampler.
|
|
|
|
- G4CascadeT1NNChannel.cc: Lookup tables for both p-p and n-n scattering,
|
|
implemented as with existing G4CascadeXXXChannel, from G4NucleonSampler.cc
|
|
|
|
- G4CascadeT0npChannel.cc: Lookup tables for p-n scattering, implemented as
|
|
with existing G4CascadeXXXChannel, from G4NucleonSampler.cc
|
|
|
|
- G4CascadeFunctions.hh, .icc: Pass std::vector as non-const argument to
|
|
getOutgoingParticleTypes() instead of returning internal buffer.
|
|
|
|
- G4CascadeSampler.cc, G4FinalStateSampler.cc: Add some checks in
|
|
findFinalStateIndex, fillSigmaBuffer, and sampleFlat(), such that
|
|
single-entry ranges don't go through the analysis, just return index 0.
|
|
|
|
- G4ElementaryParticleCollider.cc: Follow change to getOutgoingParticleTypes()
|
|
in generateStrangeChannelPartTypes(). Replace all uses of G4PionSampler
|
|
and G4NucleonSampler with new channel "classes".
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-33)
|
|
------------------------------------------------
|
|
Continue consolidation of two-body collision lookup tables. Unify
|
|
interfaces between pion/nucleon and kaon/hyperon samplers.
|
|
|
|
- G4CascadeData: Many changes to support use as data class for both
|
|
kaon/hyperon and pion/nucleon tables (migration will be next tag):
|
|
|
|
1) Add new first argument to template with number of bins in energy
|
|
interpolation. This replaces the (temporary) use of
|
|
G4CascadeSampler::energyBins within the class definition.
|
|
|
|
2) Add two additional template arguments, N8 and N9, with default values
|
|
of zero. These will be used by the pion/nucleon tables, but not by the
|
|
existing kaon/hyperon tables.
|
|
|
|
3) Define additional arrays for 8- and 9-body final states, using
|
|
conditional dimensioning (e.g., if N8==0, use [1]). Define second
|
|
9-body constructor to accept and initialize the new arrays.
|
|
|
|
4) Eliminate static intialization of index[], moving it into
|
|
initialize(). Template specialization can't be used with data!
|
|
|
|
5) Add separate "sum" (summed N-body cross-sections) and "tot" arrays
|
|
(measured inclusive xsec). Latter is a const-ref, initialized to "sum"
|
|
if not provided as ctor argument, with two new ctors as needed.
|
|
|
|
6) Add accessor to return maximum multiplicity (NM+1).
|
|
|
|
- G4CascadeFunctions.hh: Add second template argument to specify which
|
|
"final state sampler" is the base class. Use both T::data.tot and
|
|
T::data.sum in GetMultiplicity(), to support sum/tot comparisons in
|
|
pion/nucleon channels. Extend GetOutputParticleTypes() to support up to
|
|
multiplicity 9.
|
|
|
|
- G4CascadeFunctions.icc: Implementations of template class functions.
|
|
|
|
- G4CascadeXXXChannel.hh: Add "31," as initial template argument for Data.
|
|
Add G4CascadeSampler as second template argument in G4CascadeXXXChannel
|
|
typedef.
|
|
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-32)
|
|
------------------------------------------------
|
|
Continue revisions to two-body collision lookup tables. Make the kaon and
|
|
hyperon channels compatible with the pion/nucleon samplers, before the next
|
|
stage of unifying the structure.
|
|
|
|
- G4CascadeSampler: NEW class, parallel to G4FinalStateSampler but with a
|
|
different energy binning. Used as base class to G4CascadeFunctions<T>,
|
|
from which the cross-section and other arrays are passed. Implement
|
|
findMultiplicity (cf. G4CascadeFunctions::getMultiplicity) to return the
|
|
true value, not the array index.
|
|
|
|
This class replaces functionality of G4CascadeChannel, which is redundant.
|
|
|
|
- G4CascadeChannel: Remove all interpolation code, leaving only getQnums().
|
|
|
|
- G4CascadeFunctions: Inherit from G4CascadeSampler for interpolations,
|
|
except for final-state extraction (where FS type arrays are dealt with
|
|
locally, not passed). Public static functions rely on private instantiated
|
|
version of class to do work, so that G4CascadeSampler gets instantiated.
|
|
|
|
- G4CascadeData: Remove final template argument (total number of indices),
|
|
as redundant with simple sum of multplicity indices. Use template args to
|
|
dimension data member arrays (const references), and to statically
|
|
initialize the start-stop index table. Make large cross-sections table
|
|
G4double, not G4float. Define ctor to pass in array refs for initialization.
|
|
Reduce index array to single dimension (start=index[i], stop=index[i+1]).
|
|
|
|
- G4CascadeXXXChannel: All of the initial-state channel "classes"
|
|
(typedef names) modified to follow G4CascadeData rewrite. In .cc file,
|
|
the explicit lookup tables are static, and passed by const-ref to
|
|
G4CascadeData. The "initializer" struct is dropped; with the static
|
|
"data" object initialized by ctor here.
|
|
|
|
- G4ElementaryParticleCollider.cc: In ::generateMultiplicity(), eliminate
|
|
extra "+2" and "-2" applied to local "mul" variables. With change above,
|
|
all functions return return true multiplicity, not array index.
|
|
|
|
- G4FinalStateSampler: Add findFinalStateIndex() function, to make
|
|
interface match G4CascadeSampler exactly. Reduce index array to single
|
|
dimension.
|
|
|
|
- G4PionSampler.cc, G4NucleonSampler.cc: Use new findFinalStateIndex()
|
|
function in GetFSPartTypesXXX() functions. Reduce index array to single
|
|
dimension (start=index[i], stop=index[i+1]).
|
|
|
|
14 May 2010 Michael Kelsey (hadr-casc-V09-03-31)
|
|
------------------------------------------------
|
|
Begin revisions to two-body collision lookup tables. This will be a major
|
|
reorganization, splitting the G4PionSampler and G4NucleonSampler into
|
|
separate little "classes" (typedefs) for each initial state, in the same way
|
|
that the kaon and hyperon states are done now. The underlying templated and
|
|
base classes will be unified across all of the channels.
|
|
|
|
- G4CascadeInterpolator: NEW class to encapsulate interpolation procedure.
|
|
Uses C-style arrays passed by dimensioned reference, to allow compile-time
|
|
array bounds checking. Template argument is array dimension, and array of
|
|
energy bins is saved by ctor. User array to be interpolated is passed as
|
|
function argument. Last value interpolated, along with result, is saved,
|
|
to allow fast multiple interpolations.
|
|
|
|
This class is substantially more lightweight than G4PhysicsVector.
|
|
|
|
- G4FinalStateSampler: Replace manual interpolation with G4CascadeInterpolator.
|
|
Remove redundant sampleFlat(...) function with argument. Rename member
|
|
functions in anticipation of merging with G4CascadeFunctions.
|
|
|
|
- G4PionSampler.cc, G4NucleonSampler.cc: Follow use of G4CascadeInterpolator
|
|
above, and drop local caching of interpolation results. Reduce offset
|
|
list for cross-sections to one dimension (start=index[i], stop=index[i+1]).
|
|
|
|
11 May 2010 Michael Kelsey (hadr-casc-V09-03-30)
|
|
------------------------------------------------
|
|
Bug fixes in the two-body scattering code.
|
|
|
|
- G4PionSampler.cc, G4NucleonSampler.cc: Fix long-standing bug with offset
|
|
indices computed for cross-section tables. XXXindex[m][0] (start) and
|
|
XXXindex[m][1] (stop) are computed in initChannels() as [start,stop]
|
|
inclusive range (i.e., "for (i=start; i<=stop; i++)"), but used with
|
|
G4FinalStateSampler::fillSigmaBuffer (and its predecessor code) as
|
|
[start,stop) exclusive range (i.e., normal C style "for (i=start; i<stop;
|
|
i++)"). This is fixed by properly setting XXXindex[m-1][1] =
|
|
XXXindex[m][0], and using the ranges consistently in initChannels().
|
|
|
|
- G4ElementaryParticleCollider.cc: In the six pion-nucleon scatters, the
|
|
two-body final state is incorrectly tested for charge-exchange. All the
|
|
if statements check whether "particle_kinds[0]" is the initial nucleon,
|
|
but the outgoing baryon actually appears in particle_kinds[1]. Replace
|
|
the individual tests with the use of "finaltype", moved out of the
|
|
strangeness if-block.
|
|
|
|
06 May 2010 Michael Kelsey (hadr-casc-V09-03-29, hadr-casc-V09-03-23-01)
|
|
------------------------------------------------------------------------
|
|
- G4Diproton.cc, G4Dineutron.cc, G4UnboundPN.cc: After creating instance
|
|
of these "internal" particles, remove the pointer from G4ParticleTable.
|
|
This avoids an issue with the FTFP de-excitation code, which occasionally
|
|
picks up the diproton and puts it onto a final-state particle list.
|
|
|
|
These three changes, and nothing else, are "backported" on top of -23 for
|
|
continued validation tests.
|
|
|
|
30 Apr 2010 Dennis Wright (hadr-casc-V09-03-28)
|
|
-----------------------------------------------
|
|
- G4ElementaryParticleCollider:
|
|
improved pi-nucleon two-body angular distributions, and made
|
|
sampling of CM angle faster. As a result, the methods
|
|
getElasticCase and adjustIntervalForElastic were made redundant
|
|
and removed. Also removed array containing old angular distribution
|
|
parameters.
|
|
|
|
Now use nucleon-nucleon angular distributions for hyperon-nucleon
|
|
scattering, and pi-nucleon dsitributions for kaon-nucleon scattering
|
|
(until specific kaon distributions are added).
|
|
|
|
29 Apr 2010 Michael Kelsey (hadr-casc-V09-03-27)
|
|
------------------------------------------------
|
|
- G4InuclPartcleNames.hh: Long name "gamma" conflicts with math function.
|
|
Change back to "photon".
|
|
|
|
- G4InuclElementaryParticle.cc, G4InuclEvaporation.cc,
|
|
G4NonEquilibriumEvaporator.cc, G4NucleiModel.cc, G4NucleonSampler.cc,
|
|
G4PionSampler.cc, G4PreCompoundCascadeInterface.cc,
|
|
G4PreCompoundInuclCollider.cc: Replace "gamma" with "photon".
|
|
|
|
- G4InuclElementaryParticle.hh: Change "photon()" to "isPhoton()" to avoid
|
|
conflicts with names enum. Use names enum internally as well.
|
|
|
|
- G4ElementaryParticleCollider.cc, G4InuclCollider.cc,
|
|
G4PreCompoundInuclCollider.cc: Change "photon()" to "isPhoton()".
|
|
|
|
28 Apr 2010 Michael Kelsey (hadr-casc-V09-03-26)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4InuclParticleNames.hh: Define enums for particle type codes, using both
|
|
"long" and "short" names copied from existing duplicated enums. One
|
|
change is that "kp" and "km" are replaced by "kpl" and "kmi" respectively,
|
|
since "km" conflicts with GEANT4 "kilometers" unit. Deploy in classes:
|
|
|
|
include/G4FinalStateSampler.hh
|
|
src/G4CascadeElasticInterface.cc
|
|
src/G4CascadeInterface.cc
|
|
src/G4ElasticCascadeInterface.cc
|
|
src/G4ElementaryParticleCollider.cc
|
|
src/G4InuclElementaryParticle.cc
|
|
src/G4InuclEvaporation.cc
|
|
src/G4NucleonSampler.cc
|
|
src/G4PionSampler.cc
|
|
src/G4PreCompoundCascadeInterface.cc
|
|
|
|
- G4InuclElementaryParticle.cc: Add Omega- and antinucleon partcles to lists.
|
|
No code uses these (yet).
|
|
|
|
24 April 2010 Michael Kelsey (hadr-casc-V09-03-25)
|
|
--------------------------------------------------
|
|
Remove redundant classes, G4Ibertini and G4BertiniRegionModel.
|
|
|
|
21 April 2010 Michael Kelsey (hadr-casc-V09-03-24)
|
|
--------------------------------------------------
|
|
- G4NucleiModel.hh,cc: Eliminate last remaining hardwired baryon masses.
|
|
|
|
18 April 2010 Michael Kelsey (hadr-casc-V09-03-23)
|
|
--------------------------------------------------
|
|
Final revisions to access std::vector<particle> via const-references:
|
|
|
|
G4CascadeInterface.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4IBertini.cc
|
|
G4InuclCollier.cc
|
|
G4NucleiModel.cc
|
|
G4PreCompoundCascadeInterface.cc
|
|
|
|
- G4CollisionOutput: Add new function to boost output lists to lab frame.
|
|
|
|
14 April 2010 Michael Kelsey (hadr-casc-V09-03-22)
|
|
--------------------------------------------------
|
|
- G4CascadeInterface.cc, G4IBertini.cc, G4PreCompoundCascadeInterface.cc:
|
|
In ::ApplyYourself(), do the check on K0L/K0S _before_ passing G4PartDefn
|
|
to G4InuclElemPart::type(). This avoids unnecessary warning message.
|
|
|
|
14 April 2010 Michael Kelsey (temporary: kelsey-memClean3)
|
|
----------------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4FinalStateSampler: Replace "sigma" argument for sampling with data
|
|
member, add functions to fill sigma buffer by passing in array references.
|
|
Provide typedef for interpolator, and function to apply interpolation.
|
|
|
|
- G4PionSampler, G4NucleonSampler: Follow changes to base class,
|
|
eliminating much of the copy-and-paste code blocks via function calls.
|
|
Replace G4float arrays with G4double, to support passing into functions.
|
|
|
|
13 April 2010 Michael Kelsey (hadr-casc-V09-03-21)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4InuclSpecialFunctions.hh, paraMaker.cc, paraMakerTruncated.cc: Drop
|
|
return-by-value from paraMaker() and paraMakerTruncated(). Add second
|
|
argument with non-const reference to output buffer for return.
|
|
|
|
- G4EquilibriumEvaporator.cc: Follow changes above to paraMaker(), use
|
|
references to address parms.first and parms.second, instead of copying.
|
|
|
|
- G4NonEquilibriumEvaporator.cc: Follow changes above to
|
|
paraMakerTruncaed(), use references to address parms.first and
|
|
parms.second, instead of copying.
|
|
|
|
- G4Dineutron, G4Diproton, G4UnboundPN: Inherit from G4VShortLivedParticle,
|
|
per Kurashige. Thought it would eliminate G4ElectronOccupancy churn, but
|
|
did not.
|
|
|
|
12 April 2010 Michael Kelsey (hadr-casc-V09-03-20)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4NucleiModel: Move function implementations from .hh to .cc. Replace
|
|
manual sorting (inefficient O(N^2)) with std::sort() and simple
|
|
"less-than" function for std::pair<> "partners".
|
|
|
|
- G4CollisionOutput: Move function implementations from .hh to .cc. Use
|
|
std::vevtor<>::insert() to add vectors together.
|
|
|
|
- Replace return-by-value G4CollisionOutput with non-const reference buffer
|
|
passed into xxx::collide(), in the following classes:
|
|
G4BigBanger
|
|
G4CascadeElasticInterface
|
|
G4CascadeInterface
|
|
G4ElasticCascadeInterface
|
|
G4ElementaryParticleCollider
|
|
G4EquilibriumEvaporator
|
|
G4EvaporationInuclCollider
|
|
G4Fissioner
|
|
G4IBertini
|
|
G4IntraNucleiCascader
|
|
G4InuclCollider
|
|
G4InuclEvaporation
|
|
G4NonEquilibriumEvaporator
|
|
G4NucleiModel
|
|
G4PreCompoundCascadeInterface
|
|
G4PreCompoundInuclCollider
|
|
|
|
Note that some places where internal G4CollisionOutput buffers are being
|
|
used (and their contents appended to the global output) have not been
|
|
cleaned up yet. These will require some rearrangement of the algorithms,
|
|
or/and elimination of debugging output.
|
|
|
|
09 April 2010 Michael Kelsey (hadr-casc-V09-03-16-01)
|
|
-----------------------------------------------------
|
|
This modification is included in a pseudo-patch of hadr-casc-V09-03-16,
|
|
without brining in any of the -17 through -19 modifications.
|
|
|
|
- G4LorentzVector.cc: Protect two instances of sqrt() against tiny negative
|
|
arguments (due to tiny-tiny subtractions).
|
|
|
|
09 April 2010 Michael Kelsey (hadr-casc-V09-03-19)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4InuclParticle, G4InuclElementaryParticle, G4InuclNuclei: Eliminate
|
|
unused G4String ctor argument, introduced in hadr-casc-V09-03-01. Causes
|
|
a lot of pointless memory churn.
|
|
|
|
- G4BigBanger.cc: Fix type conversion warning I introduced by mistake.
|
|
|
|
08 April 2010 Michael Kelsey (hadr-casc-V09-03-18)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4PionSampler, G4NucleonSampler: For all ::GetFSPartTypes*() functions,
|
|
eliminate return-by-value std::vector<>, and pass in non-const reference
|
|
for filling in situ. Buffer is cleared.
|
|
|
|
- G4ElementaryParticleCollider.cc: Follow changes above for Sampler calls.
|
|
|
|
07 April 2010 Michael Kelsey (hadr-casc-V09-03-17)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
Replace return-by-value std::vector<> with either const-ref returns, or
|
|
with use of an internal buffer which can be reused, to reduce memory
|
|
churn due to copying, allocation, and resizing.
|
|
|
|
- G4BigBanger: Create data buffer for lists of secondaries and momenta.
|
|
Fill buffers in ::generateBangInSCM() and ::generateMomentumModules(),
|
|
which are now non-const. Reference buffers in ::collide().
|
|
|
|
- G4CascadeFunctions::getOutgoingParticleTypes(): Make "kinds" a static
|
|
variable (buffer), and return it by const-ref.
|
|
|
|
- G4ElementaryParticleCollider: Eliminate return-by-value std::vector<>
|
|
on the functions listed below, by creating data buffers for particles,
|
|
momenta, and particle types. The functions become non-const and void:
|
|
::generateSCMfinalState(), ::generateMomModules()
|
|
::generateStrangeChannelPartTypes(), ::generateSCMpionAbsorption()
|
|
|
|
Also, in ::generateStrangeChannelPartTypes(), use a switch statement
|
|
instead of the long cascade of if-else-else.
|
|
|
|
- G4NucleiModel: Several member functions have different modifications:
|
|
|
|
::initializeCascad(bullet,target) -- Replace return value with a passed-in
|
|
(non-const reference) buffer to be filled. The calling code can
|
|
pass in a data member, local variable, or whatever.
|
|
|
|
::generateParticleFate() -- Replace local "thePartners" variable with data
|
|
member, filled below. Move "outgouing_cparticles" to data member
|
|
(fix the spelling!), and return by const-ref.
|
|
|
|
::generateInteractionPartners() -- Eliminate return value; fill data
|
|
member instead, to be used by ::generateParticleFate().
|
|
|
|
- G4IntraNucleiCascader.cc: Follow changes to initializeCascad() above.
|
|
|
|
- G4NucleonSampler, G4PionSampler: ** DON'T KNOW WHAT TO DO HERE **
|
|
|
|
- G4WatcherGun: Return const-ref to list of watchers, instead of copy.
|
|
|
|
Replace all uses of std::vector<>::resize(0) with ::clear(). The former
|
|
causes deallocation/reallocation/resizing cycles, while clear() just removes
|
|
content, preserving the allocated buffer.
|
|
|
|
include/G4CollisionOutput.hh
|
|
src/G4ElementaryParticleCollider.cc
|
|
src/G4NucleiModel.cc
|
|
src/G4WatcherGun.cc
|
|
|
|
07 April 2010 Dennis Wright (hadr-casc-V09-03-16)
|
|
-------------------------------------------------
|
|
- fix negative energy bug in G4BigBanger, and switch to using
|
|
G4NucleiProperties::GetBindingEnergy
|
|
|
|
07 April 2010 Michael Kelsey (hadr-casc-V09-03-15)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
1) Systematically replace pass-by-value function arguments with const-refs.
|
|
This is the first step in reducing unnecessary memory churn, to be followed
|
|
by replacing return-by-value std::vector<> with non-const argument buffers.
|
|
|
|
include/G4CascadeChannel.hh
|
|
include/G4FinalStateSampler.hh
|
|
include/G4InuclEvaporation.hh
|
|
include/G4NuclWatcher.hh
|
|
src/G4CascadeChannel.cc
|
|
src/G4FinalStateSampler.cc
|
|
src/G4InuclEvaporation.cc
|
|
src/G4NuclWatcher.cc
|
|
|
|
2) Fix constness on some operator== and operator!= definitions.
|
|
|
|
include/G4CascadeElasticInterface.hh
|
|
include/G4CascadeInterface.hh
|
|
include/G4ElasticCascadeInterface.hh
|
|
include/G4IBertini.hh
|
|
include/G4PreCompoundCascadeInterface.hh
|
|
|
|
07 Apr 2010 Michael Kelsey (hadr-casc-V09-03-14)
|
|
------------------------------------------------
|
|
- G4Dineutron.hh, G4Diproton.hh, G4UnboundPN.hh:
|
|
Reset static "theInstance" pointer to zero in (now virtual) destructor.
|
|
|
|
- G4Dineutron.cc, G4Diproton.cc, G4UnboundPN.cc:
|
|
Implement constructor to do the G4Ions initialization, rather than in
|
|
::Definition(). Drop use of G4ParticleTable; just monitor static pointer.
|
|
Set "ShortLived" flag in G4Ions initialization, to avoid interactions with
|
|
ProcessManager.
|
|
|
|
- G4InuclNuclei.cc: In ::makeNuclearFragment(), set "ShortLived" flag for
|
|
G4Ions, to avoid interactions with ProcessManager.
|
|
|
|
26 Mar 2010 Dennis Wright (hadr-casc-V09-03-13)
|
|
-----------------------------------------------
|
|
- G4EquilibriumEvaporator.cc: remove line #include "G4types.hh"
|
|
(file doesn't exist)
|
|
|
|
20 Mar 2010 Michael Kelsey (hadr-casc-V09-03-12)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4EquilibriumEvaporator.cc: Move subtraction of Q1[i] outside new
|
|
GetBindingEnergy() call.
|
|
|
|
- G4InuclNuclei.cc::makeNuclearFragment(): Add message warning users about
|
|
non-physical creation. Use new GetBindingEnergy() function here as well
|
|
(V09-03-05 didn't have this function, so wasn't included in migration).
|
|
|
|
19 Mar 2010 Michael Kelsey (hadr-casc-V09-03-11)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4InuclSpecialFunctions: Two new functions:
|
|
|
|
::generateWithRandomAngles() to encapsulate random-direction generation.
|
|
This function and existing generateWithFixedTheta() take optional mass
|
|
argument to produce proper four-vector.
|
|
|
|
Replace duplicated random angle code with new function above, and use new
|
|
optional mass argument where available:
|
|
|
|
G4BigBanger.cc
|
|
G4ElementaryParticleCollider.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4Fissioner.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NucleiModel.cc
|
|
|
|
::G4cbrt(): Define cube-root in terms of log and exp, rather than pow().
|
|
Note that "cbrt()" can't be used, as it conflicts with <math.h> on Linux.
|
|
|
|
Eliminate unnecessary uses of std::pow() with fixed arguments. For
|
|
example, "pow(x,3)" -> "x*x*x", "pow(x,1/3)" -> G4cbrt(x):
|
|
|
|
G4BertiniRegionModel.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4EvaporationInuclCollider.cc
|
|
G4Fissioner.cc
|
|
G4IntraNucleiCascader.cc
|
|
G4InuclCollider.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4NucleiModel.cc
|
|
G4PreCompoundInuclCollider.cc
|
|
G4RegionModel.cc
|
|
bindingEnergyAsymptotic.cc
|
|
bindingEnergyKummel.cc
|
|
|
|
WARNING! In G4IntraNucleiCascader.cc, the Coulomb barrier was calculated
|
|
using "std::pow(A, 0.333)", rather than the "exact" 1./3. This leads to
|
|
per-mil differences in the value, and occasional differences in wheter an
|
|
outgoing particle tunnels through. The new code is exact to double
|
|
precision, and therefore fixes a bug.
|
|
|
|
- Move "using" directive from all .hh files to corresponding .cc, along with
|
|
some unnecessary #includes:
|
|
|
|
G4BigBanger.hh, .cc
|
|
G4ElementaryParticleCollider.hh, .cc
|
|
G4EquilibriumEvaporator.hh, .cc
|
|
G4EvaporationInuclCollider.hh, .cc
|
|
G4Fissioner.hh, .cc
|
|
G4IntraNucleiCascader.hh, .cc
|
|
G4InuclCollider.hh
|
|
G4InuclNuclei.hh
|
|
G4NonEquilibriumEvaporator.hh, .cc
|
|
G4NucleiModel.hh, .cc
|
|
G4PreCompoundInuclCollider.hh, .cc
|
|
|
|
- G4NuclWatcher.hh and .cc (new): Move implementation code from .hh to .cc.
|
|
|
|
18 March 2010 Michael Kelsey (hadr-casc-V09-03-10)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
Missed one bug in repairs below, found when testing 4 GeV pi -> Pb.
|
|
|
|
- G4Fissioner.cc: Replace incorrect G4LorentzVector ctor arguments
|
|
(G4ThreeVector,m) with call to G4LV::setVectM().
|
|
|
|
17 March 2010 Dennis Wright (hadr-casc-V09-03-09)
|
|
-------------------------------------------------
|
|
Fix warning in G4InuclNuclei.cc: G4Ions:G4Ions was being called with
|
|
a double (a) in its 13th argument, when an integer is required. Use
|
|
G4lrint to convert.
|
|
|
|
16 March 2010 Michael Kelsey (hadr-casc-V09-03-08)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
Fix bugs introduced during migration from G4CascadeMomentum to
|
|
G4LorentzVector (see hadr-casc-V09-03-03). With these bug fixes, 2000
|
|
events generated with "ppi4GeV" test executable are equivalent to production
|
|
output (GEANT 4.9.3), allowing for differences in hardwired nucleon masses.
|
|
When compared with hadr-casc-V09-03-02 (which uses G4ParticleDefinition for
|
|
all the particle masses) the 2000-event results are identical within
|
|
floating point precision.
|
|
|
|
- G4BigBanger.cc: Line 72, fix unit conversion bug, GeV/MeV vs. MeV/GeV.
|
|
Replace incorrectly introduced cross-product with original vector
|
|
manipulation, written with G4LorentzVector accessors.
|
|
|
|
- G4CollisionOutput::selectPairToTune(): Test on "i3>0" not appropriate with
|
|
G4LorentzVector indexing. Replace with failure-test on "i3<0". Also
|
|
simplify final if-cascade for readability.
|
|
|
|
- G4EquilibriumEvaporator.cc: Replace incorrect G4LorentzVector ctor
|
|
arguments (px,py,pz,m) with call to G4LV::setVectM().
|
|
|
|
- G4IntraNuclearCascader.cc: Replace leftover momentum_out[0] with .e().
|
|
|
|
- G4InuclNuclei.cc,hh: Add new function ::makeNuclearFragment(a,z,exc),
|
|
which "manually" construct a G4Ions object for cases where A/Z is not a
|
|
valid stable or unstable nucleus. These unphysical objects are passed
|
|
back from G4IntraNuclearCascader.cc and immediately passed to G4BigBanger
|
|
for conversion to nucleons. A future change should move this action into
|
|
G4INCascader and eliminate the need for unphysical nuclei.
|
|
|
|
- G4LorentzConvertor::toTheTargetRestFrame(): Remove local declaration of
|
|
scm_momentum, restoring access to data member with that name.
|
|
|
|
- G4NucleiModel::generateQuasiDeutron(): Undo consolidation of dmom with
|
|
local variables for each of the nucleon momenta. Stack corruption led to
|
|
differences in unbound p-n state relative to pp and nn states.
|
|
|
|
Minor updates: Changed all the "verboseLevel()" initializers to (0), via a
|
|
shell script. This allows making the code uniformly verbose or quiet.
|
|
|
|
include/G4NucleiModel.hh
|
|
src/G4Analyser.cc
|
|
src/G4CollisionOutput.cc
|
|
src/G4ElementaryParticleCollider.cc
|
|
src/G4FissionStore.cc
|
|
src/G4Fissioner.cc
|
|
src/G4IntraNucleiCascader.cc
|
|
src/G4NonEquilibriumEvaporator.cc
|
|
src/G4NucleiModel.cc
|
|
src/G4WatcherGun.cc
|
|
|
|
16 March 2010 Michael Kelsey (hadr-casc-V09-03-DO-NOT-USE)
|
|
--------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
Restore version hadr-casc-V09-03-05 to HEAD of CVS in order to apply bug
|
|
fixes and re-deploy migration from G4CascadeMomentum to G4LorentzVector.
|
|
This reversion is tagged as a checkpoint only, and should not be used for
|
|
testing or running (since it restores the known bugs in V09-03-03).
|
|
|
|
The update to G4InteractionCase.hh by Gabriele Cosmo in hadr-casc-V09-03-07
|
|
is not touched by this reversion!
|
|
|
|
The following CVS commands were used to perform the reversion:
|
|
|
|
cvs update -j1.13 -j1.12 cascade/include/G4CascadParticle.hh
|
|
cvs update -j1.4 -j1.3 cascade/include/G4CascadeMomentum.hh
|
|
cvs update -j1.15 -j1.14 cascade/include/G4CollisionOutput.hh
|
|
cvs update -j1.23 -j1.22 cascade/include/G4ElementaryParticleCollider.hh
|
|
cvs update -j1.9 -j1.8 cascade/include/G4InuclCollider.hh
|
|
cvs update -j1.19 -j1.18 cascade/include/G4InuclElementaryParticle.hh
|
|
cvs update -j1.12 -j1.11 cascade/include/G4InuclNuclei.hh
|
|
cvs update -j1.16 -j1.15 cascade/include/G4InuclParticle.hh
|
|
cvs update -j1.13 -j1.12 cascade/include/G4InuclSpecialFunctions.hh
|
|
cvs update -j1.13 -j1.12 cascade/include/G4LorentzConvertor.hh
|
|
cvs update -j1.4 -j1.3 cascade/include/G4ParticleLargerBeta.hh
|
|
cvs update -j1.9 -j1.8 cascade/include/G4ParticleLargerEkin.hh
|
|
cvs update -j1.20 -j1.19 cascade/src/G4BigBanger.cc
|
|
cvs update -j1.13 -j1.12 cascade/src/G4CascadParticle.cc
|
|
cvs update -j1.6 -j1.5 cascade/src/G4CascadeElasticInterface.cc
|
|
cvs update -j1.68 -j1.67 cascade/src/G4CascadeInterface.cc
|
|
cvs update -j1.18 -j1.17 cascade/src/G4CollisionOutput.cc
|
|
cvs update -j1.7 -j1.6 cascade/src/G4ElasticCascadeInterface.cc
|
|
cvs update -j1.6 -j1.5 cascade/src/G4EvaporationInuclCollider.cc
|
|
cvs update -j1.5 -j1.4 cascade/src/G4IBertini.cc
|
|
cvs update -j1.3 -j1.2 cascade/src/G4InuclElementaryParticle.cc
|
|
cvs update -j1.10 -j1.9 cascade/src/G4InuclEvaporation.cc
|
|
cvs update -j1.3 -j1.2 cascade/src/G4InuclNuclei.cc
|
|
cvs update -j1.4 -j1.3 cascade/src/G4InuclParticle.cc
|
|
cvs update -j1.17 -j1.16 cascade/src/G4InuclSpecialFunctions.cc
|
|
cvs update -j1.19 -j1.18 cascade/src/G4LorentzConvertor.cc
|
|
cvs update -j1.5 -j1.4 cascade/src/G4PreCompoundCascadeInterface.cc
|
|
cvs update -j1.4 -j1.3 cascade/src/G4PreCompoundInuclCollider.cc
|
|
|
|
Intermediate versions below had bindingEnergy changes from -05 re-applied
|
|
|
|
cvs update -j1.23 -j1.21 cascade/src/G4EquilibriumEvaporator.cc
|
|
cvs update -j1.22 -j1.20 cascade/src/G4Fissioner.cc
|
|
cvs update -j1.29 -j1.27 cascade/src/G4IntraNucleiCascader.cc
|
|
cvs update -j1.24 -j1.22 cascade/src/G4InuclCollider.cc
|
|
cvs update -j1.23 -j1.21 cascade/src/G4NonEquilibriumEvaporator.cc
|
|
cvs update -j1.38 -j1.36 cascade/src/G4NucleiModel.cc
|
|
|
|
G4ElementaryParticleCollider::particleSCMmomentumFor2to2: Restore new
|
|
parametrization of elastic scattering added by D.Write in hadr-casc-V09-03-06
|
|
|
|
cvs update -j1.47 -j1.45 cascade/src/G4ElementaryParticleCollider.cc
|
|
+ editing
|
|
|
|
05 Mar 2010 Gabriele Cosmo (hadr-casc-V09-03-07)
|
|
------------------------------------------------
|
|
- Reinstated fix in G4InteractionCase.hh for initialisation in constructor to
|
|
allow for porting on C++0x Standard.
|
|
|
|
07 Feb 2010 Dennis Wright (hadr-casc-V09-03-06)
|
|
-----------------------------------------------
|
|
- back out changes from tags V09-03-00 to V00-03-05 by restoring HEAD
|
|
to V09-02-11, and keeping the di-nucleon classes
|
|
- replace Bertini method bindingEnergy() with
|
|
G4NucleiProperties::GetBindingEnergy() in classes
|
|
G4IntraNuclearCascader, G4InuclCollider, G4NucleiModel, G4EquilibriumModel,
|
|
G4NonEquilibriumModel, G4Fissioner. Note that G4Fissioner still uses the
|
|
Bertini method bindingEnergyAsymptotic.
|
|
|
|
- G4ElementaryParticleCollider::particleSCMmomentumFor2to2
|
|
replace original (incorrect) pp, pn, nn 2-body to 2-body scattering angular
|
|
distributions with a new parameterization of elastic scattering data using
|
|
the sum of two exponentials
|
|
|
|
02 Feb 2010 Dennis Wright (hadr-casc-V09-03-05)
|
|
-----------------------------------------------
|
|
- replace all uses of bindingEnergy (local Bertini method) with the
|
|
Geant4 standard G4NucleiProperties::GetBindingEnergy(A,Z)
|
|
files modified:
|
|
G4IntraNucleiCascader.cc
|
|
G4InuclCollider.cc
|
|
G4NucleiModel.cc
|
|
G4EquilibriumEvaporator.cc
|
|
G4NonEquilibriumEvaporator.cc
|
|
G4Fissioner.cc
|
|
- note that G4Fissioner still uses Bertini method bindingEnergyAsymptotic
|
|
|
|
28 Jan 2010 Dennis Wright (hadr-casc-V09-03-04)
|
|
-----------------------------------------------
|
|
- fix unused variable warnings in G4InuclParticle.hh, .cc and
|
|
G4NonEquilibriumEvaporator.cc
|
|
|
|
26 Jan 2010 Michael Kelsey (hadr-casc-V09-03-03)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4ParticleLargerBeta.hh: Fix to use of CVS "Name" tag; no code changes.
|
|
|
|
- G4CascadParticle: Replace the position std::vector<> with G4ThreeVector.
|
|
|
|
- G4NucleiModel: Replace all std::vector<> coordinates with G4ThreeVector,
|
|
and use vector math for computations.
|
|
|
|
Remove all use of G4CascadeMomentum (a simple container with a C-style
|
|
four-element array) with G4LorentzVector. This is a fairly invasive change,
|
|
since G4CascMom was used for all of the three- and four-vector operations
|
|
throughout the Bertini code:
|
|
|
|
include/G4CascadParticle.hh
|
|
include/G4CollisionOutput.hh
|
|
include/G4ElementaryParticleCollider.hh
|
|
include/G4InuclCollider.hh
|
|
include/G4InuclElementaryParticle.hh
|
|
include/G4InuclNuclei.hh
|
|
include/G4InuclParticle.hh
|
|
include/G4InuclSpecialFunctions.hh
|
|
include/G4LorentzConvertor.hh
|
|
|
|
src/G4BigBanger.cc
|
|
src/G4CascadParticle.cc
|
|
src/G4CascadeElasticInterface.cc
|
|
src/G4CascadeInterface.cc
|
|
src/G4CollisionOutput.cc
|
|
src/G4ElasticCascadeInterface.cc
|
|
src/G4ElementaryParticleCollider.cc
|
|
src/G4EquilibriumEvaporator.cc
|
|
src/G4EvaporationInuclCollider.cc
|
|
src/G4Fissioner.cc
|
|
src/G4IBertini.cc
|
|
src/G4IntraNucleiCascader.cc
|
|
src/G4InuclCollider.cc
|
|
src/G4InuclElementaryParticle.cc
|
|
src/G4InuclEvaporation.cc
|
|
src/G4InuclNuclei.cc
|
|
src/G4InuclParticle.cc
|
|
src/G4InuclSpecialFunctions.cc
|
|
src/G4LorentzConvertor.cc
|
|
src/G4NonEquilibriumEvaporator.cc
|
|
src/G4NucleiModel.cc
|
|
src/G4PreCompoundCascadeInterface.cc
|
|
src/G4PreCompoundInuclCollider.cc
|
|
|
|
The new code is not yet entirely "correct," since Bertini also does a lot of
|
|
operations by way of three-momentum, imposing masses (and hence energy
|
|
conservation) separately, after the fact.
|
|
|
|
20 Jan 2010 Gabriele Cosmo
|
|
--------------------------
|
|
- G4InteractionCase.hh: Minor fix in initialisation in constructor to
|
|
allow for porting on C++0x Standard.
|
|
|
|
20 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02)
|
|
------------------------------------------------
|
|
- G4LorentzConvertor.hh: Fix scm_momentum data member to be G4ThreeVector
|
|
(as used in previous versions) rather than G4LorentzVector.
|
|
|
|
NOTE: I have *retagged* cascade/include/G4LorentzConverter.hh and this
|
|
History file, rather than creating a new tag, since these are private
|
|
development only, not public releases.
|
|
|
|
12 Jan 2010 Michael Kelsey (hadr-casc-V09-03-02)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4CascadeMomentum: Replace use of static G4LV variables within functions
|
|
with mutable data member of object; this does introduce more memory
|
|
thrashing, but the plan is to get rid of the whole thing anyway. Improve
|
|
implicit casting and add assignment from G4LV.
|
|
|
|
- G4LorentzConverter: Change function signatures to accept G4LV as input,
|
|
using implicit cast to convert existing G4CascadeMomentum argument
|
|
passing. Use G4LV internally throughout, again using implicit cast to
|
|
return G4CascMom values. This substantially increases (temporarily!)
|
|
memory thrashing. Simplify ::rotate() functions to use G4LV and
|
|
G4ThreeVec operations rather than array index gymnastics. Move some
|
|
function implementations out of .hh file into .cc.
|
|
|
|
- G4ParticleLargerEkin.hh: Fix use of CVS "Name" tag. No code changes.
|
|
|
|
12 Jan 2010 Michael Kelsey (hadr-casc-V09-03-01)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4ParticleLargerBeta, G4ParticleLargerEkin: Add additional operator()
|
|
which takes pointers (for future mods to reduce ctor/dtor cycling), and
|
|
fix ordering bug in beta sorting. Add debugging printout togged with
|
|
preprocessor flag.
|
|
|
|
- G4InuclParticle, G4InuclNuclei, G4InuclElementaryParticle: Rewrite to
|
|
carry G4DynamicParticle data member, and to instantiate particle
|
|
properties via G4ParticleDefinition subclasses. This is first stage in
|
|
eventually eliminating the G4InuclParticle stuff entirely in favor of
|
|
direct use of G4DynamicParticle for internal propagation.
|
|
|
|
These changes have been testing using debugging output on the production
|
|
(4.9.3) code compared to the above changes. |diff| shows mostly identical
|
|
results, with occasional ~1e-5 floating point differences.
|
|
|
|
08 Jan 2010 Michael Kelsey (hadr-casc-V09-03-00)
|
|
------------------------------------------------
|
|
All changes below within "cascade/" subdirectory:
|
|
|
|
- G4BertiniNuclearModel: REMOVE this class from the HEAD, and hopefully all
|
|
future tags. It is redundant with the G4NuclearModel class, and is not
|
|
used anywhere in the G4 distribtion; the latter is referenced in both
|
|
regular G4 code and in examples.
|
|
|
|
- G4Diproton, G4Dineutron, G4UnboundPN: New G4ParticleDefinition
|
|
subclasses, which implement the Bertini-specific dibaryon states. These
|
|
are not used anywhere as yet, but will be used in future modifications to
|
|
the G4InuclParticle subclasses.
|
|
|
|
- G4CascadeMomentum: Add interface to create from and cast to
|
|
G4LorentzVector. Will be used (in future) by G4InuclParticle modifications,
|
|
and provides a transition to eliminating this class entirely.
|
|
|
|
1 Dec 2009 Dennis Wright (hadr-casc-V09-02-11)
|
|
----------------------------------------------
|
|
- G4PionSampler, G4NucleonSampler: change loop variable in ctor from i to j
|
|
in order to satisfy Windows compiler
|
|
|
|
11 Nov 2009 Dennis Wright (hadr-casc-V09-02-10)
|
|
-----------------------------------------------
|
|
- G4CascadParticle, G4InuclElementaryParticle: add integer argument to ctor
|
|
to indicate which generation cascade particle belongs to.
|
|
Also change G4NucleiModel and G4BertiniNucleiModel to use this.
|
|
|
|
8 Oct 2009 Dennis Wright (hadr-casc-V09-02-09)
|
|
-----------------------------------------------
|
|
- G4PionSampler: use charge exchange cross section for pi0-p, go back
|
|
original Bertini pi0-p elastic partial cs. Update pi0 total cross
|
|
section accordingly. Improve fits to pi-p partial cs and update
|
|
pi- total cross sections.
|
|
- G4NucleiModel: update pi- and pi0 total cross sections
|
|
|
|
24 Sep 2009 Dennis Wright (hadr-casc-V09-02-08)
|
|
-----------------------------------------------
|
|
- add class G4NucleonSampler which replaces old pp, pn, and nn partial and
|
|
total cross sections also modify other classes which use them
|
|
- move large arrays which are instantiated at every call of frequently
|
|
used methods. They are now initialized once in constructors.
|
|
- G4CascadSpecialFunctions: put copy of total cross section method
|
|
in G4NucleiModel, also remove unneeded energy scale arrays
|
|
(now replaced with a new one)
|
|
- G4CascadeInterface: move instantiation of various collider classes
|
|
outside of loop, and put on stack instead of heap
|
|
- G4ElementaryParticleCollider: re-design to use G4NucleonSampler and
|
|
remove instantiation of large arrays from within loops in code
|
|
- G4NucleiModel: remove instatiation of large arrays from with loops,
|
|
add new total cross section sampling, remove use of all but one
|
|
energy scale
|
|
|
|
17 Sep 2009 Dennis Wright (hadr-casc-V09-02-07)
|
|
-----------------------------------------------
|
|
- G4PionSampler: remove large static arrays
|
|
- G4FinalStateSampler: remove static array pointer to G4 particle types
|
|
- G4ElementaryParticleCollider: clean up
|
|
|
|
4 Sep 2009 Dennis Wright (hadr-casc-V09-02-06)
|
|
----------------------------------------------
|
|
- add assignment operator to class G4CollisionOutput
|
|
|
|
31 Aug 2009 Dennis Wright (hadr-casc-V09-02-05)
|
|
-----------------------------------------------
|
|
- add class G4FinalStateSampler which was accidentally omitted from
|
|
the previous tag
|
|
|
|
25 Aug 2009 Dennis Wright (hadr-casc-V09-02-04)
|
|
-----------------------------------------------
|
|
- correct bug in particle ordering in G4PionSampler
|
|
- clean up dead code in G4NucleiModel and G4ElementaryParticleCollider
|
|
|
|
20 Aug 2009 Dennis Wright (hadr-casc-V09-02-03)
|
|
-----------------------------------------------
|
|
- create class G4PionSampler: samples partial cross sections, multiplicities
|
|
and final state particle types required for pi+, pi- and pi0 scattering
|
|
within a nucleus. This class uses re-evaluated pion partial cross sections
|
|
and includes production of strange particle pairs.
|
|
- G4CascadeSigmaPlusNChannel: correct sigma plus cross sections
|
|
- G4CascadSpecialFunctions: move pion, kaon, hyperon total cross sections
|
|
to this class
|
|
- G4ElementaryParticleCollider: re-write to use G4PionSampler class for
|
|
cross sections and multiplicities, remove method reChargering (now redundant)
|
|
|
|
15 Apr 2009 Dennis Wright (hadr-casc-V09-02-02)
|
|
-----------------------------------------------
|
|
- previous tag no longer used. Bring hadr-casc-V09-02-00 back to
|
|
HEAD and re-tag
|
|
|
|
21 Feb 2009 Dennis Wright (hadr-casc-V09-02-01)
|
|
-----------------------------------------------
|
|
- add printCrossSection method to G4CascadSpecialFunctions
|
|
- in GeElementaryParticleCollider, add high energy flag to distinguish
|
|
"string-like" behavior
|
|
- G4IntraNucleiCascader.cc - allow secondaries from HE interaction to
|
|
leave nucleus without interacting
|
|
- G4NucleiModel - get high_energy_interaction flag value from G4ElementaryParticleCollider
|
|
|
|
11 Feb 2009 V.Ivanchenko (hadr-casc-V09-02-00)
|
|
-----------------------------------------------
|
|
- set absorption coefficient 1.0 instead of 0.2 inside
|
|
G4CascadSpecialFunctions (D.Wright)
|
|
|
|
25 Nov 2008 Dennis Wright (hadr-casc-V09-01-10)
|
|
-----------------------------------------------
|
|
- fix multiplicity sampling in G4ElementaryParticleCollider::generateMultiplicity().
|
|
Now partial cross sections are normalized to the total cross section instead
|
|
of just the sum of 2-body to 6-body final state cross sections. Also fix
|
|
2-body cross sections above 7 GeV where they were too small.
|
|
Fix the same cross sections which appear in G4CascadSpecialFunctions.cc
|
|
|
|
21 Nov 2008 Dennis Wright (hadr-casc-V09-01-09)
|
|
-----------------------------------------------
|
|
- add some comments to cross section tables in G4CascadSpecialFunctions.cc
|
|
and G4ElementaryParticleCollider.cc
|
|
|
|
24 Oct 2008 Dennis Wright (hadr-casc-V09-01-08)
|
|
-----------------------------------------------
|
|
- replace GetAtomicMass() with GetNuclearMass() in cascade/G4InuclEvaporation
|
|
and evaporation/G4BertiniEvaporation
|
|
- V. Ivantchenko added name to G4CascadeInterface ("Bertini Cascade")
|
|
|
|
17 Oct 2008 Dennis Wright (hadr-casc-V09-01-07)
|
|
-----------------------------------------------
|
|
- added Coulomb barrier plus barrier penetration in G4IntraNucleiCascader.cc
|
|
|
|
27 Sep 2008 Dennis Wright (hadr-casc-V09-01-06)
|
|
-----------------------------------------------
|
|
- Fixed 4.3 compiler warnings for G4InuclElementaryParticle.hh by providing
|
|
initializers for particle type and mass
|
|
- Remove unused variables totscm, totlab in G4BigBanger.cc,
|
|
G4ElementaryParticleCollider.cc, and unused mom1 from G4InuclSpecialFunctions.cc
|
|
|
|
22 Sep 2008 Gabriele Cosmo (hadr-casc-V09-01-05)
|
|
------------------------------------------------
|
|
- Introduced simple wrapper class G4CascadeMomentum meant to replace usage
|
|
of std::vector<double> in the cascade code, to reduce memory allocations.
|
|
Courtesy of P.Elmer (princeton Univ.).
|
|
- Modified cascade code to make use of G4CascadeMomentum.
|
|
|
|
3 Sep 2008 Dennis Wright (hadr-casc-V09-01-04)
|
|
-----------------------------------------------
|
|
- G4ElementaryParticleCollider.cc: in method generateMultiplicity, remove
|
|
large_cut which increases multiplicity from 3 to 4 abruptly at 4 GeV
|
|
and above. This caused a sharp drop-off in the single pion spectra from
|
|
pH reactions. The effect in heavier nuclei is small.
|
|
|
|
29 Jun 2008 Dennis Wright (hadr-casc-V09-01-03)
|
|
-----------------------------------------------
|
|
- add changes made by M. Paterno, J. Kowalkowski, and M. Fischler (FNAL)
|
|
to speed up code. All G4Cascade***Channel classes and related code changed.
|
|
|
|
5 May 2008 Dennis Wright (hadr-casc-V09-01-02)
|
|
-----------------------------------------------
|
|
- retag hadr-casc-V09-csbug as hadr-casc-V09-01-02
|
|
|
|
30 Apr 2008 Dennis Wright (hadr-casc-V09-csbug)
|
|
-----------------------------------------------
|
|
- fix cross section bug in G4CascadSpecialFunctions that returned
|
|
low or zero total cross sections for pi-p, pi+n, np, and pi0
|
|
interactions
|
|
|
|
29 Apr 2008 Dennis Wright (hadr-casc-V09-01-01)
|
|
-----------------------------------------------
|
|
- bring tag hadr-casc-V09-01-coula to HEAD, make official tag
|
|
|
|
22 Apr 2008 Dennis Wright (hadr-casc-V09-01-param)
|
|
--------------------------------------------------
|
|
- changed pp, nn total cross section parameterization in
|
|
G4CascadSpecialFunctions to more closely reflect the PDG values (old one
|
|
was off by as much as a factor of 3.
|
|
|
|
3 Apr 2008 Dennis Wright (hadr-casc-V09-01-coula)
|
|
-------------------------------------------------
|
|
- removed Coulomb barrier from G4IntraNucleiCascader.cc (causes unphysical spike)
|
|
|
|
3 Apr 2008 Dennis Wright (hadr-casc-V09-01-coul)
|
|
------------------------------------------------
|
|
- Added Coulomb barrier in G4EquilibriumEvaporator.cc, G4IntraNucleiCascader.cc
|
|
|
|
17 Nov 2007 Dennis Wright (hadr-casc-V09-00-02)
|
|
-----------------------------------------------
|
|
- Fix angular distribution for nucleon-nucleon elastic scattering
|
|
above 2.8 GeV, by modifying G4ElementaryParticleCollider::getElasticCase
|
|
|
|
25 May 2007 Dennis Wright for Aatos Heikkinen (hadr-casc-V08-03-00)
|
|
-------------------------------------------------------------------
|
|
- implemented interfaces for pre-equilibrium and equilbrium evaporation
|
|
models
|
|
|
|
04 May 2007 Aatos Heikkinen (hadr-casc-V08-02-00)
|
|
-------------------------------------------------
|
|
|
|
- Added protection in G4ElementaryParticleCollider against negative
|
|
value to sqrt().
|
|
|
|
08 May 2006 Dennis Wright (hadr-casc-V08-00-00)
|
|
-----------------------------------------------
|
|
|
|
- cascade: remove G4BERTINI_KAON conditional assembly flags. Files
|
|
affected:
|
|
G4ElementaryParticleCollider.hh, cc
|
|
G4InuclElementaryParticle.hh
|
|
G4NucleiModel.hh, cc
|
|
G4CascadeInterface.cc
|
|
G4IntraNucleiCascader.cc
|
|
|
|
- cascade (Pekka Kaitaniemi): G4ElasticCascadeInterface: derive
|
|
from G4VIntraNuclearTransportModel instead of G4HadronElastic.
|
|
Check for case when no elastic scattering occurs. If so,
|
|
return original bullet and target.
|
|
|
|
24 Nov 2005 Dennis Wright (hadr-casc-V07-01-00)
|
|
----------------------------------------------
|
|
|
|
- cascade (bertini-V07-01-00 by Aatos Heikkinen)
|
|
elastic scattering interface added:
|
|
G4ElasticCascadeInterface.hh, .cc added
|
|
G4CascadeInterface.hh modified
|