# Category had-hadronization 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!

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

## 2024-08-21 Gabriele Cosmo (had-hadronization-V11-02-01)
- Fixed reported Coverity defect in G4NucleiModel for redundant assignment
  in G4LundStringFragmentation::Sample4Momentum().

## 2024-02-02 Vladimir Ivanchenko (had-hadronization-V11-02-00)
-  G4ExcitedStringDecay - fixed minor memory leak suggested by Coverity,
     which may never happen

## 2022-10-19 Alberto Ribon (had-hadronization-V11-00-03)
   Change suggested by Vladimir Uzhinsky:
-  G4HadronBuilder, G4VLongitudinalStringDecay, G4LundStringFragmentation,
   G4QGSMFragmentation, G4ExcitedStringDecay : in order to describe the
   NA61/SHINE data on K*0 and phi mesons production in proton-proton
   interactions, different probabilities were introduced for the ratios
   between pseudo-scalar and vector meson production. These ratios are
   the following: for ordinary mesons from u- and d- quarks, the ratio is
   0.5/0.5; for strange mesons the ratio is 0.4/0.6; for mesons with
   hidden strangeness (as for phi), the ratio is 0.3/0.7.
   This approach is similar to the one adopted in Pythia8.
   It is also assumed that the probabilities for hidden strangeness (0.3/0.7)
   apply for mesons with hidden charm and beauty.
-  G4LundStringFragmentation : few changes were introduced for a special
   treatment of last string decay to improve the yield of anti-Xi hyperons
   in proton-proton interactions, according to the NA61/SHINE data.
   Moreover, some parameters have been tuned to better describe the
   NA61/SHINE data on various particles produced in proton-proton
   interactions.

## 2022-07-04 Alberto Ribon (had-hadronization-V11-00-02)
   Change suggested by Vladimir Uzhinsky:
-  G4VLongitudinalStringDecay.cc : brought back the value (0.5) of the
   mixing between (rho0 and omega) vector mesons as it was originally
   until G4 10.0.
   This should describe better NA61/SHINE experimental data.
   The change might affect hadronic showers, giving that the various
   vector mesons have different decay rates into neutral pions.

## 2022-06-07 Alberto Ribon (had-hadronization-V11-00-01)
   Changes made by Vladimir Uzhinsky:
-  G4HadronBuilder : a new argument is added in the constructor, and 
   a new data member is added to the class.
   This is needed to set a special mixing of pseudo-scalar and vector mesons
   for s-sbar mesons. This is introduced to describe phi-meson production
   in proton-proton interactions measured by NA61/SHINE.
-  G4VLongitudinalStringDecay : the probability of pseudo-scalar meson
   production has been tuned to describe K*0 meson production in
   proton-proton interactions according to NA61/SHINE data. 
   Moreover, a new parameter (probability of pseudo-scalar meson production
   in s-sbar mesons) is introduced to increase the phi-meson
   yield in proton-proton interactions.
   Fixed also a bug in mixing eta_prime and phi mesons in the quark systems
   d-dbar, u-ubar and s-sbar.
-  G4LundStringFragmentation : few changes were introduced for a special
   treatment of the last string decay in the case of ss-q or ss-qq, 
   ss-sbar sbar last string decay. This improves the yield of anti-Xi
   hyperons in proton-proton interactions according to the NA61/SHINE data.

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

---

# History entries prior to 11.0

16-Apr-2021 B. Morgan        (had-hadronization-V10-07-01)
- Migrate build to modular CMake API

13-Apr-2021 A. Ribon         (had-hadronization-V10-07-00)
- 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.

19-Oct-2020 A. Ribon         (had-hadronization-V10-06-08)
-  G4VLongitudinalStringDecay : fix by Vladimir Uzhinsky in the method
   ProduceOneHadron to remove an inconsistency in the treatment of
   low-mass strings with respect to the method
   G4QGSMFragmentation::FragmentString .
   (As consequence of this inconsistency, interactions with fewer
    intra-nuclear collisions were favored, therefore producing
    fewer secondary hadrons.)

17-Oct-2020 V. Ivanchenko    (had-hadronization-V10-06-07)
-  G4VLongitudinalStringDecay, G4QGSMFragmentation - added protections
   for arguments of G4Exp to avoid precision lost in same cases

