# Category radioactive_decay History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

-------------------------------------------------------------------------------

## 2025-01-10 Vladimir Ivanchenko (radioactive_decay-V11-03-00)
- G4RadioactiveDecay - fixed problem 2592 - enable biasing in radioactive decay

## 2024-08-14 Gabriele Cosmo (radioactive_decay-V11-02-05)
- Fixed reported Coverity defects for use of std::move().

## 2024-05-30 Vladimir Ivanchenko (radioactive_decay-V11-02-04)
- Rename G4RadioactiveDecay -> G4VRadioactiveDecay,
  G4Radioactivation -> G4RadioactiveDecay, the header G4Radioactivation.hh is preserved
  providing backward compatibility

## 2024-04-08 Vladimir Ivanchenko, Alvaro Tolosa Delgado (radioactive_decay-V11-02-03)
- G4BetaPlusDecay, G4BetaMinusDecay - minor fix of radioactive_decay-V11-02-02
    In case Q-value is bigger than mass diference, betas in the tail of the spectrum
    may have more energy than residual free energy. To minimize the non-conservation
    of 4-momentum, in such cases neutrino and daughter nucleus are given 1 eV, leading
    to non conservation of linear momentum because momentum of beta is not counterbalanced.

## 2024-02-20 Vladimir Ivanchenko (radioactive_decay-V11-02-02)
- G4BetaPlusDecay, G4BetaMinusDecay - added extra numerical protection on
    level of 1 eV to avoid precision lost and production of neutrino with
    negative kinetic energy