29-Sep-2020 A. Ribon         (had-hadronization-V10-06-06)
Changes made by Vladimir Uzhinsky in order to improve the agreement
of FTF simulations with NA49 experimental data (on Pt-Xf correlations
for various particles produced in pp interactions at 158 GeV/c):
-  G4LundStringFragmentation : introduced a new parameter (as a class
   data member), a kind of "temperature", for sampling the Pt of
   produced hadrons; this parameter has been tuned for different
   fragmentation processes.
   Moreover, the string direction (one of string's properties,
   whose value can be either +1 for projectile-like strings or
   -1 for target-like strings) is now treated correctly and used
   to invert the results of the string fragmentation (in the string
   rest frame) when the string direction is -1.
-  G4FragmentingString : erased some inconsistencies.
-  G4VLongitudinalStringDecay : clean-up.

08-Sep-2020 A. Ribon         (had-hadronization-V10-06-05)
-  G4VLongitudinalStringDecay : made the logic clearer for Coverity,
   but without any effect on the results.

28-Jul-2020 A. Ribon         (had-hadronization-V10-06-04)
-  G4QGSMFragmentation : proper exit in the method FragmentString
   when the string mass is below the threshold.

24-Jul-2020 A. Ribon         (had-hadronization-V10-06-03)
-  G4LundStringFragmentation, G4QGSMFragmentation : if the flag for
   heavy (charmed and bottom) hadrons is enabled, then non-zero
   probabilities for c-cbar and b-bbar creation from the vacuum are set,
   allowing charmed and bottom hadrons to be created during the string
   fragmentation of ordinary (i.e. not heavy) projectile hadron nuclear
   reactions.
-  G4VLongitudinalStringDecay : in the method SetMinMasses, set the
   constituent masses of charm and bottom quarks; introduced also a new
   pre-processor option for debugging heavy hadrons, switched off by
   default; improved comments.
-  G4LundStringFragmentation : extension to charm and bottom quarks of the
   methods Quark_AntiQuark_lastSplitting and Quark_Diquark_lastSplitting;
   added protections in the method FragmentString to avoid rare crashes
   seen with heavy hadrons.
-  G4HadronBuilder : fixed condition in the method Barion to take into
   account the extension to charm and bottom quarks; moreover, for both
   Meson and Barion methods, we have to force by hand that the heavy
   hadron produced by the string fragmentation is one of the few available
   in Geant4 (in particular, all heavy hadron resonances are transformed
   into close heavy hadron ground states). Introduced also a new
   pre-processor option for debugging heavy hadrons, switched off by default.
-  G4ExcitedStringDecay : add protection in the FragmentStrings method
   to avoid rare crashes seen with heavy hadrons.

10-Jun-2020 A. Ribon         (had-hadronization-V10-06-02)
-  Improved treatment of antibaryon interactions in QGS
   (made by Vladimir Uzhinsky):
   1. G4QGSMFragmentation : corrected the treatment of low mass
      diquark-antidiquark strings. In addition to this, the Mt distribution
      of produced hadrons has been introduced.
   2. G4VLongitudinalStringDecay : introduced in the method
      SetMinimalStringMass a check that the strings are of allowed type:
      quark-antiquark, diquark-antidiquark, quark-diquark and
      antiquark-antidiquark. Introduced also for diquark-antidiquark strings
      a special algorithm (already present for the other types of allowed
      strings) for treating low-mass strings with masses below known hadrons.

23-Apr-2020 V. Ivanchenko    (had-hadronization-V10-06-01)
- G4VLongitudinalStringDecay, G4QGSMFragmentation
  G4LundStringFragmentation - fixed Coverity warnings - if fragmentation
    at low energy is not possible always return flag "false"; initialise
    with nullptr and not NULL

24-Feb-2020 V. Ivanchenko    (had-hadronization-V10-06-00)
- G4VLongitudinalStringDecay, G4ExcitedStringDecay,
  G4LundStringFragmentation - inherit from G4HadronicInteraction
    destruction of these models end of run by hadron model store;
    removed implementations of private operators.