## 2024-02-13 Vladimir Ivanchenko (radioactive_decay-V11-02-01)
- G4BetaPlusDecay, G4BetaMinusDecay - fixed sampling algorithm (problem #2588)

## 2024-01-13 Alexander Howard (radioactive_decay-V11-02-00)
- G4Radioactivation : added DBL_EPSILON check on transition energy for
  metastables to prevent creation of zero energy levels which have no decay
  products!

## 2023-11-16 Alberto Ribon (radioactive_decay-V11-01-09)
- G4RadioactiveDecay, G4Radioactivation : added an extra parameter in the
  constructor of these classes, to be able to set, directly at the level
  of class constructor, the threshold for the time beyond which radioactive
  decays are ignored. This is meant for custom physics lists.
  Moreover, the constructor of these classes have been modified to offer
  also a C++ interface - via the singleton G4HadronicParameters - to set 
  the same time threshold for radioactive decays. This is meant for 
  reference physics lists.
  Note that, in the unlikely and weird scenario that two time thresholds
  are specified - one via G4HadronicParameters, and one via the constructor
  parameter - the larger of the two is considered, to be conservative.
  In all cases, an eventual time threshold specified via UI command
  (i.e. /process/had/rdm/thresholdForVeryLongDecayTime value)
  prevails on everything else.

## 2023-11-07 Alberto Ribon (radioactive_decay-V11-01-08)
- G4RadioactiveDecay : changed default threshold for the time beyond which
  radioactive decays are ignored - from twice the age of the Universe to
  1 year.
  ( Reminder: this threshold can be changed via the UI command,
    e.g. to set it to 1000 years:
    /process/had/rdm/thresholdForVeryLongDecayTime 1000.0 year
  )

## 2023-10-05 Vladimir Ivantchenko (radioactive_decay-V11-01-07)
- G4RadioactiveDecay - removed debug printout

## 2023-09-28 Vladimir Ivantchenko (radioactive_decay-V11-01-06)
- G4Radioactivation - fixed another Coverity report

## 2023-08-29 Vladimir Ivantchenko (radioactive_decay-V11-01-05)
- G4Radioactivation - fixed Coverity reports

## 2023-08-23 Vladimir Ivantchenko (radioactive_decay-V11-01-04)
- G4RadioactiveDecay - only one table of radioactive decay channels,
    removed not needed ifdef for MULTITHREADED; removed lock from
    class constructor, added use only lock in the method LoadDecayTable(..)
    after the check if the table is already downloaded, added explicit
    unlock in this method; removed counter of instances of the class;
    all virtual methods maked override and implementations are moved to
    the source; DecayIt(..) method is declaired virtual, removed unused 
    methods; use reference instead of values in method signatures for
    complex objects; added G4ITDecay object local for each thread to perform 
    sampling of radioactive decays with a possibility to sample correlated
    gamma emission
- G4Radioactivation - all virtual methods marked as
    override and implementations are moved to the source; DecayIt(..)
    is marked as override; removed methods GetDecayTable1, AtRestDoIt,
    PostStepDoIt instead base class method are used.
- G4BetaMinusDecay, G4BetaPlusDecay, G4BetaSpectrumSampler - implemented
    thread safe sampling method
- G4NuclearDecay - implement virtual method IsOKWithParentMass which
    alwys return 'true', make access methods 'const' where possible
- G4ITDecay - added method SetupDecay, which allows this class to be used
    inside local thread

## 2023-07-16 Vladimir Ivantchenko (radioactive_decay-V11-01-03)
- G4RadioactiveDecay - fixed initialisation printout: correct place
    for triton printout;

## 2023-06-17 Vladimir Ivantchenko (radioactive_decay-V11-01-02)
- G4RadioactiveDecay, G4BetaSpectrumSampler - fixed Coverity reports on
    non-initialized class members

## 2023-03-24 Dennis Wright (radioactive_decay-V11-01-01)
- Fix coverity bug 104867: uninitialized integers in G4BetaSpectrumSampler.cc
  Do initialization in ctor.
  
## 2023-03-24 Dennis Wright (radioactive_decay-V11-01-00)
- Fix of bug #2367: stairstep beta decay spectrum
  Create new class G4BetaSpectrumSampler to sample a sloped distribution
  instead of a flat one. Add this to sources.cmake.
  Change G4BetaMinusDecay and G4BetaPlusDecay to use the above sampler.
  Add protection against very large arguments in std::exp within 
    G4BetaDecayCorrections::ModSquared

## 2022-11-26 Gabriele Cosmo (radioactive_decay-V11-00-10)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-11-14 Vladimir Ivanchenko (radioactive_decay-V11-00-09)
- G4RadioactiveDecay - added printout of the flag of atomic relaxation

## 2022-11-03 Vladimir Ivanchenko (radioactive_decay-V11-00-08)
- G4ECDecay, G4ITDecay - extended upper limit of atomic de-excitation 
  from Z=100 to Z=104 by R. Chakma

## 2022-10-20 Dennis Wright (radioactive_decay-V11-00-07)
- G4RadioactiveDecay - remove SetICM() method.  Has been deprecated 
  for some time and is no longer used.  ICM now set exclusively in 
  G4PhotonEvaporation.
- G4RadioactiveDecayMessenger - remove icmCmd corresponding to SetICM
  above 

## 2022-10-13 Dennis Wright (radioactive_decay-V11-00-06)
- G4ECDecay - remove negative neutrino energy warning but keep 
  protection against negative values. Negative values are due to 
  negative Q values from ENSDF for only four nuclides.

## 2022-10-05 Vladimir Ivanchenko (radioactive_decay-V11-00-05)
- G4ECDecay - print warning introduced in the previous MR only
    once in each thread and only in verbose mode

## 2022-09-24 Vladimir Ivanchenko (radioactive_decay-V11-00-04)
- G4ECDecay - added protection against negative neutrino energy
    to fix problem #2509

## 2022-09-05 Ben Morgan (radioactive_decay-V11-00-03)
- Update dependencies to address warnings from consistency check

## 2022-04-08 Alberto Ribon (radioactive_decay-V11-00-02)
- G4RadioactiveDecay : fixed memory leak (due to decay products
  that were not deleted) in the case of a radioactive decay 
  happening later than the time threshold.

## 2022-04-04 Michel Maire (radioactive_decay-V11-00-01)
- cosmetics in G4RadioactiveDecay::StreamInfo()

## 2021-12-10 Ben Morgan (radioactive_decay-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

29 October 2021 Vladimir Ivanchenko radioactive_decay-V10-07-13
---------------------------------------------------------------
- G4RadioactiveDecay - updated printout of parameters according
    to the recent modifications in atomic de-excitation module

11 October 2021 Alberto Ribon radioactive_decay-V10-07-12
---------------------------------------------------------
- Included github Pull Request #26 by "mirguest" (Tao), aimed to
  improve the branching ratio consistency in radioactive decays,
  by replacing hardwired radioactive-decay-mode numbers with
  corresponding enum values.
  Modified classes: G4RadioactiveDecayMode, G4RadioactiveDecay,
  G4Radioactivation.

7 October 2021 Dennis Wright radioactive_decay-V10-07-11
--------------------------------------------------------
- remove obsolete classes G4RadioactiveDecayBase and 
  G4RadioactiveDecayBaseMessenger

1 October 2021 Ben Morgan radioactive_decay-V10-07-10
-----------------------------------------------------
- Use proper enum interface for G4String::strip

12 August 2021 Dennis Wright radioactive_decay-V10-07-09
--------------------------------------------------------
- Next to last step in RadioactiveDecay code migration
   create G4RadioactiveDecay.hh, .cc, G4RadioactiveDecayMessenger.hh, .cc
   to eventually replace G4RadioactiveDecayBase.hh, .cc,
   G4RadioactiveDecayBaseMessenger.hh, .cc 
   Code in new files is identical except for class name changes
  
   G4Radioactivation.hh, .cc: replace base class G4RadioactiveDecayBase
   with G4RadioactiveDecay

   update sources.cmake to add new files

04 August 2021 Alberto Ribon radioactive_decay-V10-07-08
--------------------------------------------------------
- G4RadioactiveDecayBase : migrated to the new approach of
  creator model ID, using the new version of G4PhysicsModelCatalog

21 May 2021 Dennis Wright radioactive_decay-V10-07-07
-----------------------------------------------------
- remove G4RadioactiveDecay.hh, .cc
- remove G4RadioactiveDecaymessenger.hh, .cc
- source.cmake: remove above filenames from list 
- G4ITDecay.cc: remove #include G4RadioactiveDecay.hh

16 April 2021 Ben Morgan radioactive_decay-V10-07-06
----------------------------------------------------
- Migrate build to modular CMake API

27 April 2021  Alberto Ribon  radioactive_decay-V10-07-05
---------------------------------------------------------
- G4RadioactiveDecayBase, G4RadioactiveDecayBaseMessenger : introduced
  a new parameter for analogue mode to kill very long radioactive decays
  at rest of nuclides happening later than this threshold parameter.
  Its default value (10^27 ns) corresponds to more than twice the age of
  the universe. The value of the threshold can be changed via a new UI
  command, e.g. to set it to 1000 years:
  "/process/had/rdm/thresholdForVeryLongDecayTime 3.1536e+10 second" .
  (This kind of cut has been introduced in order to avoid to account
   energy depositions happening after many billions of years in ordinary
   materials used in calorimetry, in particular Tungsten and Lead - via
   their their natural unstable, but very long lived, isotopes, such as
   W183, W180 and Pb204. Note that the cut is not on the average, mean
   lifetime, but on the actual sampled global decay time.)

15 April 2021  Vladimir Ivanchenko  radioactive_decay-V10-07-04
---------------------------------------------------------------
- G4RadioactiveDecayBase - fix #2350

13 April 2021  Alberto Ribon  radioactive_decay-V10-07-03
---------------------------------------------------------
- GNUmakefile, sources.cmake : removed the subdirectories
  hadronic/models/management and hadronic/models/util
  (that have been now deleted, with their classes moved to
   hadronic/util and hadronic/management).
  Removed also the useless dependency to hadronic/process.

31 March 2021  Gabriele Cosmo  radioactive_decay-V10-07-02
----------------------------------------------------------
- Use existing facility to find logical volume in store, rather than looping
  through in G4RadioactiveDecayBase/G4RadioactiveDecay Select/DeselectAVolume().

22 March 2021  Alberto Ribon  radioactive_decay-V10-07-01
---------------------------------------------------------
- G4RadioactiveDecayBaseMessenger, G4RadioactivationMessenger,
  G4RadioactiveDecaymessenger : removed deprecated commands.

16 February 2021  Alberto Ribon  radioactive_decay-V10-07-00
------------------------------------------------------------
- G4RadioactiveDecayBase : set the weight of secondaries tracks to the
  mother's weight value in the method G4RadioactiveDecayBase::DecayAnalog.
  Thanks to Michael Dressel (Desy) for spotting this.
  This bug, present since a long time, affects only simulations that
  use Radioactive Decay in analogue mode with "external" biasing
  (e.g. generic biasing, GPS generator with weights, etc.).
  For completeness (but useless because this deprecated class will be
  removed in Geant4 11), the corresponding fix was done also in the
  class G4RadioactiveDecay in the method DecayIt.

05 August 2020  Alberto Ribon  radioactive_decay-V10-06-09
----------------------------------------------------------
- G4RadioactiveDecayBaseMessenger, G4RadioactiveDecaymessenger,
  G4RadioactivationMessenger : deprecated the old UI commands
  "/grdm/..." and introduced the new corresponding ones,
  "/process/had/rdm/..." .

12 May 2020  Alberto Ribon  radioactive_decay-V10-06-08
------------------------------------------------------------
- G4RadioactiveDecayBase.cc , G4RadioactiveDecay.cc :
  in the method BuildPhysicsTable, check the global hadronic verbosity level
  before printing out information.

19 February 2020  Alberto Ribon  radioactive_decay-V10-06-07
------------------------------------------------------------
- G4RadioactiveDecayBase.cc , G4RadioactiveDecay.cc , G4Radioactivation.cc :
  use G4VERBOSE consistently;
  for G4Radioactivation, forgotten change of verbosity from 0 to 1
  at line 844.

12 February 2020  Alberto Ribon  radioactive_decay-V10-06-06
------------------------------------------------------------
- G4RadioactiveDecayBase.cc , G4RadioactiveDecay.cc : forgotten change of
  verbosity from 0 to 1, at lines: 309, 316, 331 and 932 for
  G4RadioactiveDecayBase.cc , and 340, 396, 403, 418 and 1676 for
  G4RadioactiveDecay.cc .

 6 February 2020  Alberto Ribon  radioactive_decay-V10-06-05
------------------------------------------------------------
- G4RadioactiveDecayBase.cc , G4RadioactiveDecay.cc : forgotten change of
  verbosity from 0 to 1, at line 977 and 1720 respectively.

22 January 2020  Dennis Wright  radioactive_decay-V10-06-04
-----------------------------------------------------------
- increased verbosity thresholds in G4RadioactiveDecay, G4RadioactiveDecayBase,
  G4Radioctivation in order to reduce printout size

22 January 2020  Dennis Wright  radioactive_decay-V10-06-03
-----------------------------------------------------------
- G4Radioactivation::AddDeexcitationSpectrumForBiasMode: fix memory leak
  by deleting pevap_products.  Addresses bug report #2164.

10 January 2020  Dennis Wright  radioactive_decay-V10-06-02
-----------------------------------------------------------
- fix Coverity errors 102466 and 102470, "dereference before null test"
  of ptr theDecayChannel in G4RadioactiveDecay.cc and G4RadioactiveDecayBase.cc,
  respectively.

- fix Coverity error 98937, uninitialized boolean, in G4SFDecay by removing
  boolean applyARM, which was unused.

19 December 2019  Dennis Wright  radioactive_decay-V10-06-01
------------------------------------------------------------
- G4RadioactiveDecay.cc, G4RadioactiveDecayBase.cc: change default verbosity
  from 0 to 1, and remove G4cerr wherever it occurs and replace it with
  G4Exception or G4cout

15 December 2019  Dennis Wright  radioactive_decay-V10-06-00
------------------------------------------------------------
- G4BetaPlusDecay.cc, line 166: change sign of daughterZ argument in
  G4BetaDecayCorrections according to bug report 2199

1 November 2019  Laurent Desorgher  radioactive_decay-V10-05-09
----------------------------------------------------------
-Add passing of type of sub-models to secondary particles generated in
G4RadioctiveDecay.cc   and G4RadioctiveDecayBase.cc

-Add radioactive decay mode with emission of Triton, in
G4RadioctiveDecay.cc, G4RadioctiveDecayBase.cc, and G4Radioactivation.
Code received from Anselmo Meregaglia.

20 August 2019  Dennis Wright  radioactive_decay-V10-05-08
----------------------------------------------------------
- G4RadioactiveDecayBase, G4Radioactivation : remove spurious debug messages
- G4Radioactivation : remove verboseLevel member and SetVerboseLevel()
    and GetVerboseLevel() methods as they are already in the base classa
- remove G4cerr from G4Radioactivation and G4RadioactiveDecayBase.  Replace
    with G4cout.

29 July 2019  Dennis Wright  radioactive_decay-V10-05-07
--------------------------------------------------------
- G4RadioactiveDecayBase: split off unbiased decay part of DecayIt()
  and make it protected method called DecayAnalog().  Move dkmap to
  protected.

- G4Radioactivation: correct bug in which AtRestDoIt() and PostStepDoIt()
  both incorrectly call base class method DecayIt()

15 July 2019  Dennis Wright  radioactive_decay-V10-05-06
--------------------------------------------------------
- G4RadioactiveDecayBase::LoadDecayTable: line 675 - add line b /= 100.;
  which was accidentally deleted when creating G4RadioactiveDecayBase
  from G4RadioactiveDecay.  This gives correct decay branching ratios.

21 June 2019  Makoto Asai  radioactive_decay-V10-05-05
--------------------------------------------------------
- G4RadioactiveDecay, G4RadioactiveDecayBase : make sure decay table maps
    are cleanly deleted at the end of program.

17 June 2019  Dennis Wright  radioactive_decay-V10-05-04
--------------------------------------------------------
- G4RadioactivationMessenger : remove "fast beta" option (obsolete), internal
    conversion option (not part of biasing) and atomic relaxation option (not
    part of biasing).
    Add analogueMC option which was forgotten when class was developed.
- G4RadioactiveDecayBaseMessenger : remove "fast beta" option
- G4RadioactiveDecayBase.hh : remove boolean FBeta

- replace G4ExceptionDescription in loop with simple string at exception time
  (G4RadioactiveDecay, G4RadioactiveDecayBase, G4Radioactivation)

29 May 2019  Dennis Wright  radioactive_decay-V10-05-03
-------------------------------------------------------
- G4RadioactiveDecay::CalculateChainsFromParent and
  G4Radioactivation::CalculateChainsFromParent : fix Coverity memory leak
  of summedDecayTable

 8 May 2019  Dennis Wright  radioactive_decay-V10-05-02
-------------------------------------------------------
- Fix incorrect branching ratio sum for biased mode, to account for the addition
  of N shell EC capture and spontaneous fission.  Files affected:
    G4Radioactivation.cc
    G4RadioactiveDecay.cc

 4 April 2019  Dennis Wright  radioactive_decay-V10-05-01
---------------------------------------------------------
- Add spontaneous fission channel
    Add new class G4SFDecay to handle neutron and gamma generation using LLNL model
    G4RadioactiveDecayMode.hh, .cc : add SpFission to enum
    G4NucleusLimits.cc : set aMax to 260 (to accommodate 252Cf)
    G4RadioactiveDecay.cc, G4RadioactiveDecayBase.cc : read spontaneous fission data
      from database, insert into decay tables and instantiate G4SFDecay
    modify sources.cmake to include fission model library and G4SFDecay
    add fission model directory to GNUmakefile

14 December 2018  Dennis Wright  radioactive_decay-V10-05-00
------------------------------------------------------------
- G4RadioactiveDecayBase.hh - add StreamInfo() method
- G4RadioactiveDecayBase.cc - update to new N shell EC, add StreamInfo() method.
   Enable printout of parameters with G4VERBOSE in BuildPhysicsTable().

 5 December 2018  Gabriele Cosmo  radioactive_decay-V10-04-04
-------------------------------------------------------------
- G4RadioactiveDecay: enable printout of parameters with G4VERBOSE in
  BuildPhysicsTable().

 8 May 2018  Laurent Desorgher  radioactive_decay-V10-04-03
-----------------------------------------------------------
- G4ECCapture, G4RadioactiveDecay, G4RadioactiveDecayMode
    -Add the electron capture channel from the N Shell :

- G4ECCapture
    -Add tables of PL2/PL1 PM2/PM1 and PN2/PN1 based on  bound electrons radial wave amplitudes
     taken from bambynek et, Rev. Mod. Phys., vol. 49, 1977

    -Compute partial probabilities of subshells PL1,PL2,PM1,PM2,PN1,PN2 from
     the tables  PL2/PL1, PM2/PM1, and PN2/PN1. Valid for allowed transitions.


 4 April 2018  Dennis Wright  radioactive_decay-V10-04-02
---------------------------------------------------------
- G4RadioactiveDecay::ConvolveSourceTimeProfile: switch from std::exp to
  std::expm1 where small exp arguments are expected.  This greatly reduces
  cancellation errors as well as the accumulated error in the variance
  reduction weight calculation.  Although negative weights still occur,
  their size is reduced by about ten orders of magnitude, enough to set
  negative weights to zero.  Fixes bug report #1480.

- G4Radioactivation::ConvolveSourceTimeProfile: same as above.

12 March 2018  Dennis Wright  radioactive_decay-V10-04-01
---------------------------------------------------------
- G4RadioactiveDecay::AddDeexcitationSpectrumForBiasMode: make sure
    last stable nuclide in decay chain is included as secondary.
    Fixes bug 2024.
- G4Radioactivation::AddDeexcitationSpectrumForBiasMode: same as above

14 December 2017  Dennis Wright  radioactive_decay-V10-04-00
------------------------------------------------------------
- re-tag

12 December 2017  Dennis Wright  radioactive_decay-V10-03-21
------------------------------------------------------------
- G4RadioactiveDecay.hh, .cc: add check that environment variable
   G4RADIOACTIVEDATA is pointing to correct directory.  Moved check from
   G4RadioactiveDecay::LoadDecayTable() to ctor.  Fixes bug #1942.

- G4RadioactiveDecayBase.hh, .cc: same change as above


15 November 2017  Dennis Wright  radioactive_decay-V10-03-20
------------------------------------------------------------
- G4RadioactiveDecay::DecayIt in the variance reduction branch:
  replace the line
      if (asecondaryparticle->GetDefinition()->GetBaryonNumber() < 5) {
  with
      if (asecondaryparticle->GetDefinition()->GetPDGStable() ) {
  This will allow the stable nucleus at the end of the decay chain to
  be added to the final state particle stack.  Fixes bug report #2007.


09 November 2017  L.Desorgher  radioactive_decay-V10-03-19
-----------------------------------------------------------
- G4ECDecay: Set the probability for selection of L and M subshells to PL1/PL=0.995,PL2/PL=0.005
             PM1/PM=0.995 and PM2/PM=0.005. Close to Fe55 case.


01 November 2017  V.Ivanchenko  radioactive_decay-V10-03-18
-----------------------------------------------------------
- G4RadioactiveDecay: added StreamInfo method for printing
    radioactive decay parameters; call this method in BuildPhysicsTable;
    do not enable correlated gamma; removed unused EM headers

23 October 2017  Dennis Wright  radioactive_decay-V10-03-17
-----------------------------------------------------------
- G4Radioactivation.hh: fix unused variable warning for isInitilised

20 October 2017  Dennis Wright  radioactive_decay-V10-03-16
-----------------------------------------------------------
- G4Radioactivation.hh: fix unused variable warning for fRemainderLifeTime
- include Gabriele's GNUmakefile fix

20 October 2017  Gabriele Cosmo
-----------------------------------------------------------
- Fixed GNUmakefile for missing dependency on module
  processes/hadronic/models/management.

 5 October 2017  Dennis Wright  radioactive_decay-V10-03-15
-----------------------------------------------------------
- change name of class and file G4RadioactiveDecayRate to
  G4RadioactiveDecayRatesToDaughter

- change name of class and file G4RadioactiveDecayRateVector to
  G4RadioactiveDecayChainsFromParent

- add and fill method G4RadioactiveDecay::ProcessDescription()

- create new classes G4Radioactivation and G4RadioactivationMessenger for
    biased use only

- create new classes G4RadioactiveDecayBase and G4RadioactiveDecayBaseMessenger
    for unbiased use only

- sources.cmake: use new class names mentioned above

13 September 2017  Laurent Desorgher  radioactive_decay-V10-03-14
--------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable()
  Divide the b branching ratio of a specific decay channel read in the database
  by 100 to avoid that it is higher than 1 as prevented by G4VDecayChannel.
  This BR is given in pc in the database while it should be smaller than 1
  when setting it by G4VDecayChannel::SetBR method.
  This solve a bug that appeared  with changes in  G4VDecayChannel from
  tag particles-V10-03-13.

11 July 2017  Dennis Wright  radioactive_decay-V10-03-13
--------------------------------------------------------
- G4RadioactiveDecay::BuildPhysicsTable(): remove all settings of photon
    evaporation; now done in G4PhotonEvaporation and in physics list

- G4ITDecay::DecayIt() remove all manipulations of nuclear polarization - now
    done in G4PhotonEvaporation

16 June 2017  Dennis Wright  radioactive_decay-V10-03-12
--------------------------------------------------------
- G4RadioactiveDecay.hh:
    restore static G4ThreadLocal G4Fragment* polarizedNucleus;
- G4RadioactiveDecay.cc:
    add G4ThreadLocal G4Fragment* G4RadioactiveDecay::polarizedNucleus = nullptr;
    outside of class to avoid Clang compiler error

12 June 2017  Dennis Wright  radioactive_decay-V10-03-11
--------------------------------------------------------
- due to run and compile errors on Mac, go back to radioactive_decay-V10-03-07,
  remove all cached variables and delete instance of photonEvaporation in
  G4RadioactiveDecay::dtor

3 June 2017  Dennis Wright  radioactive_decay-V10-03-10
-------------------------------------------------------
- G4RadioactiveDecay: store polarizedNucleus as a heap object instead of stack
  in order to improve multithreading behavior
- G4ITDecay::DecayIt: change code to deal with polarizedNucleus as a heap object

31 May 2017  Dennis Wright  radioactive_decay-V10-03-09
-------------------------------------------------------
- G4ITDecay: remove unused pointer to daughterNucleus

29 May 2017  Dennis Wright  radioactive_decay-V10-03-08
-------------------------------------------------------
- G4RadioactiveDecay: add static thread local G4Fragment to act as cache for
    nuclear polarization in G4ITDecay
- G4RadioactiveDecay::dtor:  delete photonEvaporation
- G4ITDecay: store in static G4Fragment the nuclear polarization after each
    decay so that it can be used as initial polarization for next decay

12 May 2017  Dennis Wright  radioactive_decay-V10-03-07
-------------------------------------------------------
- G4RadioactiveDecay: instantiate G4PhotonEvaporation in ctor and pass ptr to
    G4ITDecay
- G4ITDecay: remove instantiation of G4PhotonEvaporation and use ptr from
    G4RadioactiveDecay instead

 7 March 2017  Dennis Wright  radioactive_decay-V10-03-06
---------------------------------------------------------
- G4RadioactiveDecay::DecayIt() : add line
  fParticleChangeForRadDecay.ProposeWeight(theTrack.GetWeight());
  to propagate weight of parent track.  Fixes Bug #1946.

21 February 2017  V.Ivanchenko  radioactive_decay-V10-03-05
------------------------------------------------------------
- G4ITDecay: make daughterNucleus a pointer and store previous
    state of the G4Fragment there
- G4RadioactiveDecay - removed G4ThreadLocal G4Fragment

20 February 2017  A. Ribon      radioactive_decay-V10-03-04
------------------------------------------------------------
- G4RadioactiveDecay: switch off temporarily the correlated gamma emission,
                      to limit the non-reproducibility violations.

16 February 2017  V.Ivanchenko  radioactive_decay-V10-03-03
------------------------------------------------------------
- G4ITDecay: fixed old mass variable

14 February 2017  Dennis Wright  radioactive_decay-V10-03-02
------------------------------------------------------------
- G4ITDecay: Vladimir's changes from trunk which fix warnings:
    added check on Z, A, excitation energy in order to be
    sure that correlated gamma may be sampled; reset 4-momentum at rest
    when previous nucleaus is reused; use floating level index
    when a new ion is created

- G4RadioactiveDecay: use Laurent's level tolerence level of 10 eV

10 February 2017  Dennis Wright  radioactive_decay-V10-03-01
------------------------------------------------------------
- G4RadioactiveDecay: add static G4ThreadLocal G4Fragment polarizedNucleus
  to serve as cache for polarized nucleus

- G4RadioactiveDecay::BuildPhysicsTable: added lines
    G4DeexPrecoParameters* param = G4NuclearLevelData::GetInstance()->GetParameters();
    param->SetUseFilesNEW(true);
    param->SetCorrelatedGamma(true);

  in order to enable correlated gamma emission

- G4ITDecay: use G4RadioactiveDecay::polarizedNucleus as a cache to enable
  chain decay with polarization

20 December 2016  Dennis Wright  radioactive_decay-V10-03-00
------------------------------------------------------------
- G4ITDecay::G4ITDecay(): make G4PhotonEvaporation a class member
  and initialize only once to avoid memory churn

- G4ITDecay::DecayIt(): make G4Fragment a data member to avoid its
    deletion at end of this method and keep polarization information

7 November 2016  Dennis Wright  radioactive_decay-V10-02-15
-----------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable: fix segfault by removing deletion of
  empty decay table

4 November 2016  Dennis Wright  radioactive_decay-V10-02-14
-----------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable: fix bug which ignores IT decay when no
  entries found in database

30 September 2016  Dennis Wright  radioactive_decay-V10-02-13
-------------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable: fix unexpected behavior when decay file
  is not found

26 September 2016  Dennis Wright  radioactive_decay-V10-02-12
-------------------------------------------------------------
- G4BetaMinusDecay::DecayIt: add protection for spectrumSampler to try and avoid
  unitialized read error
- G4BetaMinusDecay::SetUpBetaSpectrumSampler: put array creation inside (e0 > 0)
  block

23 September 2016  Dennis Wright  radioactive_decay-V10-02-11
-------------------------------------------------------------
- G4BetaMinusDecay::SetUpBetaSpectrumSampler: add missing initialization of
  spectrumSampler

- G4RadioactiveDecayRate copy ctor: restore verboseLevel initialization as
  per Coverity

 7 September 2016  Dennis Wright  radioactive_decay-V10-02-10
------------------------------------------------------------
- G4NuclearDecay.hh: fixed compilation error by adding Get() method for
  floating level

16 August 2016  Dennis Wright  radioactive_decay-V10-02-09
----------------------------------------------------------
- remove obsolete class G4NuclearDecayChannel and all classes based on it:
  G4AlphaDecayChannel, G4BetaMinusDecayChannel, G4BetaPlusDecayChannel,
  G4ITDecayChannel, G4KshellECDecayChannel, G4LshellECDecayChannel,
  G4MshellECDecayChannel and G4ProtonDecayChannel.hh

- G4RadioactiveDecay: enable reading of floating levels and entry as unique
  nuclides into decay tables

- G4RadioactiveDecay and all specific decay channel classes: allow
  nuclides with floating levels to decay

- this tag works only with the RadioactiveDecay5.0 database or later


25 July 2016  Vladimir Ivanchenko  radioactive_decay-V10-02-08
--------------------------------------------------------
- G4NuclearDecayChannel, G4RadioactiveDecay, G4RadioactiveDecaymessenger
    switch to use new gamma level data instead of old obsolete

16 June 2016  Vladimir Ivanchenko  radioactive_decay-V10-02-07
--------------------------------------------------------
- G4RadioactiveDecay::BuildPhysicsTable: remove initialization of atomic
  deexcitation and leave only G4Exception. Initialisation should be done
  in Physics List

15 June 2016  Dennis Wright  radioactive_decay-V10-02-06
--------------------------------------------------------
- G4RadioactiveDecay::BuildPhysicsTable: remove initialization of atomic
  deexcitation to avoid overwriting its initialization in EM.  Throw
  fatal exception if initialization not done somewhere.

4 April 2016  Dennis Wright  radioactive_decay-V10-02-05
--------------------------------------------------------
- remove obsolete class G4RIsotopeTable

29 March 2016 Laurent Desorgher   radioactive_decay-V10-02-04
-------------------------------------------------------------
- Add production of gamma and electron spectra from deexcitation of excited levels
  in the biased mode. New method G4RadioactiveDecay::AddDeexcitationSpectrumForBiasMode

29 February 2016 Andrea Dotti   radioactive_decay-V10-02-03
-----------------------------------------------------------
- New API for G4VDecayChannel class (avoid MT data-race)
  requires partciles-V10-02-08

16 February 2016 Dennis Wright  radioactive_decay-V10-02-02
-----------------------------------------------------------
- G4RadioactiveDecay::DoDecay: add protection for zero ptr in case of missing
  decay channel

16 December 2015 Dennis Wright  radioactive_decay-V10-02-01
-----------------------------------------------------------
- G4RadioactiveDecay: rename several methods and variables to more closely
  represent their meaning:
    GetTaoTime() -> ConvolveSourceTimeProfile()
    taotime -> convolvedTime
    theDecayTable -> summedDecayTable
    rates -> Acoeff

- added class G4BatemanParameters to eventually replace G4RadioactiveDecayRate

 3 December 2015 Dennis Wright  radioactive_decay-V10-02-00
-----------------------------------------------------------
- retag radioactive_decay-V10-01-24

 2 December 2015 Dennis Wright  radioactive_decay-V10-01-24
-----------------------------------------------------------
- G4BetaMinusDecay.cc, G4RadioactiveDecay.cc: add protection for case
  when endpoint energy is 0 in beta- decay.  This fixes bug #1766.

18 November 2015 Dennis Wright  radioactive_decay-V10-01-23
-----------------------------------------------------------
- use method proposed by Andreas Zoglauer to temporarily fix energy
  non-conservation in IT and EC modes due to incomplete atomic relaxation
  model.  Fixes bug #1756.

12 November 2015 Dennis Wright  radioactive_decay-V10-01-22
-----------------------------------------------------------
- G4RadioactiveDecay::DoDecay() : pass parent mass + 30 MeV to
    G4DecayTable::SelectADecayChannel in order to account for difference in
    mass defects between parent and daughter.  This fixes bug #1793.

29 October 2015 Dennis Wright  radioactive_decay-V10-01-21
----------------------------------------------------------
- remove obsolete class G4BetaFermiFunction and references to it in
  sources.cmake, G4NuclearDecayChannel.  Addresses bug report 1785.

21 October 2015 Luis Sarmiento radioactive_decay-V10-01-20
----------------------------------------------------------
- G4NeutronDecay added to work with the "Neutron" key in the radfiles

9 October 2015 Dennis Wright  radioactive_decay-V10-01-19
---------------------------------------------------------
- G4ITDecay.cc: fix memory leak of G4Fragment* nucleus, G4Fragment* eOrGamma
  from Bug Report #1787

22 September 2015 Dennis Wright  radioactive_decay-V10-01-18
------------------------------------------------------------
- G4RIsotopeTable: add object name in ctor
- G4RadioactiveDecay:  remove G4RIsotopeTable (now redundant) and all associated
  pointers

8 September 2015 Luis Sarmiento radioactive_decay-V10-01-17
-----------------------------------------------------------
- G4ProtonDecay linking problem fixed.

8 September 2015 Luis Sarmiento radioactive_decay-V10-01-16
-----------------------------------------------------------
- Changed G4ProtonDecayChannel by G4ProtonDecay

1 September 2015 Dennis Wright  radioactive_decay-V10-01-15
-----------------------------------------------------------
- G4RIsotopeTable.cc, G4NuclearDecayChannel.cc, G4BetaDecayCorrections.cc,
  G4RadioactiveDecay.cc: add temporary checks on while loops

30 July 2015 S Incerti, V Iv. radioactive_decay-V10-01-14
---------------------------------------------------------
- Fixing Bugzilla #1727

13 July 2015 A Dotti     radioactive_decay-V10-01-13
----------------------------------------------------
- Fixing coverity issues #60965 #60966

22 May 2015 L Desorgher  radioactive_decay-V10-01-12
----------------------------------------------------
- G4ECDecay use of daughter atom instead of parent atom when calling atomic relaxation


13 April 2015 Dennis Wright  radioactive_decay-V10-01-11
--------------------------------------------------------
- G4RadioactivedDecay::LoadDecayTable : implement Laurent's changes back to
    level search using tolerance (now 0.1 keV)
- G4RadioactivedDecay::AddDecayTable : bug fix in combination of branching
    ratios (brs[1] -> brs[2] in beta+ decay)

10 March 2015 Dennis Wright  radioactive_decay-V10-01-10
--------------------------------------------------------
- re-enable setting of ARM on or off (default is on) in G4ITDecay and
  G4ECDecay
- also include Michel Maire's change from 5 March

05 March 2015 Michel Maire
--------------------------
- G4RadioactiveDecay::BuildPhysicsTable() : add p->SetAuger(true)

27 February 2015 Dennis Wright  radioactive_decay-V10-01-09
-----------------------------------------------------------
- improved efficiency of neutrino energy sectrum calculation in
  G4BetaPlusDecay and G4BetaMinusDecay
- use Q value and electron binding energy to calculate CM momentum
  in G4ECDecay

11 February 2015 Andrea Dotti   radioactive_decay-V10-01-08
-----------------------------------------------------------
- Temporary removing sharing of decay table map between
  threads to verify if failures in MT disappear

29 January 2015  Dennis Wright  radioactive_decay-V10-01-07
-----------------------------------------------------------
- put autolock on new of master decay map

27 January 2015  Dennis Wright  radioactive_decay-V10-01-06
-----------------------------------------------------------
-G4BetaMinusDecay::DecayIt: fix FPE error in sqrt
-G4BetaPlusDecay::DecayIt: fix possible FPE error in sqrt

22 January 2015  Dennis Wright  radioactive_decay-V10-01-05
-----------------------------------------------------------
- G4BetaMinusDecay.cc: fix divide by zero neutrino energy
- G4BetaPlusDecay.cc: fix zero pointer for spectrumSampler

16 January 2015  Gabriele Cosmo  radioactive_decay-V10-01-04
------------------------------------------------------------
- Corrected GNUmakefile and sources.cmake scripts to add missing dependency
  on electromagnetic/lowenergy module.

15 January 2015  Dennis Wright  radioactive_decay-V10-01-03
-----------------------------------------------------------
- G4RadioactiveDecay::BuildPhysicsTable: change code to create new atomic
  deexcitation only if one doesn't already exist
- G4ECDecay.cc: re-install check for zero pointer to atomic deexcitation

12 January 2015  Dennis Wright  radioactive_decay-V10-01-02
-----------------------------------------------------------
- G4RadioactiveDecay::BuildPhysicsTable : register G4UAtomicDeexcitation to
  G4LossTableManager so that electron shells can be found.  Set Fluo and
  Auger flags to true, PIXE to false
- G4ECDecay.cc:  re-arrange code to accommodate above change

19 December 2014  Dennis Wright radioactive_decay-V10-01-01
-----------------------------------------------------------
- use G4NuclearDecay as the new base class for all the decay channels.  This
  replaces G4NuclearDecayChannel
- all decay channels (G4AlphaDecay, G4BetaMinusDecay, G4BetaPlusDecay,
  G4ITDecay and G4ECDecay) modified to use new base class
- G4NuclearDecayChannel removed from G4RadioactiveDecay

08 December 2014  Dennis Wright radioactive_decay-V10-01-00
----------------------------------------------------------
- added new classes G4BetaMinusDecay, G4BetaPlusDecay, G4ECDecay and G4ITDecay
  to streamline inheritance chain and reduce non-reproducibility

06 November 2014 Dennis Wright radioactive_decay-V10-00-11
----------------------------------------------------------
- G4NuclearDecayChannel: remove upper limit on number of gammas produced by
  G4PhotoEvaporation.  Fixes exception.

04 November 2014 Dennis Wright radioactive_decay-V10-00-10
----------------------------------------------------------
- G4NuclearDecayChannel::DecayIt: allow up to three fragments from
  G4PhotoEvaporation::BreakUp.  This fixes the exception seen when there is
  more than one gamma

03 November 2014 Dennis Wright radioactive_decay-V10-00-09
----------------------------------------------------------
- added new class G4AlphaDecay to streamline inheritance chain and use Q to
    calculate decay product energies
- G4RadioactiveDecay.cc: use G4AlphaDecay instead of G4AlphaDecayChannel

- G4NuclearDecayChannel.cc: check number of gammas returned from
    G4PhotoEvaporation and take different action in each case of 0, 1, or 2
    gammas

21 October 2014  Dennis Wright radioactive_decay-V10-00-08
----------------------------------------------------------
- G4RadioactiveDecay dtor: add delete dkmap to fix memory leak
- G4RadioactiveDecay.hh : set size of decayWindows to 100 to fix array overrun

13 October 2014  Dennis Wright radioactive_decay-V10-00-07
----------------------------------------------------------
- G4NuclearDecayChannel, G4BetaDecayCorrections, G4RadioactiveDecay: made
  several more variables const

13 October 2014  Dennis Wright radioactive_decay-V10-00-06
----------------------------------------------------------
- G4RadioactiveDecay::GetMeanFreePath(): make local pointer to
  G4ParticleDefinition const

- G4RadioactiveDecay::LoadDecayTable(), GetDecayTable(), DoDecay():
  make G4ParticleDefinition arguments const

12 September 2014 Luis Sarmiento radioactive_decay-V10-00-05
------------------------------------------------------------
- Fixed file missing in commit that enables the proton decay

06 August 2014 Luis Sarmiento radioactive_decay-V10-00-04
---------------------------------------------------------
- proton decay added. It was coded mimicking the alpha decay.
  The word in the data file is "Proton"
- dummy double proton decay "Proton2" added for consistency with
  the double beta decays

12 June 2014  Dennis Wright radioactive_decay-V10-00-03
-------------------------------------------------------
- fix memory leak in dtor of G4RIsotopeTable.cc from bug report 1617

10 June 2014  Dennis Wright radioactive_decay-V10-00-02
-------------------------------------------------------
- G4RadioactiveDecay::GetMeanFreePath: tau = -1001 now indicates a nuclide with
  very short lifetime or that was not listed in G4NuclideTable.  In that case,
  set pathlength to DBL_MIN.  This fixes bug #1582.

20 February 2014  Dennis Wright radioactive_decay-V10-00-01
-----------------------------------------------------------
- G4RadioactiveDecayMode.hh, .cc: add double beta- decay and double beta+ decay
  to enum
- G4RadioactiveDecay.cc: add dummies for double beta- decay and double beta+
  decay in order to partially fix Bug 1560: long ground state lifetimes with no decay
  scheme

6 February 2014  Dennis Wright radioactive_decay-V10-00-00
----------------------------------------------------------
- G4NuclearDecayChannel::DecayIt: remove enforcement of single gamma emission

31 January 2014  Dennis Wright radioactive_decay-V09-06-22
----------------------------------------------------------
- G4RadioactiveDecay::~G4RadioactiveDecay: fix memory leak by deleting decay
    table map
- G4NuclearDecayChannel::DecayIt: enforce single gamma emission from
    deexcitation-> BreakUp() to guarantee only two elements in G4FragmentVector
- remove obsolete hbook files from test/betatest

24 November 2013  Dennis Wright radioactive_decay-V09-06-21
-----------------------------------------------------------
- G4RadioactiveDecay::GetMeanFreePath: currently GetPDGStable() returns stable
    for isomers.  This prevented isomers from decaying in flight.  Fix by
    replacing GetPDGStable() with lifetime == -1 as test for nuclide stability.
    Also clean up calculation of pathlength.

- G4NuclearDecayChannel: clean out unused print-outs

13 November 2013  Dennis Wright radioactive_decay-V09-06-20
-----------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable: fix endpoint energy loaded into decay
    channel for beta+ decay - subtract 2 electron masses

11 November 2013  Dennis Wright radioactive_decay-V09-06-19
-----------------------------------------------------------
- fixed bugs causing decay chains to stop prematurely
- G4NuclearDecayChannel::DecayIt:
    in the case of IT, get excitation energy from parent nucleus, not daughter
            (const G4Ions*)(G4MT_parent))->GetExcitationEnergy()
    remove subtraction of gamma energy from variable daughterExcitation

- G4RadioactiveDecay::GetDecayTable: search internal library of decay tables
    using name of ion, not integer key - this fixes the "level 9" problem

7 November 2013  Dennis Wright radioactive_decay-V09-06-18
----------------------------------------------------------
- G4NuclearDecayChannel::DecayIt: allow explicit decay of IT channels
  and send residual nucleus to final state for tracking
- G4RadioactiveDecay: clean up

21 October 2013  Dennis Wright radioactive_decay-V09-06-17
----------------------------------------------------------
- G4NuclearDecayChannel::DecayIt: in loop to search for isomer levels, add
  Andrea Dotti's protections and fatal exception for zero pointers when daughter
  ions are not found

14 October 2013  Dennis Wright radioactive_decay-V09-06-16
----------------------------------------------------------
- G4NuclearDecayChannel::DecayIt: add an electron mass to the parent nucleus
  in case of electron capture.  This fixes the G4GeneralPhaseSpaceDecay::Pmx()
  mass deficit warning.

4 October 2013  Dennis Wright radioactive_decay-V09-06-15
---------------------------------------------------------
- G4NuclearDecayChannel: change class member daughterExcitation
  from TLS back to plain G4double - fixes infinite loop in decay chain

1 October 2013  Makoto Asai  radioactive_decay-V09-06-14
--------------------------------------------------------
- G4NuclearDecayChannel : Fixed thread-safety and reproducability issues.

9 September 2013  Makoto Asai  radioactive_decay-V09-06-13
----------------------------------------------------------
- G4RadioactiveDecay::LoadDecayTable() : modify to read data file only once
  for multi-threaded mode.

5 September 2013  Dennis Wright  radioactive_decay-V09-06-12
------------------------------------------------------------
- G4NuclearDecayChannel::DecayIt() : remove unused variable and argument
  (theParentMass)

16 August 2013  Dennis Wright  radioactive_decay-V09-06-11
----------------------------------------------------------
- cleanup and retag

12 August 2013  Dennis Wright  radioactive_decay-V09-06-10
----------------------------------------------------------
- G4RadioactiveDecay:
    move registry of isotope table from BuildPhysicsTable to ctor.
    This fixes problem of missing secondaries and is probably OK for MT.

- G4NuclearDecayChannel: use integer metastable state levels instead of
    energy values.  Where only energy is known search for nearest integer
    level.

12 July 2013  Dennis Wright  radioactive_decay-V09-06-09
--------------------------------------------------------
- G4RadioactiveDecay:
    to accommodate multi-threading remove the setting of nuclear decay tables
    to G4ParticleDefinition and replace with local decay table map

    remove IsLoaded() method and data member LoadedNuclei which are now
    redundant due to above changes

20 June 2013  Andrea Dotti   radioactive_decay-V09-06-08
--------------------------------------------------------
- G4RIsotopeTable.cc : fix bug in checking if DB files have
  been loaded (accessing map without protection)

20 June 2013  Dennis Wright  radioactive_decay-V09-06-07
--------------------------------------------------------
- G4RadioactiveDecay.cc : fix memory leak by adding
  delete theIsotopeTable;
  to dtor

18 June 2013 V. Ivanchenko  radioactive_decay-V09-06-06
--------------------------------------------------------
- G4RadioactiveDecay, G4NuclearDecayChannel,
  G4BetaMinusDecayChannel, G4BetaPlusDecayChannel - use
    typedefs from Randomize.hh instead of CLHEP

18 June 2013 V. Ivanchenko  radioactive_decay-V09-06-05
--------------------------------------------------------
- G4RadioactiveDecay - initialise Isotope table only for master

18 June 2013 V. Ivanchenko  radioactive_decay-V09-06-04
--------------------------------------------------------
- G4RadioactiveDecay - moved initialisation of Isotope table from
    the constructor to BuildPhysicsTable method

6 June 2013  Gabriele Cosmo  radioactive_decay-V09-06-03
--------------------------------------------------------
- Replaced keyword 'ERROR' with 'RDM_ERROR' to avoid clashes with
  specific macros defined in Windows system.

8 March 2013  Gabriele Cosmo  radioactive_decay-V09-06-02
---------------------------------------------------------
- Fixed use of internal MT data in G4NuclearDecayChannel.

1 January 2013  Laurent Desorgher  radioactive_decay-V09-06-01
------------------------------------------------------------
- G4RadioactiveDecay: fix partly bug 1359
	-Force the boost of the decay products in line 1598
	-The parent energy considered in the boost is the total energy of the fully stripped parent ion  rather than
	 the total energy of dynamic ion where the energy of shell electrons is taken into account
	-Some difference in momentum and energy balance is still observed but much less than before


13 November 2012  Dennis Wright  radioactive_decay-V09-05-12
------------------------------------------------------------
- G4NuclearDecayChannel: fix Coverity bugs 15098, 15099, 37711 uninitialized
  variables, and bug 14520, dereference of possible null pointer
- G4RIsotopeTable: add assignment operator as per Coverity bug 37113
- G4RadioactiveDecay.hh - remove extra include of G4RadioactiveDecaymessenger.hh

04 October 2012  Gabriele Cosmo  radioactive_decay-V09-05-11
------------------------------------------------------------
- G4RIsotopeTable.cc: added inclusion of units header...

03 October 2012  Vladimir Ivantchenko  radioactive_decay-V09-05-10
------------------------------------------------------------------
- G4RadioactiveDecay - added isInitialised flag to reduce
    initialisation printout

03 October 2012  Vladimir Ivantchenko  radioactive_decay-V09-05-09
------------------------------------------------------------------
- G4RadioactiveDecay - removed internal PhysicsVector of mean free
    path and implement the same algorithm as one of G4Decay,
    PhysicsVector here useless because introduce extra objects but
    do not save any CPU

02 October 2012  Vladimir Ivantchenko  radioactive_decay-V09-05-08
------------------------------------------------------------------
- G4RadioactiveDecay - modified BuildPhysicsTable method: substitute
    obsolete methods to access PhysicsVector, add spline, add
    initialisation of atomic de-excitation (needed for the case when
    radioactive decay is used alone), modified GetMeanFreePath -
    sabstitute obsolete access method to the PhysicsVector
- source.cmake and GNUmakefile - remove dependence on emlowenergy

22 September 2012  Laurent Desorgher  radioactive_decay-V09-05-07
--------------------------------------------------------------
- Reset a print message in G4RIsotopeTable to verbose level 1 to avoid some systematic printing for some decays.
  Problem reported by Michel Maire.

21 September 2012  Gabriele Cosmo  radioactive_decay-V09-05-06
--------------------------------------------------------------
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

27 July 2012  Laurent Desorgher  radioactive_decay-V09-05-05
------------------------------------------------------------
 -Set a flag isAllVolumesMode in G4RadioactiveDecay to ensure  that  when
  the geometry is changed, the AllVolume Mode is still considered.
  Problem reported by Tatsumi Koi.

 -Use of evaporation nuclear level data in G4RIsotope::GetMeanLifeTime
 	for getting the mean life of an exited nuclei, when it is not provided in
 	radioactive decay database. Solving of a problem reported by Tatsumi Koi.


10 July 2012  Laurent Desorgher  radioactive_decay-V09-05-04
---------------------===------------------------------------
 -G4RadiocativeDecay::LoadDecayTable
 	Add LoadedNuclei.push_back(theParentNucleus.GetParticleName())
 	also for the case where user data files are used. Correction for bug
    1324. Changes proposed by Joa L.

27 June 2012  Dennis Wright  radioactive_decay-V09-05-03
--------------------------------------------------------
- G4BetaDecayCorrections::ctor : to fix bug for beta+ decay, replace
  alphaZ = fine_structure_const*std::abs(Z);
     with
  alphaZ = fine_structure_const*Z;
- G4BetaDecayCorrections::FermiFunction : replace
  if (Wprime < 1.) Wprime = W;
    with
  if (Wprime <= 1.00001) Wprime = 1.00001;
  to fix discontinuity in electron screening energy

  Above changes suggested by Ryan Fitzgerald (NIST)

11 June 2012  Dennis Wright  radioactive_decay-V09-05-02
--------------------------------------------------------
- replace shadowed variable "s" in G4NucleusLimits.cc, G4BetaDecayType.cc
  and G4RadioactiveDecayMode.cc.  Replace shadowed variable "theDecayTable"
  in G4RadioactiveDecay.cc

01 May 2012  Laurent Desorgher  radioactive_decay-V09-05-01
---------------------------------------------------------
- G4RIsotopeTable : Add the reading of user data  files  in order to take
   into account the life time given in these files. (Bug reported by M. Maire)
- G4RadioactiveDecay: Put the activation development of Fan Lei from trunk in
   the tagged release.

17 March 2012  Dennis Wright  radioactive_decay-V09-05-00
---------------------------------------------------------
- G4RIsotopeTable::GetMeanLifeTime : change length of inputChars to 100
  to fix infinite loop when excitation energy is non-zero

23 November 2011  L.Desorgher(radioactive_decay-V09-04-14)
---------------------------------
- G4NuclearDecayChannel.cc: add initialisation of dynamicDaughter in
  line 455 to avoid segmentation fault for some decays.

20 November 2011  V.Ivanchenko(radioactive_decay-V09-04-13)
---------------------------------
-- G4NuclearDecayChannel.cc: add check if deexcitation is enabled

20 November 2011  V.Ivanchenko(radioactive_decay-V09-04-12)
---------------------------------
-- G4NuclearDecayChannel.cc:
        - migration to the new design of atomic deexcitation,
          activation of deexcitation via EM UI commands or
          G4EmProcessOptions as it is shown in EM examples
-- GNUmakefile and source.cmake - dependence on processes/cuts is added

03 November 2011  Laurent Desorgher(radioactive_decay-V09-04-11)
---------------------------------
--G4NucleusLimits.cc:
	-Suppress the Z<100 limit
--G4RadioactiveDecay:
	-Add the reading of Spontaneous Fission mode from data files
--G4RadioactiveDecayMode:
	-Add SpFission mode

18 October 2011 Laurent Desorgher(radioactive_decay-V09-04-10)
---------------------------------
--G4RadioactiveDecay:
   -Add possibility for the user to load its own decay file.
   -Set halflifethreshold negative by default to allow the tracking of all
     excited nuclei resulting from a radioactive decay
--G4RadioactiveDecayChannel:
   -Correction to allow the atomic relaxation of de-excited nuclei produce
     also during beta and alpha decay.  Problem ersaed and solution proposed
     by Ko Abe
--G4RadioactiveDecayMessenger:
   -Add macro commands  /grdm/setRadioactiveDecayFile and
                        /grdm/setPhotoEvaporationFile

26 September 2011  Dennis Wright  (radioactive_decay-V09-04-09)
---------------------------------------------------------------
- fix compiler bug in G4BetaDecayCorrections switch/case
- change exception codes to HAD_RDM_00n

15 September 2011  Dennis Wright  (radioactive_decay-V09-04-08)
---------------------------------------------------------------
- replace G4HadronicException with G4Exception.  Files affected:
  G4RadioactiveDecay.cc, G4RIsotopeTable.cc

15 September 2011  Dennis Wright  (radioactive_decay-V09-04-07)
---------------------------------------------------------------
- add G4BetaDecayType.hh, .cc and G4BetaDecayCorrections.hh, .cc names
  to sources.cmake

- upgrade to new G4Exception.  Files affected: G4RadioactiveDecay.cc,
  G4NuclearDecayChannel.cc

9 September 2011  Dennis Wright  (radioactive_decay-V09-04-06)
--------------------------------------------------------------
- G4RadioactiveDecay.cc: mistakenly removed H. Kurasige's local time fix
  from tag -04.  Re-instate it here.

9 September 2011  Dennis Wright  (radioactive_decay-V09-04-05)
--------------------------------------------------------------
- G4RadioactiveDecay.hh, .cc: add new Fermi function and forbidden beta
    decay spectral shapes
- create G4BetaDecayType, an enum of beta transition types
- create G4BetaDecayCorrections, a class containing new Fermi function and
    forbidden transition calculations

9 July 2011  Dennis Wright  (radioactive_decay-V09-04-04)
---------------------------------------------------------
- G4RadioactiveDecay.cc : add H. Kurasige's fix of local decay time
  (bug report 1224)

5 June 2011  Dennis Wright  (radioactive_decay-V09-04-03)
----------------------------------------------------------------
- G4RadioactiveDecay.cc: set process subtype (fRadioactiveDecay = 211)

1 June 2011  Michael Kelsey (SLAC) (radioactive_decay-V09-04-02)
----------------------------------------------------------------
- G4RadiactiveDecay:  Add data members and Set/Get functions to support
  directional biasing ("collimation") of visible decay daughters (e+, e-,
  gamma, neutron, and alphas, but not neutrinos or the residual nucleus).

- G4RadiactiveDecaymessenger:  Add commands to interface with directional
  biasing.

31 May 2011  L.Desorgher (radioactive_decay-V09-04-01)
------------------------------------------------------
- Fixing to bug 1662 (remove of a warning).
  Adding of a check for maximum shell number, in line 438-440
  of G4NuclearDecayChannel.

19 May 2011  Dennis Wright (SLAC) (radioactive_decay-V09-04-00)
---------------------------------------------------------------
- G4RadioactiveDecay.cc: fix gcc 4.6 warning: variable j set but not
  used

 3 December 2010  Dennis Wright (SLAC) (radioactive_decay-V09-03-05)
--------------------------------------------------------------------
- G4NuclearDecayChannel: remove unused variables BetaSimple, FermiFN
- G4RadioactiveDecay::LoadDecayTable(): initialize ModeTotalBR[] to 0.0
- G4RadioactiveDecay::AddDecayRateTable(): delete theDecayTable to fix
    memory leak
- G4RadioactiveDecay::SetSourceTimeProfile(): fix array overrun, change
    SBin[99], SProfile[99] to SBIN[100], SProfile[100]
- G4RadioactiveDecay::SetDecayBias(): fix array overrun, change
    DBin[99], DProfile[99] to DBIN[100], DProfile[100]
- G4RadioactiveDecay::DecayIt(): to avoid possible dereferencing of
    zero ptr when in branching ratio bias mode, fill tempprods as if no
    biasing active

- G4RadioactiveDecayRate ctor: initialize Z, A, E, generation and
    verboseLevel to 0

18 November 2010  F.Lei (radioactive_decay-V09-03-04)
-----------------------------------------------------
- src/G4RadioactiveDecay.cc:1593 get rid of the compalition warning with
  gcc4.5.1

17 November 2010  F.Lei (radioactive_decay-V09-03-03)
- Completed the implementation of generating the activity table in VR mode
- Set the default h-l threshold to 1 micros in VR mode.
- General improvement in VR mode implementation.
- G4RadioactiveDecaymessenger.cc: icmCMD,armCMD & hlThreshold are available
  at all states.

11 November 2010  F.Lei
- further updates to G4RadioactivityTable.hh .cc and G4RadioactiveDecay.hh .cc

10 November 2010  Dennis Wright (radioactive_decay-V09-03-02)
-------------------------------------------------------------
- G4RadioactiveDecay.cc : replaced incorrect use of "->" with "." for G4Track
  in DecayIt(const G4Track&, )

- G4RadioactivityTable.cc : add include file for <map> and replace map
  with std::map in method AddIsotope

29 Oct 2010 F. Lei
------------------
- Added G4RadioactivityTable.hh .cc files for tallying the accumulated radioactivitties in VR mode
- Added in G4RadioactiveDecay.hh:
	std::vector<G4RadioactivityTable*> GetTheRadioactivityTables() {return theRadioactivityTables;}
	// this is how the radioactivity tables can be retrieved by the user
	std::vector<G4RadioactivityTable*>	theRadioactivityTables;
	std::map<G4int,G4int>		  decayWindows;
- In G4RadioactiveDecay.cc:
	starting line 1291: changes need to setup the radioactivity tables
	line 1624: include the track weight in the weight calculation
	line 1627: add the rate to the radioactivity tables
- improved formatting of all the class files


11 Oct 2010 F. Lei (radioactive_decay-V09-03-01)

- G4RadioactiveDecay.cc: apply SetICM(), SetARM() & SetHLThreshold() in all decay modes
- G4RadioactiveDecay.cc:  halflifethreshold = 0.*second;
- G4RadioactiveDecaymessenger.cc: removed (>0.) restrictions to hlCMD
- G4RadioactiveDecaymessenger.cc: icmCMD,armCMD & hlCMD are available at PreInit state only.

26 May 2010 Dennis Wright (radioactive_decay-V09-03-00)
-------------------------------------------------------
tag HEAD to submit for testing

11 May 2010 F.Lei
- G4RadioactiveDecay.cc::LoadDecayTable:line 931 create a decaytable for isomers not included in RDM database and assume
  they all under go IT decay.
- G4RadioactiveDecay.cc: line 1434 after DoDecay() check if there is any secondary produced. Kill the track if not to
  prevent it entering a infinite loop
- G4RadioactiveDecay.cc: line 1459. make sure the propertime is positive. negative case occures when the isomer is not in
  RDM database and its f-l is set to -1 by default.
- G4NuclearDecayChannel.cc: Added initialisation to all three constructors:
  halflifethreshold = 1e-6*second;
  applyICM = true;
  applyARM = true;

10 May 2010 F.Lei
- G4RadioactiveDecay.hh:line 264 corrected typo as pointed out by Luciano Pandola
- G4RadioactiveDecay.cc: insert a special treatment for K-40 beta decay at line 774 as suggested by Mauro Taiuti.
  This fixes bug #1068
  applied SetICM() SetARM() and SetHLThreshold() to a decay channel is created.
- G4NuclearDecayChannel.cc: line 396. Limit the shell index to < 7, as required by the ARM.
  line 329: change to use BreakUp rather than BreakItUp so to limit to one transition per step when ICM is applied (bug #1001)
  (Note: changes have also been made in 30/08/2008 to use the correct atomic shell index and to conserve energy atfer ARM,
   these problems were pointed out by Andreas Zoglauer in the bug report).
- G4RadioactiveDecay.hh & G4NuclearDecayChannel.hh: added private member data "applyICM" "applyARM" "halflifethresold"
  and their public Set methods SetICM(), SetARM() and SetHLThreshold().
- G4RadioactiveDecaymessenger: added the UICommands for SetICM, SETARM and SetHLThreshold.

24 July 2009 V.Ivanchenko (radioactive_decay-V09-02-00)
- GNUmakefile - added dependence on electromagnetic/utils

09 July 2008 Dennis Wright (radioactive_decay-V09-01-02)
--------------------------------------------------------
- replace exit() with G4Exception in G4RadioactiveDecay and G4NuclearDecayChannel

17 June 2008 Fan Lei (radioactive_decay-V09-01-01)
- GRIsotopeTable.cc
	i) change default verbosity level to 1
	ii) correct use G4cout instead of G4cerr

01 May 2008 Fan Lei (radioactive_decay-V09-01-00)
- G4NuclearDecayChannel.cc
	i) ARM is no longer applied in photon-evaporation for IT mode and
	is now applied at the end in DecayIt()
	ii) use the correct shell index in appling ARM and switch on Auger
	electron production
        iii) check the residual kinetic energy after ARM and add it to the atom