19-Nov-2019 A. Ribon         (had-hadronization-V10-05-04)
-  G4ExcitedStringDecay : protection in the sampling of resonance masses
   against values below threshold.
-  G4LundStringFragmentation, G4QGSMFragmentation : in the method SplitEandP,
   added a check that a string can be converted to an existing hadron
   (else a null momentum is returned).

14-Nov-2019 A. Ribon         (had-hadronization-V10-05-03)
-  G4VLongitudinalStringDecay : forgotten initialization of c-cbar and b-bbar
   pair production for kinks or gluons.

07-Nov-2019 A. Ribon         (had-hadronization-V10-05-02)
-  Implementation, made by Vladimir Uzhinsky, of the fragmentation functions
   of heavy (charm and bottom) quarks and diquarks for the QGS string
   fragmentation, based on a review of the available theoretical papers.
-  The same set of mixing meson parameters (for both scalar and vector
   mesons), as defined in the base class G4VLongitudinalStringDecay, are
   now used on both FTF and QGS.
-  Minor changes and clean-up for the Lund string fragmentation.

06-Nov-2019 A. Ribon         (had-hadronization-V10-05-01)
-  Correction by Vladimir Uzhinsky in the Lund string fragmentation regarding
   the search for final-state in the last string decay.
   Note: this bug was responsible of both the bad hadronic showers and the
         slow CPU performances observed in 10.5.ref10.
-  Switch off the probability of charm and bottom hadron production
   in both Lund and QGS string fragmentations.
   Note: this is a temporary protection, to be removed after the release.

09-Oct-2019 A. Ribon         (had-hadronization-V10-05-00)
-  Extension, made by Vladimir Uzhinsky, of both Lund and QGS string
   fragmentation to allow the possibility to have charm and/or bottom quarks
   and diquarks in the strings. As a result of the hadronization of strings
   having heavy (c, b) quarks, charmed and bottom hadrons can be produced:
   only heavy mesons and baryons that can fly macroscopic distances are
   considered as candidate final states.
   (Note: this extension has required also to extend the list of diquarks
          available in Geant4, to add those made with charm and bottom quarks
          in the method G4ShortLivedConstructor::ConstructQuarks.)
-  Unused class G4VKinkyStringDecay has been removed.

20-Nov-2018 A. Ribon         (had-hadronization-V10-04-07)
-  Corrected only the History file (no other changes).

20-Nov-2018 A. Ribon         (had-hadronization-V10-04-06)
-  Minor clean-up and indentation: no changes in the random sequence.

26-Oct-2018 V. Uzhinsky      (had-hadronization-V10-04-05)
-  G4LundStringFragmentation : tuning of strange - anti-strange probability
   production as a function of energy to describe NA61/SHINE 31 GeV/c p-C
   data on K+ / K- production. Decreased also the Lambda0 production for
   NA61/SHINE 158 GeV/c and 31 GeV/c p-C : for the former good agreement,
   while for the latter the simulation underestimates the data.
-  G4QGSMFragmentation : new algorithm for last string decay a-la Lund
   is implemented. Improved the algorithm to stop the fragmentation.
   Tuning of parameters with NA49 and NA61/SHINE data was performed.

04-Oct-2018 A. Ribon         (had-hadronization-V10-04-04)
-  Coverity fix and general clean-up: no changes in the physics, nor
   to the random sequence.

18-Jan-2018 A. Ribon         (had-hadronization-V10-04-03)
-  G4VLongitudinalStringDecay : removed useless caching in the method
   FragmentationMass which was causing rare irreproducibilities in
   gamma-nuclear reactions (i.e. involving QGS).

19-Dec-2017 V. Uzhinsky      (had-hadronization-V10-04-02)
-  Fine tuning of LUND and QGS fragmentations.

14-Dec-2017 V. Uzhinsky      (had-hadronization-V10-04-01)
-  Improved versions of LUND and QGS fragmentations.

07-Dec-2017 A. Ribon         (had-hadronization-V10-04-00)
-  Brought back the development version of hadronization
   (as it was in had-hadronization-V10-03-07).

27-Oct-2017 A. Ribon         (had-hadronization-V10-03-09)
-  G4ExcitedStringDecay : introduced smearing of resonance masses
   (as requested by the PANDA Collaboration).
-  G4LundStringFragmentation : a dependence of <Pt> on S is introduced
   only for AntiP P annihilations.

26-Oct-2017 A. Ribon         (had-hadronization-V10-03-08)
-  Brought back the stable, production hadronization (as in 10.3 and 10.2).

24-Oct-2017 V. Uzhinsky      (had-hadronization-V10-03-07)
-  A dependence of <Pt> on S is introduced for AntiP P annihilations.
   It can reflect on other interactions.

19-Jul-2017 V. Uzhinsky      (had-hadronization-V10-03-06)
-  G4ExcitedStringDecay.cc
   Smearing of resonance masses is introduced.

-  G4LundStringFragmentation.cc
   Some bugs are fixed left after implementation of the rotating strings.

09-Mar-2017 A. Ribon         (had-hadronization-V10-03-05)
-  G4LundStringFragmentation : fixed memory leaks.

10-Feb-2017 V. Uzhinsky      (had-hadronization-V10-03-04)
-  First implementation of rotating strings with introduction of
   Mt distribution of hadrons.
   Changes are in G4LundSyringFragmentation.cc and .hh
                  G4FragmentingString.hh
                  G4LongitudinalStringDecay.hh
   Parameters are tuned using NA49 exp. data on pp-interactions.
   Good results are obtained for Pi+-, K+-. For P and Pbar <Pt> - xF
   correlations are not quite well.

13-Jan-2017 V. Uzhinsky      (had-hadronization-V10-03-03)
-  Re-organized and cleaned G4LUNDStringFragmentatio.
   The variant is tuned using NA49 exp. data on pp->p/pi/K +X.

14-Dec-2016 A. Ribon         (had-hadronization-V10-03-02)
-  After the release G4 10.3, with "stable" version, this tag brings back
   the "development" version, similar (although not identical because
   of some code clean-up and the (internal) tag had-hadronization-V10-03-00,
   see below) to G4 10.2.ref10.
   (Please note that the changes in G4LundStringFragmentation.cc of the
   (internal) tag had-hadronization-V10-03-01 have been excluded in the
   present tag, in order to test one change at the time.)

30-Nov-2016 V. Uzhinsky      (had-hadronization-V10-03-01)
   G4LundStringFragmentation.cc - Mt distribution for produced hadrons
   was introduced.

 9-Nov-2016 A. Ribon         (had-hadronization-V10-03-00)
   G4ExcitedStringDecay : increased the number of max attempts to
   fragment strings from 10 to 100.

 8-Sep-2016 V. Uzhinsky      (had-hadronization-V10-02-14)
   Clearing of LUNDstringFragmentation. Bugs are fixed.

 7-Sep-2016 A. Ribon         (had-hadronization-V10-02-13)
   Created tag on branch of 10.2.ref07 to fix a bug on the method
   G4ExcitedStringDecay::FragmentStrings .
   Note that this bug has been already fixed in the trunk.

20-July-2016 A. Ribon        (had-hadronization-V10-02-12)
   G4LundStringFragmentation: V.U. erased the warring messages from
   the previous tag.

19-July-2016 V. Uzhinsky     (had-hadronization-V10-02-11)
   G4LundStringFragmentation: Method SetMinimalStringMass was essential improved.
   Energy-momentum conservation was restored for processes with Delta-isobar
   production.

30-June-2016 V. Uzhinsky     (had-hadronization-V10-02-10)
   One more misprint was found in G3LundStringFragmentaion.cc
   MinStringMass method.

29-June-2016 V. Uzhinsky     (had-hadronization-V10-02-09)
   Alberto found a misstype in the previous G3LundStringFragmentaion.cc
   The tag will be redone.

29-June-2016 V. Uzhinsky     (had-hadronization-V10-02-08)
   The method of G4VLongitudinalStringDecay::Splitup was transferd to FTF
   and QGS model because now the treat differently Delta isobars.

27-June-2016 V. Uzhinsky     (had-hadronization-V10-02-07)
   G4LundStringFragmentation.cc algorithm was improved.
   Fragmentation is made a'la LUND fragmentation.