21 June 2007 Fan Lei (radioactive_decay-V08-03-00)
- Minor changes to remove compilation warnings on Windows
   src\G4RIsotopeTable.cc(204): warning C4804:
  '-' : unsafe use of type 'bool' in operation
   src\G4RadioactiveDecay.cc(690): warning C4804:
  '-' : unsafe use of type 'bool' in operation

10 November 2006 Fan Lei (radioactive_decay-V08-01-01)
- G4NuclearDecayChannel.cc: added the capability of handling decay emission of proton or neutron
for decays of He5 (alpha+n) and Li5 (alpha+p). bug#852

5 July 2006 Dennis Wright (radioactive_decay-V08-01-00)
- G4NuclearDecayChannel::BetaDecayIt() : another check for negative sqrt
  argument in daughtermomentum[1].

29 May 2006 Dennis Wright (radioactive_decay-V08-00-03)
   (tagging change by Fan Lei on 17 Feb 2006)
-  G4RadioactiveDecay.cc : in method IsApplicable() add test for negative
   lifetime

16 February 2006 Vladimir Ivanchenko (radioactive_decay-V08-00-02)
-  G4RadioactiveDecay::IsApplicable - fix problem connected with
   8.0 particle design

16 December 2005 Dennis Wright (radioactive_decay-V08-00-01)
- G4NuclearDecayChannel::BetaDecayIt() : check for negative sqrt argument in
  daughtermomentum[1]. Response to Bug report #822.