13-June-2016 V. Uzhinsky     (had-hadronization-V10-02-06)
   G4LundStringFragmentation::Sample4Momentum() was improved.
   Average transvers momentum is set to 475 MeV for mesons and baryons,
   and <Pt> for barion 3/2 production - 800 MeV/c.

   G4LundStringFragmentation::GetLightConeZ - alund=0.233 GeV^2 for strange
   meson produced by a quark, and alund=0.175 GeV^2 for q->baryon.

   di-quark fragmentation function into baryon (1/2) z^1.5, and z^(-0.25)
   for baryon (3/2).
   Note: the tag was made accidentally in the wrong directory (src/).

 6-June-2016 V. Uzhinsky     (had-hadronization-V10-02-05)
   Re-tag of previouse tag. Compilation warning is erased.

 4-June-2016 V. Uzhinsky     (had-hadronization-V10-02-04)
   A solution of the baryon puzzle of NA49 data has been found! <Pt>
   of baryons 1/2 at a string fragmentation is setting up at 435 MeV/c,
   and <Pt> for barion 3/2 production - 900 MeV/c.

 1-June-2016 V. Uzhinsky     (had-hadronization-V10-02-03)
   Fine tuning of G4LundStringFragmentation.cc. <Pt> of mesons created at
   quark fragmentation is decreased. <Pt> of baryons created at quark and
   diquark is increased. Fragmentation functions of qq-> B(1/2) and B(3/2)
   are implemented correctly.

28-May-2016 V. Uzhinsky      (had-hadronization-V10-02-02)
   <Pt^2> is increased in 2 times in G4LundStringFragmentation.cc.
   It is very important for a description of NA49 exp. data on
   pp-interactions at 158 GeV/c, especially for xF and Pt distributions.

23-May-2016 V. Uzhinsky      (had-hadronization-V10-02-01)
   Di-quark fragmentation into baryons is improved in LUND
   string fragmentation. Description of NA49 and NA61/SHINE
   exp. data on p+p->p+X is improved.

12-May-2016 V. Uzhinsky      (had-hadronization-V10-02-00)
 - G4LundStringFragmentation.cc, the method SetMinimalStringMass was improved
   which is important for Pbar P annihilation.

13-Aug-2015 A. Ribon      (had-hadronization-V10-01-09)
 - G4QGSMFragmentation, G4FragmentingString : Coverity fix.

 7-Aug-2015 A. Ribon      (had-hadronization-V10-01-08)
 - G4LundStringFragmentation, G4QGSMFragmentation, G4ExcitedStringDecay
   and G4VKinkyStringDecay : checking of 'while' loops.

 5-Aug-2015 A. Ribon      (had-hadronization-V10-01-07)
 - G4VLongitudinalStringDecay, G4LundStringFragmentation, G4QGSMFragmentation:
   replaced std::exp, std::log and std::pow with the faster
   G4Exp, G4Log and G4Pow, respectively.
   This changes the random number sequence.

 5-June-2015 V. Uzhinsky  (had-hadronization-V10-01-06)
 - A mistake was erased in G4QGSMFragmentation::SplitEandP.
   FragmentationMass(NewString,&G4HadronBuilder::BuildLowSpin) ->
   FragmentationMass(NewString,&G4HadronBuilder::Build)!

 4-June-2015 V. Uzhinsky  (had-hadronization-V10-01-05)
 - G4QGSMFragmentation::SplitEandP a bug is fixed which led to energy-momentum
   non-conservation quite rare.
   FragmentationMass(NewString,&G4HadronBuilder::BuildHighSpin);
   was changed into
   FragmentationMass(NewString,&G4HadronBuilder::BuildLowSpin);
   See Uzhi 03.06.2014

 2-June-2015 V. Uzhinsky  (had-hadronization-V10-01-04)
 - G4ExcitedStringDecay.cc - a very serious bug was found. It led
   to energy-momentum non-conservation at QGSM application.
   I am afraid that it can have influence on FTF model hadronization.

29-May-2015 V. Uzhinsky   (had-hadronization-V10-01-03)
 - G4LundStringFragmentation - a bug led to FPE is erased. It was in
           G4LundStringFragmentation::FragmentString --
         if(!IsFragmentable(&aString)) // produce 1 hadron
   was applied to qq- anti_qq string with mass 1951 MeV, and there was an attempt
   to produce 2 baryons without of a checking baryon masses. I am afraid
                 that it was presented before.
   Now it is: if(!aString.FourQuarkString() && !IsFragmentable(&aString)).

25-May-2015 V. Uzhinsky   (had-hadronization-V10-01-02)
 - G4LundStringFragmentation - Parameters are tuned for a description of NA49 data.

26-Mar-2015 A. Ribon      (had-hadronization-V10-01-01)
 - G4LundStringFragmentation - changes introduced by V. Uzhinsky to improve
   the reaction cross sections of: Pbar + P -> Pi+Pi-, K+K-

21-Jan-2015 A. Ribon      (had-hadronization-V10-01-00)
 - G4LundStringFragmentation - re-introduced M.Novak's fix, replacing
   "if(StringMass >= ...)" with "if(StringMass > ...)" in three places.

28-Nov-2014 V. Uzhinsky   (had-hadronization-V10-00-13)
 - G4LundStringFragmentation - charged baryon number conservation is fixed
   for K-nucleus interactions

6-Nov-2014 V. Uzhinsky    (had-hadronization-V10-00-12)
 - Warning message is erased.

5-Nov-2014 V. Uzhinsky    (had-hadronization-V10-00-11)
 - Redoing tag had-hadronization-V10-00-10 because it was done in src directory
   instead of top directory - hadronization.

3-Nov-2014 V. Uzhinsky    (had-hadronization-V10-00-10)
- G4ExcitedStringDecay.cc Restoration of the initial string system is addded
  for a correct repeatition of calculations in the case when hadronization is fault.

- G4LundStringFragmentation.cc Fragmentation functions for qq -> B are set as
  f(z)~ Const for all baryons.

20-Oct-2014 A.Ribon        (had-hadronization-V10-00-09)
- G4VLongitudinalStringDecay.cc : mixing between the vector mesons
  rho0 and omega have been changed from 50% (rho0) - 50% (omega) to
  100% (rho0) - 0% (omega), in order to reduce the pi0 production.
  Expected little effects in thin-target, and significant effects
  in hadronic showers in calorimeters.

15-Oct-2014 V.Uzhinsky     (had-hadronization-V10-00-08)
- Essential improvement of QGS hadronization.
  Fragmentation functions of quarks and di-quarks are closed to Kaidalov's
  and Shabelskii's ones. G4QGSMFragmentation::GetLightConeZ was almost
  re-written. Ionk algorithm is inserted for sampling light-cone momentum
  fraction, z. Parameters of the fragmentation were tuned. They will be
  improved after a revision of the QGSM string creation algorithm.
- The algorith of G4QGSMFragmentation::SplitEandP was improved. It is
  faster now.

29-Sep-2014, V.Uzhinsky    (had-hadronization-V10-00-07)
- Essential improvement of hadronization.
- Parameters and string fragmentation functions of
  G4LundStringFragmentation.cc were tuned, assuming that the weight of
  uu-diquarks in protons is 1/6.
- Threatment of string decay direction was improved in G4FragmentingString.cc
  and G4LundStringFragmentation.cc
- EnergyAndMomentumCorrector was improved in G4ExcitedStringDecay.cc
- The method DiQuarkSplitUp in G4VLongitudinalStringDecay.cc is turned to
  virtual, and the corresponding methods were introduced in
  G4LundStringFragmentation.cc and G4QGSMFragmentation.cc
- Debugging possibilities are improved.

04-Jul-2014, A.Ribon       (had-hadronization-V10-00-06)
- G4LundStringFragmentation.cc : brought back the Sample4Momentum method
  as it was before to avoid crashes.

02-Jul-2014, A.Ribon       (had-hadronization-V10-00-05)
- G4ExcitedStringDecay.cc and G4LundStringFragmentation.cc : minor clean-up
  of the previous, internal two tags, and propose for testing.