24 November 2005 Dennis Wright (radioactive_decay-V07-01-02)
- more <sstream> migration: replace istrstream with istringstream in
   G4RIsotopeTable.cc, G4UIcmdWithNucleusLimits.cc

24 November 2005 Dennis Wright (radioactive_decay-V07-01-01)
- migrated two remaining files to <sstream>:
   G4RIsotopeTable.cc, G4UIcmdWithNucleusLimits.cc

09 November 2005 Gabriele Cosmo (radioactive_decay-V07-01-00)
- Implemented migration to <sstream> from deprecated <strstream>.
- Added changes for support of CLHEP-2.0.X.
- Replaced usage of NULL with 0.

02 June 2005 Fan Lei (radioactive_decay-V07-00-01)
- Added lines 667-669 to G4NuclearDeceyChannel.cc, to avoid rounding erros
  in cos calculations. A bug reported by Ben Morgan
- Removed the test subdirectory

07 Mar 2005 Fan Lei (radioactive_decay-V07-00-00)
- Added line 457, G4NuclearDeceyChannel.cc to fix bug #711

10 Nov 2004 Fan Lei (radioactive_decay-V06-02-01)
- Added G4MshellECDecayChannel.hh and changed G4RadioactiveDecay.cc accordingly.

09 Nov 2004 Fan Lei
- Changes to G4RaioactiveDecay.cc (radioactive_decay-V06-02-00)
	i) better handling to incomplete data files;
	ii) correct treatment of metastables as initial tracks in VR mode;
  	iii) default decay window in VR model to 9.9x10^9 - 10^10 seconds;
	iv) individual time stamp for splitted isotope;
	v) bug fix #662;
	vi) bug fix #396.