30-May-2014, V.Uzhinsky    (had-hadronization-V10-00-04)
- Bug is fixed in G4LundStringFragmentation.cc for anti-diquark-diquark strings.
- Anisotropic decay is only left in G4LundStringFragmentation::Sample4Momentum for
  a sampling of momenta of 2 last produced hadrons for all strings. Before this,
  quark-diquark strings were decayed isotropically. It is improve a little bit
  proton spectra.

25-May-2014, V. Uzhinsky   (had-hadronization-V10-00-03)
- Parameters of G4LundStringFragmentation.cc were re-tuned.
  Fragmentation function F(qq->B+anti-quark) was set to Z^2.

22-May-2014, A.Ribon       (had-hadronization-V10-00-02)
- Applied Coverity's suggestion to check that the vector index NumberOf_FS
  in G4LundStringFragmentation.cc does not exceed the allowed range.

12-May-2014, A.Ribon       (had-hadronization-V10-00-01)
- Applied Vladimir Uzhinsky's bug-fix on the positions of the increment
  of the variables "StateQ++" and "StateAQ" in G4LundStringFragmentation.cc.

24-Apr-2014, A.Ribon       (had-hadronization-V10-00-00)
- Applied Novak's bug fix in G4LundStringFragmentation.cc : replacing
  ">=" with ">" in three if statements, which caused crashes in the
  case of anti_sigma+ capture at rest on hydrogen.

14-Nov-2013, A.Ribon       (had-hadronization-V09-06-02)
- Fixed two mistakes in the index manipulation of the BaryonWeight
  4-dimensional vector in G4LundStringFragmentation.cc .

29-July-2013, H.Kurashige  (had-hadronization-V09-06-01)
- Remove inclusion of G4ShortLivedTable.hh (G4VLongitudinalStringDecay.cc)

02-May-2013, A.Ribon       (had-hadronization-V09-06-00)
- For thread safety, replaced CLHEP::RandFlat with G4RandFlat in
  G4VLongitudinalStringDecay.cc.

27-Sep-2012, G.Cosmo
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

13-Aug-2012, A.Ribon       (had-hadronization-V09-05-06)
- Fixed compilation error in G4ExcitedStringDecay.cc when the constructor
  of the Lorentz vector is made explicit.

25-Jul-2012, G.Folger       (had-hadronization-V09-05-05)
- Fixes for coverity in G4LundStringFragmentation.cc .

17-Jul-2012, G.Folger       (had-hadronization-V09-05-04)
- fixes for coverity in G4FragmentingString and G4VLongitudinalStringDecay

12-Jun-2012, G.Folger       (had-hadronization-V09-05-03)
- fix warnings on shadowed variables, affected G4LundStringFragmentation.cc

25-May-2012, G.Folger       (had-hadronization-V09-05-02)
- make copy ctor, =, == , and != operators private without implementation,
   fixing coverity warnings

21 May 2012, Vladimir Uzhinsky (had-hadronization-V09-05-01)
-  Probabilities of s-sbar quark pairs and qq-qqbar diquark pairs
   are changed in G4LundStringFragmentation for a description of
   the NA49 collaboration data.

12-Apr-2012, G.Folger       (had-hadronization-V09-05-00)
- Changes in debugging information in src/G4ExcitedStringDecay.cc

08 Nov 2011, Alberto Ribon              (had-hadronization-V09-04-03)
- Tagged the improvements in the code structure of the class
  G4LundStringFragmentation. Results remain exactly the same
  as before these code improvements.

08 Nov 2011, Alberto Ribon, svn rev 54374
- Factorized the method  G4LundStringFragmentation::FragmentString
  to make the code easier to understand and maintain.
  Also put at the end of the .cc file all newly added methods.

04 Nov 2011, Alberto Ribon, svn rev 54124
- Factorized the method  G4LundStringFragmentation::SplitLast
  to make the code easier to understand and maintain.

02 Nov 2011, Alberto Ribon, svn rev 53955
- Made public the virtual method G4LundStringFragmentation::FragmentString.
  Clean up also old commented lines in two G4LundStringFragmentation
  methods: StopFragmenting and FragmentString.

1 Nov 2011, Gunter Folger, svn rev 53895
- G4LundStringFragmentation: simplify GetLightConeZ()

29 Sep 2011, Gunter Folger, svn rev 52604
- G4LundStringFragmentation: Cleanup indentation

19 Jul 2011, Gunter Folger              (had-hadronization-V09-04-02)
- Correct mistake in tagging made for had-hadronization-V09-04-00/01

19 Jul 2011, Gunter Folger         bad tag (had-hadronization-V09-04-00)
- Address coverity warnings.
   One outstanding warning in G4LundStringFragmentation::Splitlast().

3 Nov 2010, Gunter Folger               (had-hadronization-V09-03-02)
- fix minor coverity warnings in G4HadronBuilder

22-September-2010  V. Uzhinsky          (had-hadronization-V09-03-01)
--------------------------------------------------------------
- Warning messages are erased in G4LundStringFragmentation.cc

20-September-2010  V. Uzhinsky
------------------------------
- Phase space restrictions are introduced at small mass string
  fragmentation.

5-August-2010  V. Uzhinsky
--------------------------
- Small re-organization is done in G4ExcitedStringDecay.hh. Inline
  methods were moved to G4ExcitedStringDecay.cc.

- An action is introduced in FragmentStrings. It acts when
  EnergyAndMomentumCorrector can not be done due to large sum masses
  of produced hadrons. This led to energy-momentum violation. Now
  string fragmentation is repeted 100 times in a bad case.

21-June-2010  V. Uzhinsky               (had-hadronization-V09-03-00)
--------------------------------------------------------------
- Lund string fragmentation is improved. The inselfconsistency
  between LightFragmentationTest and Lund fragmentation is erased.
  Energy conservation in FTF is recovered.

6-December-2010  V. Uzhinsky,           (had-hadronization-V09-02-04)
--------------------------------------------------------------
- Lund string fragm. improved, start fragmentation.

17-July-2009  V. Uzhinsky               (had-hadronization-V09-02-03)
--------------------------------------------------------------
- Some small optimization are done.

9-July-2009 V. Uzhinsky                 (had-hadronization-V09-02-02)
--------------------------------------------------------------
- Bug was fixed in G4VLongitudinalStringDecay.cc at calculation of
  formation/creation time, c_light was inserted.
- String tension parameter was set to the usual value (1 GeV/fm) in
  G4LundStringFragmentation.cc

22-May-2009   Gunter Folger             (had-hadronization-V09-02-01)
--------------------------------------------------------------
- remove temporary workaround - fix is now in QGS
- change pt sampling in G4LundStringFragmentation to avoid near endless
  loop; this should improve overall performance slightly.
  Affected G4VLongitudinalStringDecay, where SampleQuarkPt() is
  implemented; affected .hh and .cc for new optional argument of max Pt
  to SampleQuarkPt()

18-May-2009   Gunter Folger             (had-hadronization-V09-02-00)
---------------------------------------------------------------------
- reset formatting changes by MK with tags hadr-prtn-hadr-V09-02-xx
- temporary workaround for wrong PDG codes created on wrong input from QGS
  when used for e.g. antiproton.

2-May 2007    Gunter Folger             (had-hadronization-V08-02-03)
---------------------------------------------------------------------
- G4ExcitedStringDecay.hh: protect againt divide by 0 when KTsum1.e() is 0.

24-April 2007 Gunter Folger             (had-hadronization-V08-02-02)
---------------------------------------------------------------------
- Seperate FTF and QGS fragmentation dir methods where V.Uzhinsky
  modified the algorithm for FTF.

2-March 2007 Gunter Folger              (had-hadronization-V08-02-01)
---------------------------------------------------------------------
- G4ExcitedStringDecay::EnergyAndMomentumCorrector no longer causes Exception
  when no converging. Add more info when failing. Return correct status.

24-Jan 2007 Gunter Folger               (had-hadronization-V08-02-00)
--------------------------------------------------------------
- G4ExcitedStringDecay::EnergyAndMomentumCorrector :
  Correct bug which did stop correction even if not yet converged;
  check on convergence must check that scale-1 is close to 0,
  and not less than 0

26-May 2006 Gunter Folger
--------------------------------------------------------------
- Fix ( finally?) the charge check in G4HadronBuilder.cc