- Changes to G4NuclearDecayChannel.cc
	i) apply atomic relaxation only to 5 < z < 101
	ii) no more fast/slow beta decay mode with a faster 3-body decay implementation.
- G4RIsotopeTable.cc: line 223, no longer reset the excitaion energy.


12 Jun 2003 Gabriele Cosmo (radiative_decay-V05-01-00)
- Fix in G4ITDecayChannel.hh and G4RadioactiveDecay.cc for porting
  on Windows .NET compiler: changed signature in constructor for
  G4ITDecayChannel to use G4Ions instead of G4ParticleDefinition.

03 Jan 2003 Fan Lei
- Bug (test18) fix in G4NuclearDecayChannel.cc

15 Nov 2002 Fan Lei ((radiative_decay-V04-01-01)
- Added linked to atomic relaxation model after EC and
  IT/IC(internal conversion).
- updated GNUMakefile to include electromagnetic/lowenergy/include
- Updated the database

13 Nov 2001 Fan Lei (radiative_decay-V03-02-03)
- Minor bug fix

26 Oct 2001 Fan Lei (radiative_decay-V03-02-02)
- Removal of compilation warnings under gcc 2.95.2
- Bug fixing for beta+ decay (wrong Q value was used)

20 Apr 2001 Gabriele Cosmo (radiative_decay-V03-01-00)
- Modified G4RadioactiveDecay.cc according to recent migration to STL vector
  for the geometry domain (tag "geometry-V03-01-00").

01 Nov 2000 Fan Lei (radiative_decay-V02-00-02)
- Added the missing line " ee = e0+1.; " to line 763 in
  G4RadioactiveDecay.cc

27th Oct 200   fan Lei  (radiative_decay-V02-00-01)
- Add a fast simulation mode for beta decays

25th Oct 2000  fan lei  (radiative_decay-V02-00-00)
- Added 'const' to line 1185 of G4RadioactiveDecay.cc to cowork with
  tag Track-V02-00-00

27th June 2000  Fan Lei  (radiative_decay-V01-01-04)
- Fix for DEC-cxx debug non-ISO.
- Update test log files.

15th June 2000  Fan Lei (radiative_decay_V01-01-03)
- Minor fix on Linux

15th June 2000  Fan Lei (radiative_decay_V01-01-02)
- ISO compliance.

* Initial tag by Hans-Peter Wellisch (radiative_decay_V01-01-00)
