$Id: History 86805 2014-11-18 13:25:55Z gcosmo $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                      Category History file
                      ---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the  CVS log-message one should put at every
committal in the CVS repository !

     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *
     ----------------------------------------------------------

18 November 14: V.Ivant (emutils-V10-00-46)
- G4VAtomDeexcitation - fixed printout at initialisation 
    (minor problem was introduced in the previous tag) 

15 November 14: V.Ivant (emutils-V10-00-45)
- G4VAtomDeexcitation - changed initialisation allowing to work in 
    unit tests

07 November 14: V.Ivant (emutils-V10-00-44)
- G4LossTableMananger, G4EmConfigurator - fixed minor Coverity reports

28 October 14: V.Ivant (emutils-V10-00-43)
- removed old commented code

23 October 14: V.Ivant (emutils-V10-00-42)
- G4VMultipleScattering - fixed displacement at boundary algorithm

23 October 14: V.Ivant (emutils-V10-00-40)
- G4VEmProcess, G4VEnergyLossProcess - set step limit to DBL_MAX if
    selected model is inactive at such energy; addresses bug 1674
- G4EmConfigurator - set high energy activation limit for a new
    model not more than high energy limit (needed for DNA models) 

22 October 14: V.Ivant (emutils-V10-00-39)
- G4VEmProcess - fixed definition of integral option

20 October 14: V.Ivant (emutils-V10-00-38)
- G4LossTableManager - fixed non-initilized variable
- G4VMultipleScattering - coherent definition of lateral 
    displacement flag

17 October 14: V.Ivant (emutils-V10-00-37)
- G4VEmProcess, G4VEnergyLossProcess - improved printout at 
    initialisation, added extra initialisation
- G4VEmProcess, G4VEmModel - added accessmethos for target element 
    and isotope

15 October 14: V.Ivant (emutils-V10-00-36)
15 October 14: V.Ivant (emutils-V10-00-35)
- fixed G4VEnergyLossProcess

14 October 14: V.Ivant (emutils-V10-00-34)
- fixed G4VMultipleScattering

14 October 14: V.Ivant (emutils-V10-00-33)
- fixed logic of sub-cutoff mechnism

13 October 14: V.Ivant (emutils-V10-00-32)
- fixed typo

13 October 14: V.Ivant (emutils-V10-00-31)
- G4EmParameters, G4EmParametersMessenger - new classes for 
    keeping EM parameters static for run time
- G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering,
    G4EmProcessOptions, G4VAtomDeexcitation - changed initialisation
    logic - use G4EmParameters class, fixed problem #1670

06 October 14: L.Urban (emutils-V10-00-30)
- G4MscStepLimitType, G4EnergyLossMessenger - added new step limit 
    type for msc: UseSafetyPlus

22 September 14: V.Ivant (emutils-V10-00-29)
- G4VEmProcess, G4VEnergyLossProcess - fixed model type definition
    for secondary particle production (fluoresence, PIXE, splitting)

21 July 14: V.Ivant (emutils-V10-00-28)
- G4EmCorrections, G4EmElementSelector, G4LossTableManager,
  G4VEmModel, G4VEmProcess, G4VEnergyLossProcess - introduced 
    explicit delete of all PhysicsTables and PhysicsVectors at the 
    end of job
- G4EmCalculator - added public FindProcess() method 
 
27 June 14: V.Ivant (emutils-V10-00-27)
- G4VAtomDeexcitation - if de-excitation options are defined for the 
    world G4Region, propagate these options to all G4Regions

6 June 14: V.Ivant (emutils-V10-00-26)
- G4VEmProcess, G4VEnergyLossProcess - fixed Coverity reports

6 June 14: V.Ivant (emutils-V10-00-25)
- G4EmSaturation - removed fatal exception if proton is not 
    instantiated

5 June 14: V.Ivant (emutils-V10-00-24)
- G4EmSaturation - moved check on existence of e- and proton 
    from run time to initialisation (it is done only once)
- G4LossTableManager, G4VEnergyLossProcess, G4VEmProcess -
    improved initialisation: moved set methods for parameters 
    from inline to source and add extra check on parameter value,
    throw warnings if parameters are out of range
- G4LossTableManager - helper classes are instantiated only if
    user requests via access method 

4 June 14: A.Dotti (emutils-V10-00-23)
- Added protection in G4EmSaturation to throw exception if e- or proton
  are not defined when used in G4EmSaturation::VisibleEnergyDeposition 
  method.
- Do not instantiate G4Electron and G4Proton by default in 
  G4EmSaturation::InitialiseBirksCoefficient

2 June 14: V.Ivant (emutils-V10-00-22)
- G4EmModelManager - fixed cuts for single scattering models (use 
    "cut for protons")

27 May 14: V.Ivant (emutils-V10-00-21)
- G4LossTableManager - minor change of Set methods

26 May 14: V.Ivant (emutils-V10-00-20)
- G4EmManagerMessenger, G4EmProcessOptions, G4LossTableManager,
  G4VEnergyLossProcess - fixed (trivial) Coverity reports

20 May 14: V.Ivant (emutils-V10-00-19)
- G4LossTableManager, G4EmSaturation - changed initialisation
    of  G4EmSaturation class to work in MT mode

19 May 14: V.Ivant (emutils-V10-00-18)
- G4LossTableManager, G4EmSaturation - improved printout;
  G4EmProcessOptions, G4LossTableManager - address Coverity reports

19 May 14: V.Ivant (emutils-V10-00-17)
- G4LossTableManager, G4EmSaturation, G4EmCorrections, 
    G4ElectronIonPair - improved verbosity

18 May 14: V.Ivant (emutils-V10-00-16)
- G4EmSaturation - updated class design, VisibleEnergyDeposition()
    method become virtual allowing application of user alternative
    algorithm, improved warning message

17 May 14: V.Ivant (emutils-V10-00-15)
- G4VEmModel, G4VEmFluctuationModel - defined different pattern to 
    access random generator for sequential and MT modes (fix problem 
    of previous tag)
- G4EmProcessOptions, G4EnergyLossMessenger - added new c++ and UI 
    interface "/process/msc/DisplacementBeyondSafety"

15 May 14: V.Ivant (emutils-V10-00-14)
- G4VMultipleScattering - introduced mechanism of displacement at
    geometry boundary default
- G4VEmModel, G4VEmFluctuationModel - added protected pointers
    to random engine in order to save CPU in derived classes 
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - fixed 
    Coverity defects

09 May 14: V.Ivant (emutils-V10-00-13)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - fixed 
    bug report #1594 (crash G4WrapperProcess in sequential mode)

28 April 14: V.Ivant (emutils-V10-00-12)
- G4VSubCutProducer, G4LossTableManager, G4VEnergyLossProcess - new
    interface is added allowing production of delta-electrons below 
    production threshold

28 April 14: V.Ivant (emutils-V10-00-11)
- G4EnergyLossMessenger and G4EmProcessOption - added extra flag and 
    UI command "/process/em/deexcitationIgnoreCut" allowing
    disable check on production threshold by deexcitation module;
    enable RunManager flag "/run/physicsModified" for all deexcitation
    UI commands

08 April 14: V.Ivant (emutils-V10-00-10)
- G4VMultipleScattering - fixed old problem of displacement handling;
    set geomMin = 0.05 nm (Bohr radius)

08 April 14: V.Ivant (emutils-V10-00-09)
- G4VMultipleScattering - return the limit to 0.01 nm; return condition
    that if step is below geomMin then no scattering is sampled

06 April 14: V.Ivant (emutils-V10-00-08)
- G4VMultipleScattering - prepared for displacement on boundary;
    set geomMin = 0.05 nm (was 0.01 nm) - Bohr radius 

28 February 14: V.Ivant (emutils-V10-00-07)
- G4VMultipleScattering - minor cleanup for post-safety computation

27 February 14: V.Ivant (emutils-V10-00-06)
- G4VEnergyLossProcess - for sub-cutoff regime add upper limit when
    call SafetyHelper as described in previous tag

27 February 14: J.Apostolakis (emutils-V10-00-05)
- Fixed G4VMscModel::ComputeSafety: pass 2nd parameter to SafetyHelper
    ( this parameter is used for optimisation.  It is guard= max radius 
      to check for volumes.  Estimate of safety obtained is limited by it.
      => The displacement must never exceed value of 2nd parameter. )
    Added default for 2nd parameter, compatible with SafetyHelper.

26 February 14: V.Ivant (emutils-V10-00-04)
- G4EmCorrections, G4EmElementSelector, G4VEmModel, G4VEmProcess,
  G4VEnergyLossProcess, G4VMultipleScattering, G4ionEffectiveCharge
    - general cleanup including: removed old commented code; use std::min
      and std::max instead of "if" where possible; use G4Log;
      reduced number of division 
- G4LossTableManager - minor change of ionisation for charm and bottom mesons;
    do not recompute x-section if a process is shared between particle and 
    anti-particles;
    
21 February 14: V.Ivant (emutils-V10-00-03)
- G4VMultipleScattering - added possibility to build extra table for a model

14 February 14: V.Ivant (emutils-V10-00-02)
- G4LossTableMananger, G4EmProcessOptions - define default 
    verbosity=0 for worket thread, so summary on EM processes 
    is not printed out
- G4VEnergyLossProcess, G4VEmProcess - define fixed precison=6 
    for initialisation printout
- G4EmCalculator - added G4Exception inside FindCouple() method if
    G4MaterialCutsCouple is not found out and incide GetCSDARange()
    when CSDA table is not initialized 

13 February 14: V.Ivant (emutils-V10-00-01)
- G4LossTableMananger - fixed bug for initialisation of several runs
    in one job (affecting muons and e- and providing non-reproducibility)

27 January 14: V.Ivant (emutils-V10-00-00)
- G4VEnergyLossProcess - fixed division by zero for the case of
    an ion with charge zero
- G4EmCalculator - in FindCouple method implemented loop over all
    regions if G4Region* argument of the method is NULL

21 November 13: V.Ivant (emutils-V09-06-67)
- G4EnergyLossTables - removed G4ThreadLocal (this class is obsolete)

19 November 13: V.Ivant (emutils-V09-06-66)
- G4VEmProcess, G4VEnergyLossProcess - complete fix for base 
    materials for the case of positrons

18 November 13: V.Ivant (emutils-V09-06-65)
- G4VEmProcess, G4VEnergyLossProcess - fixed bug seen in B5 example
    when based materail approach was used
- G4EmModelMananger - improved debug printout 

14 November 13: V.Ivant (emutils-V09-06-64)
- G4EmBiasingManager - fixed bug reported by Andrey Karpov
    (<karpov@viva64.com>) static code analysis

08 November 13: V.Ivant (emutils-V09-06-63)
- Cleanup comments in destructors

06 November 13: V.Ivant (emutils-V09-06-62)
- G4LossTableManager uses G4ThreadLocalSingleton patern
- G4VEmProcess, G4VEnergyLossProcess, G4VEmModel - do not delete
    G4PhysicsVectors

01 November 13: V.Ivant (emutils-V09-06-61)
- G4VEmProcess, G4VEnergyLossProcess - fixed bug in GPIL computation 
    when a particle enter a volume in whihc current EM model has
    different activation energy range than in the previous region
- G4VEmModel - improved definition of min and max energy for
    element selectors

21 October 13: V.Ivant (emutils-V09-06-60)
- G4VEmModel - added extra flag  useAngularGenerator and Get/Set methods

20 October 13: V.Ivant (emutils-V09-06-59)
- G4VEmModel - added extra method SelectRandomAtomNumber

17 October 13: V.Ivant (emutils-V09-06-58)
- G4VMultipleScattering - increased lowestLimit from 1 eV to 10 eV
    because Urban msc model cannot handle low-energy e- below 10 eV;
    added Get/Set methods for this parameter
- G4EmModelManager - fixed control on cut value per G4Region, the
    problem was observed when PAI model is used in a some region
    with very low cut
    
06 October 13: V.Ivant (emutils-V09-06-57)
- G4VEmModel - fixed bug in fanoCavity test - element selectors are created
    even if cut value is high

03 October 13: V.Ivant (emutils-V09-06-56)
- G4AngleDirect - dummy angular generator
- G4ionEffectiveCharge - use G4Log, G4Exp, G4Pow
- G4VEmProcess, G4VEnergyLossProcess, G4VAtomDeexcitation - added modelID 
    for secondary tracks (different mecanisms of production of secondaries 
    may be distingwished)
- G4EnergyLossMessenger, G4EmProcessOptions - added UI command and c++
    interface to set verbose level for worker thread

20 September 13: V.Ivant (emutils-V09-06-55)
- G4VEmProcess - fixed Coverity warning 

13 September 13: V.Ivant (emutils-V09-06-54)
- G4VMultipleScattering, G4VEnergyLossProcess - removed obsolete 
    methods SlavePreparePhysicsTable(..) and SlaveBuildPhysicsTable(..)
- G4VEmAngularDistribution - added extra virtual method 
    SampleDirectionForShell(...)

07 August 13: V.Ivant (emutils-V09-06-53)
- G4VEmModel - added pointer to G4ElementData and GetElementData method 
    in order to allow sharing G4ElementData between threads
- G4EmModelManager - check MinEnergyCut method to address bug #1481

27 July 13: V.Ivant (emutils-V09-06-52)
- G4VEnergyLossProcess, G4VMultipleScattering - use GetMasterProcess
  method in PreparePhysicsTable and BuildPhysicsTable methods

23 July 13: V.Ivant (emutils-V09-06-51)
23 July 13: V.Ivant (emutils-V09-06-50)
- G4VEmProcess - extra fix master/worker initialisation

22 July 13: V.Ivant (emutils-V09-06-49)
- G4VEmProcess - fixed master/worker initialisation

21 July 13: V.Ivant (emutils-V09-06-48)
- G4VEmProcess, G4LossTableManager - added master/worker initialisation
  to discrete processes

12 July 13: V.Ivant (emutils-V09-06-47)
- G4VMultipleScattering - return back logic which was in 10.0beta (tag 
    emutils-V09-06-42) 

12 July 13: V.Ivant (emutils-V09-06-46)
- G4VMultipleScattering - compute safety defining not only position but
    also radius of possible displacement

11 July 13: V.Ivant (emutils-V09-06-45)
- G4VMultipleScattering - return back tag 43 with more strict control of 
    safety

09 July 13: V.Ivant (emutils-V09-06-44)
- G4VEmModel - changed signature of the method MinPrimaryEnergy(..)
    by addition "G4double cut"; return back virtual method MinEnergyCut;
    more accurate usage of inlined methods
- G4VMultipleScattering - more accurate postStepSafety

08 July 13: V.Ivant (emutils-V09-06-43)
- G4VMultipleScattering - moved displacement AlongStep

03 July 13: V.Ivant (emutils-V09-06-42)
- G4LossTableManager - foxed Coverity report
- G4VEmFluctuationModel changed interface in SampleFluctuations 
    method - G4Material pointer is substituted by G4MaterialCutsCouple 
    pointer - modification is needed to PAI model
- G4VEnergyLossProcess - changed interface to G4VEmFluctuationModel 

27 June 13: V.Ivant (emutils-V09-06-41)
- G4LossTableManager - return back to tag-39, because setup of min/max
    energies inside EM tables in some tables is done incorrectly,
    also order of EM printout is not optimal

20 June 13: V.Ivant (emutils-V09-06-40)
- G4LossTableManager - attempt to fix Coverity report

19 June 13: V.Ivant (emutils-V09-06-39)
- G4VEnergyLossProcess - fixed Coverity report

17 June 13: V.Ivant (emutils-V09-06-38)
- G4LossTableManager - return back ThreadLocal partern for the 
    singleton (it was correct)
- G4VMultipleScattering - fixed list models per msc process for ions 

15 June 13: V.Ivant (emutils-V09-06-37)
- G4VEnergyLossProcess - avoid unnecessary deletion of tables 
    between runs

15 June 13: V.Ivant (emutils-V09-06-36)
- G4LossTableManager - fixed ThreadLocal partern for the singleton 

14 June 13: V.Ivant (emutils-V09-06-35)
- G4VEnergyLossProcess, G4VEmProcess, G4VEmModel, G4VMscModel 
    introduced cache for indexes in tables, CPU performance
    restored without any effect on results

14 June 13: V.Ivant (emutils-V09-06-34)
- G4LossTableBuilder - optimized number of bins for tables
    built for models

14 June 13: V.Ivant (emutils-V09-06-33)
- G4VEnergyLossProcess - fixed CrossSectionPerVolume method
- G4VEmModel - take into account reaction threshold when initialise
    G4EmElementSelectors; set smallest number of bins to 3 (was 5);
    fixed initialisation
- G4LossTableBuilder - do not use copy constructor when a new 
    G4PhysicsLogVector for a model 

13 June 13: V.Ivant (emutils-V09-06-32)
- G4VEmProcess - fixed CrossSectionPerVolume method - use tablePrim for
    high energy if this table is defined

13 June 13: V.Ivant (emutils-V09-06-31)
- G4VEnergyLossProcess,  G4LossTableManager - cleanup comments

12 June 13: V.Ivant (emutils-V09-06-30)
- G4VEnergyLossProcess - removed parasitic printout

12 June 13: V.Ivant (emutils-V09-06-29)
- G4VEnergyLossProcess, G4LossTableManager, G4lossTableBuilder - cleanup 
    table management 

11 June 13: V.Ivant (emutils-V09-06-28)
- G4VEnergyLossProcess, G4LossTableManager - cleanup table management 
    for case of many runs in one session, improved printouts

10 June 13: V.Ivant (emutils-V09-06-27)
- G4VEmModel - fixed SetCrossSectionTable method
- G4VEnergyLossProcess - make ion initialisation assuming that each ion 
    may have an individual process

07 June 13: G.Cosmo (emutils-V09-06-26)
- Cleanup from automatic MT changes in G4LossTableManager
  and G4EnergyLossTables.cc.

06 June 13: V.Ivant (emutils-V09-06-25)
- G4VEnergyLossProcess - do not destroy old tables in worker thread
    for the new run

06 June 13: V.Ivant (emutils-V09-06-24)
- G4VEnergyLossProcess, G4VEmProcess - density factor correction
    array is assined to a process in BuildPhysicsTable instead of 
    PreparePhysicsTable in order to get correct pointers in worker 
    threads

06 June 13: V.Ivant (emutils-V09-06-23)
- G4VEnergyLossProcess - an attempt to fix extra problem seen 
    in CDASH by changing PrintInfoDefinition method signature

06 June 13: V.Ivant (emutils-V09-06-22)
- G4VEnergyLossProcess - restore correct printout at initialisation 
    of protons and anti_protons

05 June 13: V.Ivant (emutils-V09-06-21)
- G4VEmModel - fixed crash in copy of element selectors from 
    master to worker threads
- G4VEnergyLossProcess - restore printout at initialisation 
    of worker thread

05 June 13: V.Ivant (emutils-V09-06-20)
- G4LossTableManager - SetIon method from previous is removed, old
    code to Get dedx, range, inverse range is restored 
- G4VEnergyLossProcess - removed debug printout

04 June 13: V.Ivant (emutils-V09-06-19)
- G4LossTableManager - optimisation for MT mode: do not insert 
    concrete ions into particle/energy loss process map, only
    G4GenericIon is inserted; added LocalPhysicsTables methods
    to copy pointers of G4PhysicsTables from master to local threads;
    SetIon method is added to define ion state
- G4VEnergyLossProcess - optimisation for MT mode, added local 
    cache inside GetRangeForLoss method, cleanup
- G4VMultipleScattering, G4VMscModel - adaptation to MT mode

30 May 13: V.Ivant (emutils-V09-06-18)
- G4LossTableManager, G4VEnergyLossProcess, G4VMultipleScattering,
    G4VEmModel, G4VMscModel - implemented copy of transport cross 
    sections tables from master to worker threads; implemented 
    a possibility to copy element selectors from master to worker
    threads (model may use or not this feature)

29 May 13: V.Ivant (emutils-V09-06-17)
- G4EmCorrections - fixed typo

29 May 13: V.Ivant (emutils-V09-06-16)
- G4EmCorrections - substituted FindIon from the G4ParticleTable by
    G4IonTable::GetIon(Z,A,0)

29 May 13: V.Ivant (emutils-V09-06-15)
- G4LossTableMananger, G4VMultipleScattering - removed unused internal
    methods, cleanup code from old unused implementation for MT
- G4EmCalculator - use GetIon(Z,A,0) method from G4IonTable, as 
    recommended by particle category (instead of FindIon from particle
    table) 

27 May 13: V.Ivant (emutils-V09-06-14)
- G4EmCalculator - fixed typo

27 May 13: V.Ivant (emutils-V09-06-13)
- G4EmCalculator - fixed compillation warning at gcc 4.1

27 May 13: V.Ivant (emutils-V09-06-12)
- G4EmMessenger is renamed to G4EmManagerMessenger to avoid a clash
    with name of already existing file

26 May 13: V.Ivant (emutils-V09-06-11)
- G4VEmModel - added extra methods needed for MT: InitialiseLocal,
    InitialiseForMaterial, InitialiseForElement, GetElementSelectors
- G4VMultipleScattering, G4VEnegryLossProcess - more accurate 
    initialisation for MT (some part of initialisation for worker 
    thread was commented out in the first implementation).
- G4LossTableManager - added new method SlavePhysicsTable which
    provides a correct copy and setup process parameters in MT mode  
- G4EmCalculator - added call to InitialiseForMaterial to give a 
    possibility to a model to read data in any thread
- G4EmElementSelector - make it be thread safe
- G4EmManager, G4EmMessenger - new classes 

30 April 13: V.Ivant (emutils-V09-06-10)
- G4ElectronIonPair - fixed typo

30 April 13: V.Ivant (emutils-V09-06-09)
- G4ElectronIonPair - CLHEP::RandGamma substituted by G4RandGamma
- G4LossTableManager - fixed Coverity report (disable sub-cutoff
    for MT temporary)

04 April 13: V.Ivant (emutils-V09-06-08)
- G4VEnergyLossProcess, G4VEmProcess - clean up filling of 
    secondary particles to particle change, use AddSecondary
    from G4VParticleChange in all cases; little performance
    improvement expected

22 March 13: V.Ivant (emutils-V09-06-07)
- G4VMultipleScattering, G4ionEffectiveCharge - for const parameters
    used "static const G4double"

18 March 13: V.Ivant (emutils-V09-06-06)
- G4VMultipleScattering - L.Urban reduced geom limit from 1 um
    to 0.01 um (result of discussion at Space User Workshop)

15 March 13: V.Ivant (emutils-V09-06-05)
- G4LossTableManager - fixed Coverity reports

24 February 13: V.Ivant (emutils-V09-06-04)
- G4ionEffectiveCharge - static array become "const G4double"
- G4VEnergyLossProcess - uncomment verbose output in new "Slave" methods
- G4LossTableManager, G4EmModelManager - removed G4endl from description
    of exceptions

23 December 12: V.Ivant (emutils-V09-06-03)
- G4VMultipleScattering - position is changed PostStep as it was in 9.6

23 December 12: V.Ivant (emutils-V09-06-02)
- G4VMultipleScattering, G4VMscModel - used momentum direction from
    PostStepPoint and not from G4Track - major bug of migration
    of msc sampling from PostStepDoIt to AlongStepDoIt

12 December 12: V.Ivant (emutils-V09-06-01)
- G4LossTableManager - removed calls to obsolete methods

07 December 12: V.Ivant (emutils-V09-06-00)
- Removed obsolete classes G4VEnergyLoss, G4VBremAngularDistribution
- G4VEmProcess, G4VMultipleScattering - removed obsolete methods
    SetModel(), Model()

09 November 12: V.Ivant (emutils-V09-05-56)
08 November 12: V.Ivant (emutils-V09-05-55)
- G4VEnergyLossProcess - fixed non-reproducibility for ions

08 November 12: V.Ivant (emutils-V09-05-54)
- G4VMultipleScattering - improved logic of computation of PostStep
    safety and true step length, added more accurate protection 
    against case when true length exceed physics step limit

06 November 12: V.Ivant (emutils-V09-05-53)
- G4VMultipleScattering - fixed non-reproducibility for ions, added
    protection - do not sample scattering if range exceed true step
    length less than minGeom parameter (1e-6 mm)

03 November 12: V.Ivant (emutils-V09-05-52)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - fixed
    printout at initialisation 

02 November 12: V.Ivant (emutils-V09-05-51)
- G4VMultipleScattering - ion multiple scattering is defined 
    in the class constructor
- G4VMscModel - build table for all particles except case when
    multiple scattering process is shared with G4GenericIon  

26 October 12: V.Ivant (emutils-V09-05-50)
- G4VMultipleScattering - return version 48
- G4VEmProcess - changed initialisation for ions

25 October 12: V.Ivant (emutils-V09-05-49)
- G4VMultipleScattering - moved relocation AlongStep and do not 
	call msc PostStep

21 October 12: V.Ivant (emutils-V09-05-48)
- G4EmBiasingManager - cleanup the code; do not modify ParticleChange
    when apply RussianRoulette (monor CPU saving); moved
    RussianRoulette method to inline; added range cut option
- G4VEmProcess, G4VEnergyLossProcess, G4EmProcessOption - add
    corresponding modifiction needed for biasing interface

20 October 12: V.Ivant (emutils-V09-05-47)
- G4VMultipleScattering - fixed typo in previous tag;
    compute true path length even is msc model is inactive 

20 October 12: V.Ivant (emutils-V09-05-46)
- G4VMultipleScattering - critical fix for stopping particles 
    (ATLAS report on small steps of low-energy ions)

19 October 12: V.Ivant (emutils-V09-05-45)
- G4VEnergyLossProcess, G4VMultipleScattering - attempt to optimise
    run time methods called at each step
- G4EmCalculator - added ComputeGammaAttenuationLength method
- added warning to obsolete methods and classes

18 October 12: V.Ivant (emutils-V09-05-44)
- G4VEnergyLossProcess - define flag isIon for all nucleus except
    deuteron, triton and special DNA ions
- G4VEmProcess, G4EmModelManager - minor reduce of number of operations
    at each step
- G4VMscModel - minor optimisation of inline methods

05 October 12: V.Ivant (emutils-V09-05-43)
- G4VMultipleScatteringProcess - check that true step length proposed
    by msc model do not exceed physical true length

01 October 12: V.Ivant (emutils-V09-05-42)
- G4VAtomDeexcitation - updated initialisation for the case
    when de-excitation is not used

27 September 12: V.Ivant (emutils-V09-05-41)
- G4VMscModel - added GetDEDX method

21 September 12: V.Ivant (emutils-V09-05-40)
- G4VAtomDeexcitation - removed forgotten debug printout
- G4VMultipleScatteringProcess - minor cleanup

20 September 12: V.Ivant (emutils-V09-05-39)
- G4VAtomDeexcitation - fixed logic of activation of de-excitation
    per region and for all geometry

20 September 12: V.Ivant (emutils-V09-05-38)
- G4VAtomDeexcitation - added computation of sum of energies of
    de-excitation gamma and electron produced AlongStep;
    use logical OR instead of AND for de-exitation flags 
- G4VEnergyLossProcess - fixed energy balance for the case of de-excitation
    AlongStep  

17 September 12: V.Ivant (emutils-V09-05-37)
- G4VAtomDeexcitation - fixed de-excitation AlongStep by substitution 
    which limited de-ecitation from ion ionisation
- G4VEnergyLossProcess - take into account modifications for
    G4VAtomDeexcitation in order to keep energy balance  

06 August 12: V.Ivant (emutils-V09-05-36)
- G4VMultipleScatteringProcess - added call to ReLocate PostStep

06 August 12: V.Ivant (emutils-V09-05-35)
- G4VMultipleScatteringProcess - change final position PostStep to
    bypass bug in parallel transportation

28 August 12: V.Ivant (emutils-V09-05-34)
- G4VMultipleScatteringProcess - improved debug printout

24 August 12: V.Ivant (emutils-V09-05-33)
- G4VMultipleScatteringProcess, G4VMscModel - sampling scattering
    is moved from PostStep to AlongStep
- G4VEmProcess - fixed minor memory leak at destruction

14 August 12: V.Ivant (emutils-V09-05-32)
- G4VEnergyLossProcess - fixed non-reproducibility by extention
    of initialisation in StertTracking method for ions
- G4VEmProcess - removed over initialisation in StartTracking
- G4EmModelManager - improve printout on models 

09 August 12: V.Ivant (emutils-V09-05-31)
- G4VMultipleScattering - allowed to change position and direction 
    AlongStep

01 August 12: V.Ivant (emutils-V09-05-30)
- G4EnergyLossMessenger - Allow to apply bising UI commands only
    in G4_Idle state

30 July 12: V.Ivant (emutils-V09-05-29)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering -
    use the same list of particles for printout at initialisation
    in the case of verboseLevel=1 

20 July 12: V.Ivant (emutils-V09-05-28)
- G4VEnergyLossProcess - similar fix as for G4VEmProcess
- G4VEmAngularGenerator - cleanup comments, removed obsolete methods  

19 July 12: V.Ivant (emutils-V09-05-27)
- G4VEmProcess - fixed problem introduced in previous tag making
    possible infinite loop in DNA tracking of 6 eV electron 

17 July 12: V.Ivant (emutils-V09-05-26)
- G4VEnergyLossProcess, G4VEmProcess - updated tracking parameters 
    and flags in PostStepGetPhysicalInteractionLength
- G4EmBiasingManager - fixed bug in bremsstrahlung splitting, which
    practically forbid splitting

13 July 12: V.Ivant (emutils-V09-05-25)
- G4VEnergyLossProcess, G4LossTableManager - removed unused method 
    InitialiseMSC

13 July 12: V.Ivant (emutils-V09-05-24)
- G4EmBiasingManager - do not using dynamic weight for Russian roulette

12 July 12: V.Ivant (emutils-V09-05-23)
- G4VEnergyLossProcess, G4VMultipleScattering, G4VEmModel - added 
  implementation of new method StartTracking 
- G4VMscModel - changed initialisation of the new track using
    StartTracking method 
- G4VEmAngularDistribution - add temporary dummy implementation of virtual
    sampling methods - will be removed when all generators will migrated
    to the new signature

10 July 12: G.Cosmo (emutils-V09-05-22)
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

05 July 12: V.Ivant (emutils-V09-05-21)
 - G4EmCorrections, G4VEmModel, G4VMscModel - fixed shadowing

04 July 12: V.Ivant (emutils-V09-05-20)
 - G4VMscModel - method Value() is moved to G4VEmModel
 - G4VEmProcess - added extra option allowing to build two different tables
     for low-energy and high-energy using different interpolation method,
     for that added optinal extra energy limit and SetMinKinEnergyPrim(G4double)
     method, improved initialisation of tables and initialisation printout
 - G4EmTableType - added type fIsCrossSectionPrim
 - G4EmModelManager - added possibility to build high energy table of
     cross sections
 - G4VEmAngularDistribution - cleanup user interface 

08 June 12: D. Sawkey
 - G4VEmProcess fix for first part of bug 1314. Force if step==1 (see 30May12) 

08 June 12: V.Ivant (emutils-V09-05-19)
 - Fixed shadowing

06 June 12: V.Ivant (emutils-V09-05-18)
 - G4VMscModel - trying optimise inline methods
 - G4VMultipleScattering - trying optimise initialisation and reduce
     number of checks in run time
 - G4LossTableManager - moved inline methods to the source
 - G4EmBiasingmanager - add check on number of secondaries PostStep,
   if it is not 1 then disable both spliting and Russian roulette,
   this does not affect ordinary delta-electron and bremssrahlung
   secondary biasing (splitting and Russian roulette);
   Dynamic weight approach (weight is function of secondary energy)
   is applied for Russian roulette if biasing limit energy is set 
   below 1 GeV, alternatively costant factor is used 

05 June 12: V.Ivant (emutils-V09-05-17)
 - G4VMscModel - allow build transport x-section table for d,t,He3,He4

01 June 12: D. Sawkey (emutils-V09-05-16)
 - G4EnergyLossMessenger: Put back in guidance for high energy limit for 
   bremsplitting, russian roulette
31 May 12: D. Sawkey
    G4EmBiasingManager:Put back in high energy limit for Russian roulette, 
    bremsplitting

31 May 12: V.Ivant (emutils-V09-05-15)
30 May 12: D. Sawkey
 - G4VEnergyLossProcess bug 1314 fix: for forced biasing, now force if step==1

30 May 12: D. Sawkey 
 - G4VEmProcess, G4VEnergyLossProcess. for forced interaction, cross-
   section biasing, set weight consistently

29 May 12: D. Sawkey
- G4EmBiasingManager, G4VEmProcess, G4VEnergyLossProcess, 
  G4EmProcessOptions, G4EnergyLossMessenger: Change brem splitting to 
  EGS-style with unique secondaries. Only brem split particles with 
  weight > 1/N (N=brem splitting factor), and only Russian Roulette 
  with weight < 1. Energy limit no longer used.

28 May 12: V.Ivant (emutils-V09-05-14)
- G4EmCalculator - fixed FindRegion

18 May 12: V.Ivant (emutils-V09-05-13)
- G4EmModelManager - improved printout of model energy limits
- G4VEmModel - added inline methods HighEnergyActivationLimit(),
    LowEnergyActivationLimit(), ForceBuildTableFlag(), ForceBuildTable()
- G4VMscModel - updated GetRange() and GetEnergy() methods allowing to
    use the same model class for many particles

09 May 12: V.Ivant (emutils-V09-05-12)
- G4ElectronIonPair - use inverse FanoFactor to simplify formula

09 May 12: V.Ivant (emutils-V09-05-11)
- G4VMultipleScatetring - improved printout at initialisation
- G4ElectronIonPair - cleanup implementation of sampling of number of ions

26 April 12: V.Ivant (emutils-V09-05-10)
- G4EmCalculator - fixed GetMeanFreePath for msc processes (bug introduced
    in previous tags)

20 April 12: V.Ivant (emutils-V09-05-09)
- G4LossTableManager - added methods MinKinEnergy, MaxkinEnergy
- G4EmModelManager - extended printout if cross section table is built for
                     the model
- G4EmCalculator - improved model selection for msc processes
- G4VMultipleScatetring - removed transport cross section table,
                          simplified AlongStepGetPhysicalInteractionLength
                          method, added protection against zero
                          kinetic energy into PostStepDoIt,
                          general cleanup of the code
- G4VMscModel - added building of transport cross section table and new 
                method GetTransportCrossSection to be used in run time
- G4LossTableBuilder - added method BuildTableForModel

19 April 12: V.Ivant (emutils-V09-05-08)
- G4EmCorrections : A.Ribon fixed reproducibility violation due to the cashing
    of IonHighOrderCorrections with a vector depending on the ion charge.
    The correction depends not only on the ion charge but also on its
    mass, therefore the cashing based on the ion charge only depends on
    which isotope is encountered first, which depends on the history,
    and violated the reproducibility. The fix consists of using a map
    for cashing, with the key given by the PDG encoding of the ion,
    which is unique for each isotope.
- G4VEmProcess - use ProposeWeight instead of ProposeParentWeight
    to fix weights of secondary particle for gamma processes
- G4LossTableManager - minor correction of number of bins per decade

15 April 12: V.Ivant (emutils-V09-05-07)
- G4LossTableBuilder - added method BuildTableForModel allowing to build
    G4PhysicsTable for a model
- G4VEmModel - added virtual method Value, by default computes cross section
- G4VMscModel - added method GetTransportMeanFreePath 

19 March 12: V.Ivant (emutils-V09-05-06)
- G4EmCalculator - fixed compillation warning at gcc 4.6

15 March 12: V.Ivant (emutils-V09-05-05)
- G4LossTableManager - added a check and protection against double
    registration of the same process; this addition allows to use
    the same EM energy loss process for different particle types
- G4EmCalculator - modifed method to access a process taking into account 
    that the same process may used by different particle type;
    added new methods ActiveForParticle, FindEnLossProcess,
    FindDiscreteProcess, FindMscProcess

5 March 12: V.Ivant (emutils-V09-05-04)
- G4VEnergyLossProcess fixed crash due to apply G4hIonisation for ions;
- G4VEnergyLossProcess, G4VEmProcess, G4LossTableBuilder - delete old 
     G4PhysicsVectors if new vectors are built between runs
- G4VAtomDeexcitation - use safe method to extract integer Z

29 February 12: V.Ivant (emutils-V09-05-03)
- G4VEnergyLossProcess fixed computation of delta-electron cross section 
    for ions and very small cuts (about 1 um), reported by Sergio Ibarmia 

21 February 12: V.Ivant (emutils-V09-05-02)
- G4VEmAngularDistribution added new method Initialise 

21 February 12: V.Ivant (emutils-V09-05-01)
- G4VEmAngularDistribution added two new methods SampleCosinePolarAngle
    and SampleDirection

7 February 12: V.Ivant (emutils-V09-05-00)
- G4VAtomDeexcitation - add activation of deexcitation for the world
    if deexcitation is activated but G4Regions for deexcitation 
    are not defined

10 November 11: V.Ivant (emutils-V09-04-51)
- G4LossTableManager, G4EmModelManager - fixed defects reported by 
    Coverity - private assignment operator and copy constructor added

3 November 11: V.Ivant (emutils-V09-04-50)
- G4VEnergyLossProcess, G4VEmProcess - a check on zero kinetic
  energy PostStep is added; the status is changed to fStopAndKill or
  fStopButAlive 

1 November 11: V.Ivant (emutils-V09-04-49)
- G4VEnergyLossProcess, G4VEmProcess, G4EmBiasingManager - fixed 
    initialisation and improved cout for usage of secondary biasing

31 October 11: V.Ivant (emutils-V09-04-48)
- G4LossTableBuilder - fixed initialisation logic for usage by
    G4EnergyLossForExtrapolator

31 October 11: V.Ivant (emutils-V09-04-47)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering,
  G4LossTableBuilder - fixed initialisation for the case of usage
    of variable density materials and a session with more than 1 run

28 October 11: V.Ivant (emutils-V09-04-46)
- G4VEnergyLossProcess, G4VEmProcess, G4EmProcessOptions,
  G4EnergyLossMessenger - added a flag of change of weight for
     cross section biasing and forced interaction option 

21 September 11: V.Ivant (emutils-V09-04-45)
- G4VEnergyLossProcess, G4EmBiasingManager, G4EmProcessOptions,
  G4EnergyLossMessenger - added upper limit in energy for secondary 
                          particle biasing
- G4EnergyLossMessenger - updated UI commands for PIXE

16 September 11: V.Ivant (emutils-V09-04-44)
- G4VEnergyLossProcess - added extra protection for correction to
    energy loss to avoid ions travel forever

12 September 11: V.Ivant (emutils-V09-04-43)
- G4EmBiasingManager - fixed biasing weight for splitting

12 September 11: V.Ivant (emutils-V09-04-42)
- G4EnergyLossMessenger - fixed new biasing UI command

10 September 11: V.Ivant (emutils-V09-04-41)
- G4VEnergyLossProcess, G4EmBiasingManager, G4EmProcessOptions,
  G4EnergyLossMessenger - added Russian roulette

7 September 11: V.Ivant (emutils-V09-04-40)
- G4VEnergyLossProcess, G4EmBiasingManager, G4VEmProcess - updated 
  computation of weight for biasing options

7 September 11: V.Ivant (emutils-V09-04-39)
- G4VEnergyLossProcess, G4EmBiasingManager, G4EmProcessOptions,
  G4EnergyLossMessenger - added bremsstrahlung splitting
- G4VEmModel - removed obsolete method SampleDeexcitationAlongStep

29 August 11: V.Ivant (emutils-V09-04-38)
- G4VEnergyLossProcess - fixed initialisation for alpha and He3 
                         introduced in previous tag

29 August 11: V.Ivant (emutils-V09-04-37)
- G4VEnergyLossProcess - fixed initialisation for ions defined by
                         DNA ion manager
- G4LossTableBuilder - fixed computation of range table for the case 
                       of zero dedx in first bins of dedx table

26 August 11: V.Ivant (emutils-V09-04-36)
- G4LossTableManager, G4EmModelManager - implemented new G4Exceptions
- G4EnergyLossMessenger, G4EmProcessOptions - added new UI commands
    for cross section biasing and forced interaction

18 August 11: V.Ivant (emutils-V09-04-35)
- G4EmModelManager - bug fix in cross section computation for the case
                     of more than 1 model; effect is seen for results
                     when low cuts are used for low-energy Physics Lists

29 July 11: B.Morgan (emutils-V09-04-34)
- sources.cmake : Fixed extension of G4EmBiasingManager.cc in SOURCES list.

28 July 11: V.Ivant (emutils-V09-04-33)
- G4VEmProcess, G4VEnergyLossProcess - removed old obsolete 
  deexcitation scheme; added forced interaction biasing
- G4EmBiasingManager - new class for forced biasing

20 July 11: V.Ivant (emutils-V09-04-32)
- G4VEmProcess, G4VEnergyLossProcess - improved computations
  for the base material approach; added cross section biasing option;
  removed old methods of sampling deexcitation PostStep 
- G4VEmModel, G4VAtomDeexcitation - cleanup method names and comments
- G4EmModelManager - do not create local copy of vector with
  production thresholds (reducing run time memory);
  added printout of deexcitation flag per model

29 June 11: V.Ivant (emutils-V09-04-31)
- G4EmModelManager - fixed smoothing function for cross section
  computations

21 May 11: V.Ivant (emutils-V09-04-30)
- G4LossTableBuilder - removed forgotten debug printout

21 May 11: V.Ivant (emutils-V09-04-29)
- G4LossTableBuilder, G4LossTablemanager - fixed initialisation of base
  material for the case of change of number production cuts between runs

16 May 11: V.Ivant (emutils-V09-04-28)
- G4VEmModel - fixed non-accurate stl vector initialisation

06 May 11: V.Ivant (emutils-V09-04-27)
- G4VAtomDeexcitation - improved printout
- G4EnergyLossTables, G4VEnergyLoss - fixed Coverity warnings

30 May 11: V.Ivant (emutils-V09-04-26)
- G4LossTableBuilder - fixed initialisation of variable density for the 
    case when PhysicsTables are not used

27 May 11: V.Ivant (emutils-V09-04-25)
- G4VEmProcess, G4VEnergyLossProcess - fixed previous tag for the case 
    when tables are not built
- G4VAtomDeexcitation - (A.Mantero) fixed inline method 

27 May 11: V.Ivant (emutils-V09-04-24)
- G4LossTablemanager, G4LossTableBuilder, G4VEmProcess,
  G4VMultipleScattering, G4VEnergyLossProcess - added base material
    approach - build Physics Vectors only for base materials and 
    scale values for other materials

24 May 11: V.Ivant (emutils-V09-04-23)
- G4EmModelManager, G4EmCalculator - changed smoothing function 
  between two models, effect is seen for protons in non-NIST water

16 May 11: V.Ivant (emutils-V09-04-22)
- G4VEnergyLoss - fixed gcc-4.6.0 warnings

04 May 11: V.Ivant (emutils-V09-04-21)
- G4VEmProcess - removed parasitic printout due to tag 19

04 May 11: V.Ivant (emutils-V09-04-20)
- Fixed Coverity warnings

03 May 11: V.Ivant (emutils-V09-04-19)
03 May 11: V.Ivant (emutils-V09-04-18)
- G4EmProcessSubType - added fNuclearStopping=8 sub-type

01 May 11: V.Ivant (emutils-V09-04-17)
- G4VEmProcess - allow to use the Integral approach also if Physics
  Table is not built (before was forbidden)

19 April 11: V.Ivant (emutils-V09-04-16)
- G4VEnergyLossProcess - start cross section table from energy threshold
  and not from minimal kinetic energy, number of bins is reduced, cross
  section starts from zero value

06 April 11: V.Ivant (emutils-V09-04-15)
06 April 11: V.Ivant (emutils-V09-04-14)
- G4ElectronIonPair - (V.Grichine) substitute Gaussian sampling
    by Gamma function sampling of number of electron/ion pairs

31 March 11: V.Ivant (emutils-V09-04-13)
- G4VEmModel - use linear interpolation for G4EmElementSelectors
   to avoid numerical inprecision for small number of bins
   (increase number of bins will require extra memory)

30 March 11: V.Ivant (emutils-V09-04-12)
- G4VEmModel - rename private members to avoid usage of the same names

28 March 11: V.Ivant (emutils-V09-04-11)
- Return old methods in G4VAtomDeexcitation, which are still used
  in EM examples   

28 March 11: V.Ivant (emutils-V09-04-10)
- Cleanup G4VAtomDeexcitation methods

28 March 11: A. Mantero (emutils-V09-04-09)
- Updated G4VAtomDeexcitation methods names and in referring classses
- Created G4AtomicShellEnumerator (from old G4VAtomicDeexcitation)

28 March 11: V.Ivant (emutils-V09-04-08)
- G4VMscModel - updated signature of GetRange and GetEnergy methods
- G4EmProcessOptions - improved names of methods for deexcitation

25 March 11: V.Ivant (emutils-V09-04-07)
- G4VMscModel - added Get/Set method for ionisation process
- G4VMultipleScattering - use these methods in run time 

18 March 11: V.Ivant (emutils-V09-04-06)
- G4VMscModel - add protected method for common computation of 
  range and energy for all msc models
- G4EmProcessOptions, G4EnergyLossMessenger, G4LossTableManager,
  G4VAtomDeexcitation - cleanup options for deexcitation

04 March 11: V.Ivant (emutils-V09-04-05)
- G4VEmModel - removed obsolete method MinEnergyCut
- G4VMultipleScattering - fix problem of initialisation of true
  step length when multiple scattering model is inactive (needed for 
  DNA Phsyics List)

02 February 11: V.Ivant (emutils-V09-04-04)
- G4VEmModel - reduced in 2 times memory for element selectors data
                (ATLAS concern)

31 January 11: V.Ivant (emutils-V09-04-03)
- G4VEmModel - fixed problem of deexcitation flags - allow
               set this flag by user command

17 January 11: V.Ivant (emutils-V09-04-02)
- G4LossTableManager - fixed problem happens at initilisation, when
  bremsstrahlung process is instantiated but not added to the 
  Physics List

04 January 11: V.Ivant (emutils-V09-04-01)
- G4EmCalculator, G4VAtomDeexcitation, G4EnergyLossMessenger -
  cleanup logic of activation of deexcitation and computation of 
  ionisation cross sections

24 December 10: V.Ivant (emutils-V09-04-00)
- G4VEnergyLossProcess - fixed minor memory leak at initialisation
- G4EnergyLossTables - fixed Coverity warnings

2 December 10: V.Ivant (emutils-V09-03-30)
- G4EmCorrections - fixed minor memory leak at initialisation

23 November 10: V.Ivant (emutils-V09-03-29)
- G4EmProcessOptions, G4EnergyLossMessenger - added forgotten option

22 November 10: V.Ivant (emutils-V09-03-28)
- G4VAtomDeexcitation - added lowestKinEnergy (fixed FPE report)

21 November 10: V.Ivant (emutils-V09-03-27)
- G4VAtomDeexcitation, G4EmProcessOptions - fixed initialisation
- G4EmCalculator - improved cross section calculation

18 November 10: V.Ivant (emutils-V09-03-26)
- G4VAtomDeexcitation, G4VEnergyLossProcess improved printout at
  initialisation

16 November 10: V.Ivant (emutils-V09-03-25)
- G4EmCorrections - used G4PhysicsVector for approximation of the 
                    Barkas correction; cleanup comments

13 November 10: V.Ivant (emutils-V09-03-24)
- G4EmCorrections - fixed computation of shell corrections according
   to prescriptions of original papers; added Bichsel approximation 
   for Barkas corrections for the large Z > 47

04 November 10: V.Ivant (emutils-V09-03-23)
- Fixed part of problems reported by the Coverity tool 
  (mainly initialisation)

25 October 10: V.Ivant (emutils-V09-03-22)
- Fixed problems reported by the Coverity tool (mainly initialisation)

15 October 10: V.Ivant (emutils-V09-03-21)
- G4VEmAngularDistribution - new general interface
- G4VBremAngularDistribution moved from lowenergy
- G4VEmModel - G4VEmAngularDistribution added and Get/Set methods
- G4VEnergyLossProcess - fixed bug #1141 (L.Pandola)

07 September 10: V.Ivant (emutils-V09-03-20)
- G4VMscModel - in computation of the displacement added
                a protection limited displacement to be incide current
                volume (address bug #1128)
- G4LossTableManager - a little cleanup of interfaces
- G4ElectronIonPair - added method SampleNumberOfIonsAlongStep
- G4EmCalculator - return back tag 18

23 August 10: V.Ivant (emutils-V09-03-19)
G4VEnergyLossProcess - minor optimisation of PostStepDoIt (in some cases
  one call to the log of random number less)

17 August 10: V.Ivant (emutils-V09-03-18)
G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, G4VEmModel,
G4EmMultiModel - substituted obsolete method GetDefinition() of the class
                 G4DynamicParticle by the new one GetParticleDefinition()

29 July 10: V.Ivant (emutils-V09-03-17)
G4EmMultiModel - fixed and cleaned up
G4VMultipleScattering - added more detailed printout for kaon+
G4LossTableManager - added pointer and access method to G4ElectronIonPair

4 June 10: V.Ivant (emutils-V09-03-16)
Previous tag was set from wrong directory

4 June 10: V.Ivant (emutils-V09-03-15)
G4EmConfigurator - fixed case of more than one model is added per a process

4 June 10: V.Ivant (emutils-V09-03-14)
G4EmCorrections - moved G4AtomicShell header into source

26 May 10: V.Ivant (emutils-V09-03-13)
G4VEmModel - added method ChargeSquareRatio to access current charge of an ion
G4VEnergyLossProcess - use this new method

10 May 10: V.Ivant (emutils-V09-03-12)
G4VEmProcess - cleanup printout at initialisation for scattering process

28 April 10: V.Ivant (emutils-V09-03-11)
G4VEmProcess, G4VEnergyLossProcess, G4VEmModel - provided GetCurrentElement method
                       (addressed bug report #1115 and HyperNews request)

27 April 10: V.Ivant (emutils-V09-03-10)
G4LossTableManager   - added class member and a method GetNumberOfBinsPerDecade
G4VEmModel           - use GetNumberOfBinsPerDecade and spline flag to initialise 
                       G4EmElementSelector (addressed bug report #1115)
G4EmElementSelector  - use spline flag to construct vectors probabilities
G4EmProcessOptions   - removed double implementation of initialisation code,
                       which already exist in G4LossTableManager
G4VEnergyLossProcess - call CorrectionsAlongStep only for ions (minor CPU saving)

23 April 10: V.Ivant (emutils-V09-03-09)
G4VEnergyLossProcess - removed unused variable 

12 April 10: V.Ivant (emutils-V09-03-08)
G4EmModelManager - do not use min energy cut defined by models allowing
                   decreasing of cuts in limit to zero
G4EmCalculator - fixed GetCrossSection method

12 April 10: V.Ivant (emutils-V09-03-07)
G4LossTableManager - added methods PreparePhsyicsTables, BuildPhysicsTables,
                     and changed initialisation of models via G4EmConfigurator
G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - added
                     calls of new G4LossTableManager methods
                     PreparePhsyicsTables, BuildPhysicsTables
G4EmConfigarator - upgraded and fixed old problem

06 April 10: V.Ivant (emutils-V09-03-06)
G4VEnergyLossProcess - use the same method to build cross section table 
                       as DEDX table (use copy constructors to reduce
                       number of calls to std::exp)
G4EmModelManager - cleanup comments

22 March 10: V.Ivant (emutils-V09-03-05)
G4EmCorrections - added protection against large Barkas and Bloch
                  corrections in the case of large negatively charged 
                  particle (100*e-) - fixed problem reported by ATLAS
G4EmCalculator - cleanup

10 March 10: V.Ivant (emutils-V09-03-04)
G4VEmModel, G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, 
G4LossTableManager - reorder inline methods and add comments

05 March 10: V.Ivant (emutils-V09-03-03)
G4VMscModel, G4VMultipleScattering - set skin=1.0 as a default

24 February 10: V.Ivant (emutils-V09-03-02)
G4VEmProcess - move SetBuildTableFlag method from protected to public

17 February 10: V.Ivant (emutils-V09-03-01)
G4VEmProcess - fixed problem for ion processes by adding pointer to
               currentParticle which may be different from GenericIon

22 January 10: V.Ivant (emutils-V09-03-00)
G4VEmProcess - added protection against negative cross section
G4VEnergyLossProcess - added protection against negative cross section;
                     - improved logic in RetrieveTable method

23 November 09: V.Ivant (emutils-V09-02-24)
G4EmConfigurator - fixed bug in selection of models

22 November 09: V.Ivant (emutils-V09-02-23)
G4EmCalculator - take into account CorrectionAlongStep for ions

10 November 09: V.Ivant (emutils-V09-02-22)
G4EmCalculator - added method FindIon; improve computation for ions
                 allowing to be applied for the model based on ICRU'73 

10 November 09: V.Ivant (emutils-V09-02-21)
G4VEmProcess - improved printout

29 September 09: V.Ivant (emutils-V09-02-20)
- G4VMultipleScattering - added SetModel method
- G4EmCorrections - fixed bug reported in phys-list forum #532
- G4ionEffectiveCharge - return back lost protection for zero energy
- G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger - added
          parameter FactorForAngleLimit, Set/Get methods and UI command
          to be used computation of limit on -t (invariant momentum transfer)
          inside single scattering and G4WentzelVI models

29 September 09: V.Ivant (emutils-V09-02-19)
- G4EmElementSelector - fixed forgotten migration to updated G4PhysicsVector 

25 September 09: V.Ivant (emutils-V09-02-18)
- G4VEmModel - insure definition of pointer to the G4MaterialCutsCouple
               object both at initialisation and in run time
- G4EmSaturation - use PDG encoding instead of pointer to G4ParticleDefinition

11 August 09: V.Ivant (emutils-V09-02-17)
- G4EmModelManager - reduced length of internal arrays, simplified
    initialisation, in particular, smoothing procedure, the size of
    executable should be reduced  
- G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess, 
  G4LossTableBuilder - use copy constructors to create Physics Vectors in 
    order to reduce number of calls to log function

30 July 09: V.Ivant (emutils-V09-02-16)
- G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess - fixed
     bug in RetrieveTables - check that each its PhysicsVector was
     retrieved before set of SplineFlag

24 July 09: V.Ivant (emutils-V09-02-15)
- G4AtomicShell class moved from lowenergy
- G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess - added 
     initialisation of polarAngleLimit and highEnergyLimit parameters
     for all models

22 July 09: V.Ivant (emutils-V09-02-14)
- G4VEmProcess - modified method SelectModel required for the
                 G4NuclearStopping process

20 July 09: V.Ivant (emutils-V09-02-13)
- G4VMultipleScattering - added initialisation of generic msc model 
                          parameters in this base class (allowing
                          to overwrite default models)
- G4EmConfigurator - cleanup
- G4VMscModel - set facsafety=0.3 as it is defined in Urban models 

9 July 09: V.Ivant (emutils-V09-02-12)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering,
  G4LossTableBuilder - used updated G4PhysicsVector (no hidden bin anymore);
                       used Energy() and Value() methods instead of
                       GetLowEdgeEnergy() and GetValue()
- G4VEnergyLossProcess - fixed retrieve from ASCII files
- G4VMultipleScattering - remove method obsolete GetMscContinuesStepLimit 
- G4VAtomDeexcitation - a new header file

27 May 09: V.Ivant (emutils-V09-02-11)
- G4VMultipleScattering - discarded changes from the previous tag

26 May 09: V.Ivant (emutils-V09-02-10)
- G4VEmModel: remove protection in  from previous tag and include protection
              to G4ParticleChangeForLoss;
              more save initialisation of G4EmElementSelectors
- G4VMultipleScattering - added a protection against zero kinetic energy  
- G4EmElementSelector - do not use spline

22 May 09: V.Ivant (emutils-V09-02-09)
- Added protection into G4VEmModel for zero input energy

15 May 09: V.Ivant (emutils-V09-02-08)
- Added new testG4EnergyLossTables and fixed GNUmakefile for tests

10 May 09: V.Ivant (emutils-V09-02-07)
G4EmElementSelector - added protection for zero cross section at first and last
                      bins of physics vector
G4VMscModel, G4VMultipleScattering - set default Range Factor to 0.04

17 April 09: V.Ivant (emutils-V09-02-06)
- G4EmModelManager - fixed energy range selection algorithm for the case of
                     a small intersection of model energy intervals
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - set high enegry
                     limit 10 TeV and number of bins 77

08 April 09: V.Ivant (emutils-V09-02-05)
- G4LossTableManager - added G4EmConfigurator providing easier addition of 
                       models per region
- G4VMultipleScattering, G4VEmProcess, G4VEnergyLossProcess: added
                       initialisation of the G4EmConfigurator

08 April 09: V.Ivant (emutils-V09-02-04)
- G4EmModelManager - fixed energy range selection algorithm for the case 
                     when there is an intersection of energy regions of standard
                     and low-energy models, 
                   - reduce internal vectors if no model per region are initialized.
                   - do not initilise unused models.
- G4VEmModel - msc methods are moved to G4VMscModel, added protected
               methods for initialisation of ParticleChange             
- G4VMultipleScattering, G4VEmProcess, G4VEnergyLossProcess:
  methods for initialisations are moved from inline to source

26 February 09: V.Ivant (emutils-V09-02-03)
G4EmConfigurator - fixed for the case if only fluctuation model is set
                   and main model is default

22 February 09: V.Ivant (emutils-V09-02-02)
- G4VEmModel - make methods to access geometry protected, added new
               method SetSampleZ, added geommax private member
- G4EmCalculator - added possibility to be used by DNA processes:
                   take into account special DNA particles 

18 February 09: V.Ivant (emutils-V09-02-01)
G4VEmModel, G4VEmFluctuationModel, G4VEnegryLossProcess, G4VEmProcess, 
G4VMultipleScattering - move all virtual methods to source, update comments
G4VEmModel - added flagDeexcitation and Get/Set methods
G4VEnegryLossProcess, G4VEmProcess - added calls to deexcitation PostStep
G4EmProcessOptions - added ActivateDeexcitation method
G4EnergyLossMessenger - added /process/em/deexcitation UI command 
G4LossTableBuilder - added protection in BuildRangeTable against zero dedx 

27 January 09: V.Ivant (emutils-V09-02-00)
G4VEmModel - added method SampleDeexcitationAlongStep
G4VEnegryLossProcess - added deexcitation AlongStep per region
G4VMscModel - added methdos: InitialiseSafetyHelper, ComputeSafety,
              ComputeGeomLimit, ComputeDisplacement
G4VEmProcess - added possibility to set more than 1 model

20 November 08: V.Ivant (emutils-V09-01-37)
G4EmConfigurator - fixed energy interval selection for a model
G4VMultipleScattering - set process sub-type 10 to distinguish with 
                        single Coulomb scattering 

13 Novemver 08: A.Schaelicke (emutils-V09-01-36)
G4LossTableManager - changed default LPM effect to ON again
G4VEmModel - (VI) add LPM flag and Get/Set methods

12 November 08: V.Ivant (emutils-V09-01-35)
G4VEmModel - fixed memory leak by destruction G4EmElementSelectors
G4EmSaturation - activate saturation for energy deposition due to 
                 photo-electric effect

24 October 08: V.Ivant (emutils-V09-01-34)
G4EmProcessSubType - moved optical processes enumeration to optical directory

20 October 08: V.Ivant (emutils-V09-01-33)
G4EnergyLossMessenger - added /process/em/applyCuts command

17 October 08: V.Ivant (emutils-V09-01-32)
G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering set number
   of bins for tables 7 per decade 

15 October 08: V.Ivant (emutils-V09-01-31)
G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering improved cout

14 October 08: V.Ivant (emutils-V09-01-30)
G4VEmModel - add secondaryThreshold variable and Get/Set methods
G4EmCorrections - define the range of correction vector 25 keV - 2.5 MeV,
                  as it is in ICRU'73 table, use 20 bins
G4LossTableManager - set spline option "true" and flagLPM "false" by default
G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering set default
                  table size 0.1 keV - 100 TeV in 60 bins
G4EmModelManager - included G4EmProcessSubType.hh header
G4EmTableType.hh - changed enumeration names fIonisation -> fIsIonisation,
                   fSubIonisation -> fIsSubIonisation to avoid clash with
                   sub-type enumeration name 

21 September 08: V.Ivant (emutils-V09-01-29)
G4EmCorrections - do not compute ion corrections if for ions 
                  G4hIonisation process is used

21 September 08: V.Ivant (emutils-V09-01-28)
G4ionEffectiveCharge - remove chargeFactor - return to 01-25 
G4VEnergyLossProcess - fixed initialisation;

12 September 08: V.Ivant (emutils-V09-01-27)
G4VEmProcess - improved verbose output
G4VEnergyLossProcess - added pointer to current G4VEmModel;
                       removed method CorrectionsAlongStep, instead 
	               corresponding method of a model are used;
                       improved verbose output
G4VEmFluctuationModel - added method SetParticleAndCharge
G4VEmModel - minor optimisations of SelectRandomAtom and SelectIsotope;
             added methods GetParticleCharge, GetChargeSquareRatio, 
             CorrectionsAlongStep, ActivateNuclearStopping needed for 
             simulation of ion transport
G4EmCorrections - added interfaces to effective charge 
G4ionEffectiveCharge - added variable chargeFactor to be used for He ions

29 August 08: V.Ivant (emutils-V09-01-26)
G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess - use 
                   new DumpModelList method from G4EmModelManager
                   in the verbosity output
G4EmModelManager - fixed crash in destructor when verbosity > 1;
                   fixed selection of models per energy;
                   update printout with DumpModelList method

21 August 08: V.Ivant (emutils-V09-01-25)
G4VEmModel - add parameter kinEnergy to SetupMaterial method;
             set pointer currentElement in ComputeCrossSectionPerAtom
G4EmElementSelector - update usage of methods SetupMaterial and 
	     ComputeCrossSectionPerAtom

3 August 08: V.Ivant (emutils-V09-01-24)
G4EmCorrections - dEdx data for ions are initialised at the start of a run for
                  materials used in geometry; search for ion/material pairs updated
G4EmCalculator - improved cout

31 July 08: V.Ivant (emutils-V09-01-23)
G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess - use verbosity flag
    for GetEmModel method
G4VEmModel - use stl vector for cross sections instead of array

21 July 08: V.Ivant (emutils-V09-01-22)
G4VEmModel - added vector of G4ElementSelectors, in which vectors
             of relative cross sections per elements of a compound 
             material are stored; added new methods:
             InitialisaElementSelectors and SelectRandomAtom,
G4LossTableBuilder - remove dependence on G4LossTableManager
G4LossTableManager - propagated spline flag to G4LossTableBuilder            

15 July 08: V.Ivant (emutils-V09-01-21)
G4EmConfigurator - a new helper class to add model per particle type,
                   process, energy range and G4Region
G4VEmProcess, G4VEnergyLossProcess - renamed and improved method 
                   "MicroscopicCrossSection" by "CrossSectionPerVolume"
G4VEmModel, G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess 
                   reodering of members of classes and improved comments:
                   - separated members fixed at construction, defined at 
                     ininitialisation, and modified in run time
                   - improved comments in header files
G4LossTableManager - added register/deregister mechanism and deletion
                   at the end of job for G4VEmModel
G4EmModelManager - does not delete models anymore

9 July 08: V.Ivant (emutils-V09-01-20)
G4ElectronIonPair - a new helper class to sample number of primary ionisations
                    in detectors 

8 July 08: V.Ivant (emutils-V09-01-19)
G4VEmModel - added inline method ComputeCrossSectionPerAtom 
G4LossTableManager and G4EnergyLossTable - remove call to exit() 

9 June 08: V.Ivant (emutils-V09-01-18)
G4ionEffectiveCharge - return back Ziegler formula for effective charge of ions;
                       min effective charge is 1.0 (instead of 0.1)
G4EmCorrections - a minor change of the scale for external ion data 

2 June 08: V.Ivant (emutils-V09-01-17)
G4ionEffectiveCharge - use simplified formula for effective charge of ions

28 May 08: V.Ivant (emutils-V09-01-16)
G4VEmModel - added virtual method SetupForMaterial 
G4EmElementSelector - helper class to sample random G4Element in a
                      compound material

28 May 08: V.Ivant (emutils-V09-01-15)
G4VEnergyLossProcess - fixed problem of subcutoff option for ions (ion 
                       ranges were wrong)
G4LossableBuilder - use more precise algorith to compute range for the
                    case, when spline is used  

20 May 08: V.Ivant (emutils-V09-01-14)
- G4EmCorrections - computation of the finite size correction is moved to
                    the Bethe-Bloch model 

11 May 08: V.Ivant (emutils-V09-01-13)
- G4VMultipleScattering - make AlongStepGetPhysicalInteractionLength 
  method virtual allowing to overwrite it by a derived class -
  needed for ion simulation
- G4EmCalculator - fixed bug in computation for ions

21 April 08: V.Ivant (emutils-V09-01-12)
- G4VEmModel, G4VEmProcess, G4VMultipleScattering, G4EnergyLossMessenger
  G4EmProcessOptions - introduced polarAngleLimit parameter and Get/Set
  methods for single and multiple scattering models
- G4ionEffectiveCharge - fixed initialisation at first event
- G4EmCorrections - review and fix computation of high order corrections 
                    for ions
- G4EmCalculator - updated computations for ions

08 April 08: V.Ivant (emutils-V09-01-11)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering, 
  G4LossTableBuilder - introduced spline

25 March 08: V.Ivant (emutils-V09-01-10)
- G4EmCorrections - precompute EM formfactor for corrections
- G4VEnergyLossProcess - store bremsstrahlung cross sections

25 March 08: V.Ivant (emutils-V09-01-09)
- G4EmCorrections - added cut dependence into finite size correction
- G4VEnergyLossProcess - added cout of linLossLimit

17 March 08: V.Ivant (emutils-V09-01-08)
- G4EmSaturation - added interface with G4Step 
     
14 March 08: mma (emutils-V09-01-07)
- modifs in G4EmSaturation 

14 March 08: V.Ivant (emutils-V09-01-06)
- G4EmSaturation - added computation of the average recoil mass,
                   use Birks coefficient from G4Material
- G4LossTableManager - fixed logic in compute dedx table for an 
                       inactive process

10 March 08: V.Ivant (emutils-V09-01-05)
- G4LossTableManager, G4EmProcessOptions - added Set/Get spline flag
- G4EnergyLossMessenger - added a command "/process/em/spline"
- G4VMultipleScattering - SetSkin method does not change 
                          StepLimitType anymore
- G4VMscModel - new class to define general msc parameters

21 February 08: V.Ivant (emutils-V09-01-04)
- G4EmSaturation - fixed initialisation problem

21 February 08: V.Ivant (emutils-V09-01-03)
- G4EmCorrections - added correction on effective charge for NIST
  materials in the IonHighOrderCorrections method
- G4EmSaturation - new helper class
- G4LossTableManager - added GetEmSaturation method

14 February 08: V.Ivant (emutils-V09-01-02)
- G4EmCorrections - added IonBarkasCorrection, IonHighOrderCorrections
  and ComputeIonCorrections methods in order to provide a smooth transition 
  between low-energy parameterization and Bethe-Bloch model
- G4ionEffectiveCharge - use precomputed Z^1/3 values, use expantions
  of exp and pow functions, do not perform recomputation if arguments
  of methods unchanged

04 February 08: V.Ivant (emutils-V09-01-01)
- G4VEnergyLossProcess - fixed computation of NIEL at the last step
  of a particle
 
11 January 08: V.Ivant (emutils-V09-01-00)
- G4EmCorrections - improve CPU by usage expansions and precalculated
                    values of Z^0.23
- G4VEnergyLossProcess - fixed list of "collaborative" processes
                         needed for sub-cutoff option

09 November 07: V.Ivant (emutils-V09-00-13)
- G4VMultipleScattering - set at initialisation that scattering may be 
                          off lectrons (needed for single scattering)
- G4EmModelmanager - add pointers to G4Gamma and G4Positron at 
                     initialisation

07 November 07: V.Ivant (emutils-V09-00-12)
- G4VEnergyLossProcess - simplify logic to switch on/off fluctuations
- G4EmProcessOptions - add forgoten initialisation of G4LossTableManager
                       parameters together with parameters of concrete 
                       processes (fixed initialisation when options
                       defined before proceeses are instantiated)

29 October 07: V.Ivant (emutils-V09-00-11)
- G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering
  cleanup - move virtual method to the source code
- G4VMultipleScattering - use SamleScattering method PostStep
- G4VEmModel - added SampleScattering method for msc models
- G4VEnergyLossProcess - set default flags of fluctuation to "false"
                         they changed to "true" when first model
                         of fluctuations is added

08 October 07: V.Ivant (emutils-V09-00-10)
- G4VEmProcess - use cut in PostStepDoIt (before was zero)

04 October 07: V.Ivant (emutils-V09-00-09)
- G4VEnergyLossProcess - fixed problem at destruction

02 October 07: V.Ivant (emutils-V09-00-08)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - fixed
  memory leak - proper delete of G4PhysicsTables 

27 September 07: V.Ivant (emutils-V09-00-07)
- G4ionEffectiveCharge - use Fermi energy from G4Material and not
  recalculate at each step; reorganized formulas - less calls to
  exp, log, pow 

26 September 07: V.Ivant (emutils-V09-00-06)
- G4VEnergyLossProcess and G4VEmProcess - move virtual function
   PostStepGetPhysicalInteractionLength from inline to body of classes

25 September 07: V.Ivant (emutils-V09-00-05)
- G4VEnergyLossProcess and G4VEmProcess - fixed handling zero cross 
  section in PostStepGetPhysicalInteractionLength method to avoid problem
  happans in FanoCavity example when cross section inside cavity is zero
- G4VEmModel - compare cross section with DBL_MIN instead of zero

16 August 07: V.Ivant (emutils-V09-00-04)
- G4EmCalculator - fixed default region name
- G4VEnergyLossProcess - use prestep time for subcutoff secondaries
                         and do not use GetVelocity method

02 August 07: V.Ivant (emutils-V09-00-03)
- G4VEnergyLossProcess - simplify energy loss computation for the case 
                         of big step (few % faster)

28 July 07: V.Ivant (emutils-V09-00-02)
- G4VEnergyLossProcess - use stl vector of G4VEmModel instead of array
- G4VEmProcess - added cut to ComputeCrossSectionPerAtom method;
                 added vector of cuts per material for secondaries,
                 which are needed for single scattering process

16 July 07: V.Ivant (emutils-V09-00-01)
- G4VEmProcess - integral option coupled with buildLambdaTable option:
  integral cannot be true if buildLambdaTable is false

11 July 07: V.Ivant (emutils-V09-00-00)
- G4VEmModel - fixed SelectRandomAtom method (last element of compound
  was never selected - instead first was taken)

20 June 07: V.Ivant (emutils-V08-03-06)
- G4VEnergyLossProcess add initialisation of preStepKinEnergy before 
  run in order to fix a problem of test14 reported by Valgrind 

14 June 07: V.Ivant (emutils-V08-03-05)
- G4LossTableManager - add deletion of G4EmCorrections in destructor

12 June 07: V.Ivant (emutils-V08-03-04)
- G4VEnergyLossProcess fixed estimation of step limit inside
  AlongStepGetPhysicalInteractionLength method - do not use safety

11 June 07: V.Ivant (emutils-V08-03-03)
- G4MscStepLimitType, G4VMultipleScattering, G4EnergyLossMessenger
  substitute name "G4v71" -> "Minimal"

23 May 07: V.Ivant (emutils-V08-03-02)
- G4VEnergyLossProcess, G4VEmProcess - remove method SecondaryPostStep
  use instead a direct call to selected model 

22 May 07: V.Ivant (emutils-V08-03-01)
- G4VEmModel - change interface of SampleSecondary method, it become 
  void, extra parameter std::vector<G4DynamicParticle*>*, this vector
  is now a member of base class G4VEnergyLossProcess, G4VEmProcess,
  no new and delete of the vector in the run time. About 5% speadup
  of EM shower simulation
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering modified 
  to follow this new interface

21 May 07: V.Ivant (emutils-V08-03-00)
21 May 07: V.Ivant (emutils-V08-02-12)
- G4VEnergyLossProcess - speadup the code by added implementation
         method PostStepGetPhysicalInteractionLength;
         added methods InitialiseStep and InitialiseMassCharge 
- G4VEmProcess - speadup the code by added implementation
         method PostStepGetPhysicalInteractionLength;
         add comments to header and inline methods

20 May 07: V.Ivant (emutils-V08-02-11)
- G4VMultipleScattering - speadup the code by added implementation
         of method AlongStepGetPhysicalInteractionLength and 
         do not use ContinuousStepLimit; also added implementation
         of method PostStepGetPhysicalInteractionLength           
- G4VEnergyLossProcess - speadup the code by added implementation
         method AlongStepGetPhysicalInteractionLength and 
         do not use ContinuousStepLimit

18 May 07: V.Ivant (emutils-V08-02-10)
- G4EnergyLossMessenger - make new UI sub-directory "/process/msc"
                          and reorganise UI commands for msc
                          processes; use G4EmProcessOptions as
                          an interface to all EM processes
- G4LossTableManager - remove set msc parameters
- G4EmProcessOptions - update interface to msc processes, add
                       extra methods to set parameters
- G4VEnergyLossProcess - cleanup comments and reorgnize code for
                         easier reading; move short methods to inline;
- G4VMultipleScattering - cleanup comments and reorgnize code for
                         easier reading; move short methods to inline;
                         add method to set msc parameters
- G4MscStepLimitType - is added

10 May 07: V.Ivant (emutils-V08-02-09)
- integrated fixes of emutils-V08-02-06a

25 April 07: V.Ivant (emutils-V08-02-08)
- G4VEnegryLossProcess - move initialisation of safety helper to 
                         BuildPhysicsTable

12 April 07: V.Ivant (emutils-V08-02-07)
- G4VEnegryLossProcess - use unique G4SafetyHelper 
- G4VEmProcess - remove double call to Clear method

08 May 07: V.Ivant (emutils-V08-02-06a)
- G4VEnegryLossProcess - use linearLossLimit 0.05 as in 8.2
- G4EmCorrections - fix division by zero by using ion mass from G4IonTable

19 March 07: V.Ivant (emutils-V08-02-06)
- G4VMultipleScattering - add protection against zero step or energy
- G4EmModelManager - add maxCutInRange variable for sub-cutoff option
- G4EmCalculator - add method ComputeEnergyCutFromRangeCut
- G4EnergyLossMessenger - send message "/run/physicsModified" after all
                          commands, which require reinitialisation
- G4VEnergyLossProcess - use SafetyHelper instead of Navigator
                       - add protection agains zero-length step

16 February 07: V.Ivant (emutils-V08-02-05)
- G4VEnegryLossProcess - change initialisation: linLossLimit=1.e-6
                         improve precision of energy loss for high 
                         energy incident and high cut
                         
13 February 07: V.Ivant (emutils-V08-02-04)
- G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger
  add command MscSkin, linearLossLimit
- G4VMultipleScattering - add SetSkin and Skin methods
- G4LossTableBuilder - use more precise algorithm to build inverse 
                       range table using G4LPhysicsFreeVector

07 February 07: V.Ivant (emutils-V08-02-03)
- G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger
  add command MscLateralDisplacement

16 January 07: V.Ivant (emutils-V08-02-02)
- G4LossTableBuilder - fill new vector for dedx (do not reuse old)
- G4LossTableManager - fix problen of reinitialisation for the next run
                       after activate/desactivate energy loss process
- G4VEmEnergyLossProcess - add members theIonisationTable and 
                           theSubIonisationTables in order to save
                           separately total energy loss and energy
                           loss due to ionisation;  
     
15 January 07: mma (emutils-V08-02-01)
- G4VEmEnergyLossProcess - add SetEmModel(index) add SetFluctModel()

11 January 07: V.Ivant 
- G4LossTableManager - fix problen of initialisation
- G4VEmEnergyLossProcess - fix subcutoff option for bremsstrahlung

10 November 06: V.Ivant (emutils-V08-01-06)
- G4EnergyLossMessenger - add commands binsDEDX, binsLambda

23 October 06: V.Ivant (emutils-V08-01-05)
- G4LossTableManger - add method GetEnergyLossProcess
- G4EmCalculator - 10 keV - 1 keV energy to access lowEnergy ionisation

29 Septenber 06: V.Ivant (emutils-V08-01-04)
- G4EmCalculator add computation of smoothing factor for dedx of hadrons/ions
     
13 September 06: mma (emutils-V08-01-03)
- G4VEmProcess: add function SetModel( G4VEmModel* )

29 August 06: V.Ivant (emutils-V08-01-02)
- G4VEmModel add member currentElement and protected Get/Set methods

15 June 06: V.Ivant (emutils-V08-01-01)
- G4VEnergyLossProcess - make protected LambdaPhysicsVector method
- G4ionEffectiveCharge - add protection for NULL pointer to material

05 July 06: V.Ivant (emutils-V08-01-00)
- G4LossTableManager - do not clear loss table map to avoid crash for
                       activate/desactivate regime with ion gun, 
                       propagate 'RandomStep' flag to processes

07 June 06: V.Ivant (emutils-V08-00-20)
- G4VEnergyLossProcess - Do not change particle momentum AlongStep

02 June 06: V.Ivant (emutils-V08-00-19)
- G4EmCorrections - fix compilation warnings at SUN

22 May 06: V.Ivant (emutils-V08-00-18)
- G4EmProcessOptions, G4LossTableManager - add Get/SetBremsstrahlungTh
  method requested by CMS
- G4ionEffectiveCharge make upper limit of the model proportional to Z

14 May 06: V.Ivant (emutils-V08-00-17)
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - add
  NumberOfModels method
- G4VEnergyLossProces - add random step sampling and minor fix subcut 

13 May 06: V.Ivant (emutils-V08-00-16)
- G4EmCalculator and G4EmCorrections - add correction from user data 
  on stopping power
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering - add
  GetModelByIndex method

10 May 06: V.Ivant (emutils-V08-00-15)
- G4LossTableMessenger - add command MscStepLimitation 
- G4LOssTableManager - add methods SetMscStepLimitation, FacRange,
  and MscFlag

04 May 06: V.Ivant (emutils-V08-00-14)
- G4EmCorrections - fix compilation warning at SUN 

28 April 06: V.Ivant (emutils-V08-00-13)
- G4EmCalculator - remove debug output 
- G4EmCorrections - add finite size correction, cleanup other
- G4ionEffectiveCharge - extend upper limit to 50 MeV

18 April 06: V.Ivant (emutils-V08-00-12)
- G4EmCalculator - fix GetCrossSectionPerVolume problem for gamma

10 April 06: V.Ivant (emutils-V08-00-11)
- Add flag of LPM effect to G4LossTableMessenger, G4LossTableManager and 
  G4EmProcessOptions
- fix problem of activate/desactvate in G4LossTableManager 

29 March 06: V.Ivant (emutils-V08-00-10)
- G4LossTableBuilder fix compilation warning at g++3.4.4

28 March 06: V.Ivant (emutils-V08-00-09)
- G4VEnergyLossProcess - add store energy loss tables for bremsstrahlung
- G4LossTableBuilder & G4LossTableManager - fix logic to ensure rebuild PhysicsTable 
	in the regime activate/desactivate processes
- G4VEmProcess - fix printout

23 March 06: V.Ivant (emutils-V08-00-08)
- G4VEnergyLossProcess add SetDynamicMassCharge (used by ionIonisation)
  use flag isIonisation AlongStep, PrintInfo, and StoreTables     
- G4LossTableManager set flag isIonisation for processes
- G4EmCalculator add public methods ComputeTotalDEDX, ComputeElectronicDEDX
  update GetDEDX for ions

14 March 06 (mma) (emutils-V08-00-07)
- corrections in G4EmCalculator::GetCrossSectionPerVolume,
  GetCrossSectionPerAtom, ComputeCrossSectionPerAtom 

07 March 06: V.Ivant (emutils-V08-00-06)
- Complete design iteration for msc (V.Ivanchenko)
- Add G4DummyModel (V.Ivanchenko)

07 March 06: V.Ivant (emutils-V08-00-05)
- Optimize interfaces to Msc model (G4VEmModel and G4VMultipleScattering)

17 February 06: V.Ivant (emutils-V08-00-04)
- G4VmultipleScattering - Lambda table keep cross section not mfp
- remove obsolete interface G4VSCProcessor.hh
     
06 February 06 mma  (emutils-V08-00-03)
- Added function G4VEmModel::ComputeMeanFreePath() (mma)
     
01 February 06
- G4VEmProcess::ComputeCrossSectionPerAtom(): put default value A=0,
  G4VEmModel::ComputeCrossSectionPerAtom(): put default value A=0,
  to keep compatibility with v5.2 (mma)
   
26 January 06: V.Ivant (emutils-V08-00-02)
- add method GetRangeFromRestricteDEDX for later replacement of GetRange(VI)
- G4VEnergyLossProcess - improve cout (VI) 
- G4VEnergyLossProcess - Fix subcutoff simulation (VI) 

20 January 06: V.Ivant (emutils-V08-00-01)
- Add G4EmTableType.hh enumerator (VI)
- Use G4EmTableType to reduce methods with practically identical code (VI)
- G4VEnergyLossProcess - recalculation of presafety for subcutoff 
                         update energy constrain for subcutoff
                         add energy correction to subcutoff (VI)

11 January 06: V.Ivant (emutils-V08-00-00)
- G4VEnergyLossProcess - simplify subcutoff calculation (VI)
- G4EmCalculator - add GetCSDARange (VI)
- G4VEmProcess - remove dependence on G4NistManager (VI)
- Substitute PreciseRange -> CSDARange (VI)
- Substitute SetStepLimits -> SetStepFunction (VI)
- G4VEnergyLossProcess - remove minStepLimit member and use finalRange (VI)
- G4VEnergyLossProcess - reset currentCouple when StepFunction is changed (VI)

05 December 05: V.Ivant (emutils-V07-01-13)
- G4EmProcessOptions - fix verbosity definition for energy loss processes

29 November 05: V.Ivant (emutils-V07-01-12)
- G4EmModelmanager - add protection for arithmetic operations with cut=DBL_MAX

26 November 05: V.Ivant (emutils-V07-01-11)
- G4EmCalculator - upgrade printout
- G4EmCorrection - fix on calculation of effective charge and Mott correction
                   for heavy ions 

15 November 05: V.Ivant (emutils-V07-01-10)
- G4EnergyLossMessenger: migration to <sstream>

28 October 05: V.Ivant (emutils-V07-01-09)
- Fix problem in G4EmCalculator in ComputeDEDX for ions
- Provide subcutoff regime inside G4VEnergyLossProcess - do not
  use G4VSubCutoffProcessor anymore  
- update subcutoff set method inside G4EmProcessOptions 

27 October 05: V.Ivant (emutils-V07-01-08)
- add virtual method MscStepLimitation() to G4VMultipleScattering
- add SetMscStepLimitation to G4EmProcessOptions

25 October 05: V.Ivant (emutils-V07-01-07)
- G4VEmModel.cc - default energy range from 0.1*keV to 100*TeV to
  make easier initialisation of PAI models
     
17 October 05: L.Urban (emutils-V07-01-06) 
- G4VEnergyLossProcess.cc: protection againg 0 mean loss removed,
  effect cured in standard/G4UniversalFluctuation

07 October 05: L.Urban (emutils-V07-01-05)
- G4VMultipleScattering.hh: error in a protection in GetContinuousStepLimit 
  corrected. Must cowork with emstand-V07-01-14
     
05 October 05: L.Urban (emutils-V07-01-04)
- G4VEnergyLossProcess: added protection against mean_energy_loss = 0 

04 September 05: V.Ivant (emutils-V07-01-03)
- G4VEnergyLossProcess, G4VEmProcess: default lambdaFactor 0.8

02 September 05: V.Ivant (emutils-V07-01-02)
- This tag is 7.1 + bug fixes
- G4VEnergyLossProcess: Integral=true; SetStepFunction(0.2, 1*mm)
  fix a problem #780 connected with d-electron production tmax < cut
- G4EmManager - fix a cut calculation for e+e- pair      

12 August 05: mma (emutils-V07-01-01)
- G4VEnergyLossProcess: Integral=false; SetStepFunction(0.2, 0.1*mm)

25 July 05: V.Ivant (emutils-V07-01-00)
- G4VEnergyLossProcess: add extra protection for non-integral mode
- G4VEmModel, G4VEmFluctuationModel : move constructor anddestructor to the body
- G4VEmProcess - use integral mode only for charged particles

27 May 05: V.Ivant (utils-V07-00-13)
- Fix problem observed for second run after adding/removal materials
- Fix compilation warning at SUN in G4EmCalculator and G4EmCorrections; 

18 May 05: V.Ivant (utils-V07-00-12)
- fix calculation of CrossSection without /run/initialise

12 May 05: V.Ivant (utils-V07-00-11)
- fix calculation of MFP in G4Emcalculator
- cleanup

09 May 05: V.Ivant (utils-V07-00-10)
- Bux fixes in G4VEmProcess, G4VEmModel, G4EmCorrections
     
03 May 05: V.Ivant (utils-V07-00-09)
- fabs -> std::abs

29 April 05: V.Ivant (utils-V07-00-08)
- Fix compilation warning at gcc.3.4

26 April 05: V.Ivant (utils-V07-00-07)
- Fix compilation warning at Windaows

19 April 05: V.Ivant (utils-V07-00-06)
- Add method SelectRandomAtom to G4VEmModel

18 April 05: V.Ivant (utils-V07-00-05)
- G4VEmProcess migrate to G4ParticleChangeForGamma
- G4VMultipleScattering and G4VEmModel - optimise internal interfaces

13 April 05: V.Ivant (utils-V07-00-04)
- Optimization of internal interfaces G4VEmModel, G4VEmFluctuationModel,
  G4VEmProcess, G4VEnergyLossProcess
- Fix range calculation for dedx=0 in G4LossTableBuilder
- Add Mott correction to G4EmCorrection

18 March 05: V.Ivant (utils-V07-00-03)
- Optimization of G4VEmProcess interface for gamma processes
- Put default inline implementation for virtual method of G4VEmModel

11 March 05: V.Ivant (utils-V07-00-02)
- Shift verbose level, set default value 1
- Add flags "ApplyCuts" and "KillPrimary" to G4VEmProcess
- Add G4EmCorrection class

07 March 05: V.Ivant (utils-V07-00-01)
- Fix bug in initialisation of G4VEmProcess

13 Jan 05: V.Ivant (utils-V07-00-00)
- Fix bug which takes place when inactivate eIoni
- Fix problem of effective charge for very slow ions - add protections
- Fix problem of initialisation for ion beam examples

09 Dec 04: V.Ivant (utils-V06-02-22)
- Fix bug related to hadron tests

06 Dec 04: V.Ivant (utils-V06-02-21)
- Minor but critical fix in BuildPhysicsTables for muons
- Fix of BuildDEDXtables for e-, e+, mu+, mu-

01 Dec 04: V.Ivant (utils-V06-02-20)
- Migration to cmath

01 Dec 04: V.Ivant (utils-V06-02-19)
- Move the classes with real models from utils to standard

29 November 04: V.Ivanchenko (utils-V06-02-18)
- Restructure of standard subdirectories
- Cleanup GNUmakefile

29 November 04: V.Ivanchenko (utils-V06-02-17)
- Fix control on verboseLevel for energy loss and msc
- Fix BuildPhysicsTable for case of sharing processes between particles

18 November 04: V.Ivanchenko (utils-V06-02-16)
- Update signature of G4EmCalculator
- Add method CrossSectionPerAtom to G4VEmModel
- Fix bug at initialisation for ion
- Improve printout for G4VEnergyLossProcess
- Fix bug - initialisation of map for particle/processes for external
  access to dE/dx tables

15 November 04: V.Ivanchenko (utils-V06-02-15)
- Remove ProposeTrackStatus from AlongStep

18 November 04: V.Ivanchenko (utils-V06-02-14b)
- Fix bug - initialisation of map for particle/processes for external
  access to dE/dx tables

17 November 04: V.Ivanchenko (utils-V06-02-14a)
- Fix bug at initialisation for ion

11 November 04: V.Ivanchenko (utils-V06-02-14)
- The fix in Retrieve tables

11 November 04: V.Ivanchenko (utils-V06-02-13)
- Migration to new algorithm to Store/Retrieve tables

02 November 04: L.Urban (utils-V06-02-12)
- Precision problem for very high energy ions in gases(or with
  small stepsize) has been solved in src/G4MscModel.cc

25 October 04: V.Ivanchenko (utils-V06-02-11)
- Migrate to new interfaces for ParticleChange

14 October 04: V.Ivanchenko (utils-V06-02-10)
- Bug fix in effective charge sampling
     
27 september 04: L.Urban (utils-V06-02-09)
- G4Mscmodel.cc: change in the tail of the angular distribution, 
  contributing to step independance.

13 September 04: V.Ivanchenko (utils-V06-02-08)
- Extend G4BraggModel below 1 keV
- Add verbose for G4EmCalculator
- Fix problem of integral regime for cross sections with more
  than 1 peak 

26 Augest 04: V.Ivanchenko (utils-V06-02-07)
- Update G4EmCalculator class - add protections and cleanup
- Fix effective charge for He4
- Fix deuteron energy loss
- For G4VEnergyLossProcess and G4VMultipleScattring introduce new methods
  to perform initialisation in both cases Build or Retrieve tables 
     
17 August 04: L.Urban (utils-V06-02-06)
- Name of data member facxsi changed to factail together with the corresponding 
  set function.
- Changes in the angle distribution (slightly modified Highland formula for the
  width of the central part, changes in the numerical values of some other 
  parameters) ---> approximately step independent distribution.
    
06 Augest 04: V.Ivanchenko (utils-V06-02-05)
- Change names of private member functions to make they be more clear
- Optimise MFP and step limit calculation
- Remove random step feature from G4VEnergyLossProcess
- Add interfaces to G4Emcalculator
- Clear up interfaces in G4VEmProcess
- Use new interfaces from G4VParticleChange
- Remove obsolete interfaces for particles

27 July 04: V.Ivanchenko (utils-V06-02-04)
- Fix a compilation problem connected with removal of the dependence
  of particle cathegory on G4Material
- Add G4EmCalculator - a class to access/calculate dedx, range, cross
  sections of EM processes
- Add G4ionEffectiveCharge class needed both to ion physics and 
  G4EmCalculator

23 July 04: V.Ivanchenko (utils-V06-02-03)
- Fix a problem of cut dependence of transmission energy of low energy e- 
  via thin foil

21 July 04: V.Ivanchenko (utils-V06-02-02)
- Fix a problem tried after desactivation of muon ionisation
     
19 July 04: mma (utils-V06-02-01)
- G4MscModel.cc: correction in SampleCosineTheta in order to avoid
  num. precision problems at high energy/small step(L.Urban) 

05 July 04: V.Ivanchenko (utils-V06-02-00)
- Fix a problem of G4VEnergyLossProcess seen for ions at small cuts in range

26 May 04: V.Ivanchenko (utils-V06-01-07)
- Critical fix in msc to avoid crash in case of use of G4hLowEnergyIonisation
  for ions together with msc

17 May 04: V.Ivanchenko (utils-V06-01-06)
- Update integral method taking into account 1 peak in cross section
- Add options to G4EmProcessOptions
- Fix minor problem at initialisation

10 May 04: V.Ivanchenko (utils-V06-01-05)
- Add method GetCurrentRange
- Add additional initialisation to fluctuations
- Fix in printout format

04 May 04: V.Ivanchenko (utils-V06-01-04)
- Use dynamic change for simulation of multiple scattering angle
- Use trancate range table for estimation of energy loss inside
  msc model.

26 April 04: V.Ivanchenko (utils-V06-01-03)
- Reduce aria of applicability of the model for simulation
  of fluctuations at very small steps to provide less step dependent
  results. 

23 April 04: L.Urban (utils-V06-01-02)
- changes in G4MscModel: t->z and z->t transformations (true length 
  to geometrical length and back)  have been completely rewritten, 
  change in the angular distribution for e+/e-
  ( correction to the Highland formula) + some technical changes
  ==> results are closer to data, step dependence decreased. Effect
  the resolution of sampling calorimeters

05 April 04: V.Ivant  (utils-V06-01-01)
- G4VEnergyLossProcess: Update calulation of energy loss from tables
  (important for proton energies about 1 MeV);
- Fluctuations: smooth out sampling of Gaussian fluctuations,
  when sigma is much bigger than energy loss.

31 March 04: V.Ivant  (utils-V06-01-00)
- G4VEnergyLossProcess: Fix a problem of retrieve tables if PreciseRange
  is absent
     
15 March 04: V.Ivant  (utils-V06-00-09)
- G4VEnergyLossProcess: Fix a problem of energy below lowestKinEnergy
 
15 March 04: mma  (utils-V06-00-08)
 
12 March 04: V.Ivant
- G4VEnergyLossProcess: put back lowestKinEnergy = 1.*eV;
  
10 March 04: V.Ivant
- G4LossTableManager.cc: fix a problem of Precise Range table
- G4VEnergyLossProcess: fix problem of step limit calculation
  
10 March 04: L.Urban
- G4MscModel: changes in data members,
  corrections in GeomPathLength,TrueStepLength, SampleCosineTheta
  
06 March 04: V.Ivant (utils-V06-00-07)
- fix a bug in link at SUN

01 March 04: V.Ivant (utils-V06-00-06)
- fixes of bugs coming with transition to model variant of msc 
  and simplifications of calculation of energy dependence of internal
  parameters (L.Urban)


27 Feb 04: V.Ivant (utils-V06-00-05)
- fix problem of ionisation in air with low pressure 10^-4 Atm
- add G4EmProcessOptions class
- update calculation of energy from range

17 Feb 04: V.Ivant (utils-V06-00-04)
- murge the patch and development tag
- minor cleanup in ionisation models

06 Feb 04: V.Ivant (utils-a-V06-00-00)
- The tag on top of utils-V06-00-00 for the patch include:
- Fix problem of destruction of PAI model
- Fix a bug responsibile for mess in cross section of delta-electron
  production by muons
- Add protection for small edep in G4UniversalFluctuations

27 Jan 04: V.Ivant (utils-V06-00-03)
- Fix problem of destruction of PAI model

26 Jan 04: V.Ivant (utils-V06-00-02)
- Fix a bug responsibile for mess in cross section of delta-electron
  production by muons

22 Jan 04: V.Ivant (utils-V06-00-01)
- Migrade to G4ParticleChangeForLoss

14 Jan 04: V.Ivant (utils-V06-00-00)
- Activate precise range calculation
- Add Set methods to G4LossTablemanager to define: binning, maxEnergy for muon
  tables, maxEnergy for precise range.

26 Nov 03: V.Ivant (utils-V05-02-17)
- Close precise range feature for the time being

26 Nov 03: L.Urban
- Bugfix in G4VMultipleScattering:AlongStepDoIt + G4MscModel
  truestep <= range 

25 Nov 03: V.Ivant (utils-V05-02-16)
- Fix wrong deletion and error in SetRangeTable

25 Nov 03: V.Ivant (utils-V05-02-15)
- Fix crash for case of inactivated ionisation and bremsstrahlung

13 Nov 03: V.Ivant (utils-V05-02-14)
- Fix negative energy loss 

11 Nov 03: V.Ivant (utils-V05-02-13)
- Update printout in RetrievePhysicsTable
- Substitute G4VEnergyLossSTD by G4VEnergyLossProcess
- For ions update ionisation (V.Ivanchenko) and multiple scattering (L.Urban) 

10 Nov 03: Urban
- highKinEnergy is set back to 100 TeV for multiple scattering
- number of table bins set to 120             "
- small change in the tail of the angular distribution (after tuning!)
- code cleaning in G4MscModel.cc 

07 Nov 03: mma (utils-V05-02-12)
- Fix problem of rounding of double in G4UniversalFluctuations
- Fix precision problems for high energy (PeV) particles
- change in the tail of the angular distribution
- highKinEnergy is set to 100 PeV
 
03 Nov 03: V.Ivant (utils-V05-02-11)
- Remove STD processes
- Fix problem of RetrievePhysicsTable 

30 Oct 03: G.Cosmo (utils-V05-02-10)
- Fixed compilation problem on Windows in G4LossTableManager.cc for multiple
  declaration of indeces ...

24 Oct 03: V.Ivant (utils-V05-02-09)
- Update logic of BuildPhysicsTable to take into account desactivate processes
- Update defalts for stepping algorithm

20 Oct 03: V.Ivant (utils-V05-02-08)
- Minor change of interface to G4EmFluctuationModel for PAI development
- Update logic of the messenger and G4LossTableManager to provide independence 
  on command sequence
- Increase verbosity for store/retrieve tables

14 Oct 03: V.Ivant (utils-V05-02-07)
- Update verbose/printout
- Add new method DefineForRegion to G4VEmModel
- Fix minor problems in messenger

4 Oct 03: G.Cosmo (utils-V05-02-06)
- Modified GNUmakefiles:
  o added dependency to new module "geometry/navigation".
  o replaced "digits+hits" with "digits_hits".
- Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00".

25 Sept 03: H.Kurashige (utils-V05-02-05)
- Add "#include G4MaterialCutsCouple.hh" in G4MultipleScattering52.hh

20 Sept 03: V.Ivant (utils-V05-02-04)
-Use warning for obsolete interfaces which uses G4Material instead of
 G4MaterialCutsCouple
-Update initialization of energy loss processes
-Update GNUmakefile

12 September 03: L.Urban
-fixed num. error for small stepsize in G4MscModel.cc (z sampling)

27 August 03: V.Ivant (utils-V05-02-03)
-Fix problems in compilation of some tests

08 August 03: V.Ivant (utils-V05-02-02)
-Substitute standerd by STD, freezing old standard as 52

07 August 03: V.Ivant (utils-V05-02-01)
- Update of the ion fluctuation model
- Update design - STD processes can be mixed in physics list with 
  old processes
- Tunning of msc model: fix poblems for width and for tails of distribution
  for the STD variant 

24 July 03: V.Ivant (utils-V05-02-00)
-Update model interface - substitute G4Material by G4MaterialCutsCouple
 in dE/dx and CrossSection methods
-Add Set methods to energy range of msc table
-Add method to change the nergy range of model 
-Add possibility to have STD and other processes in the same physics list

16 June 03: V.Ivant (utils-V05-01-07)
- ShortLived particles are not applicable for msc

04 June 03: V.Ivant (utils-V05-01-06)
- Fix compilation warnings
- Update STD initialisation 

28 May 03: V.Ivant (utils-V05-01-05)
- Remove absolete msc STD classes and add msc model (V.Ivanchenko)
- Fix misprint for msc at Tev energy (L.Urban)

26 May 03: V.Ivant (utils-V05-01-04)
- Fix compilation warnings for pedantic compiler option

26 May 03: V.Ivant (utils-V05-01-03)
- replaced msc STD with model variant
- remove debug printout from G4VEnergyLossSTD for ions
- fix minor problem in nuclear formfactor calculations for msc

23 May 03: V.Ivant (utils-V05-01-02)
- Fix initialisation of integral approach - correct definition
  of STD fluctuation model
- Remove tracking cut from STD
- Establish limits on eloss for Bohr and Ion fluctuations for STD

23 May 03: L.Urban (utils-V05-01-01)
- MultipleScattering and MultipleScatteringSTD :
- IMPORTANT change in the angle distribution for muons/hadrons
  the width of the central part now is corresponds to the value
  can be computed from the HighLand formula (no change of this
  kind for e+/e-) --> small change in the width for low to
  medium energy (protons - 1 MeV - few hundred MeV) but change up to
  20 -25 % for high energy.
- minor correction in the angle sampling algorithm, affects 
  e+/e- too --> small change for very small and very big
  stepsize/range values.

15 May 03: V.Ivant (utils-V05-01-00)
- add precise range calculation for STD
- defauld step parameters for STD set to be the same as standard

28 Apr 03: V.Ivant (utils-V05-00-13)
- add control on range for msc (effective for ions)

26 Apr 03: V.Ivant (utils-V05-00-12)
- fix of store/retrieve tables for msc and STD
- cleanup Bohr and Ion fluctuations

17 Apr 03: V.Ivant (utils-V05-00-11)
- additional clean up of msc variables
- improve output

13 Apr 03: V.Ivant (utils-V05-00-10)
- Add additional initialisation msc variables
- Add interface between standard and STD tables

09 Apr 03: V.Ivant (utils-V05-00-09)
- Fix problem of negative step limit for STD

07 Apr 03: V.Ivant (utils-V05-00-08)
- Add DeRegister to STD loss classes
- Add G4VMultipleScattering
- Remove STD messenger
     
26 Mar 03: V.Ivant (utils-V05-00-07)
- Add GetDEDXDispersion to STD loss tables

25 Mar 03: mma
- G4VEnergyLoss : add finalRangeRequested

12 Mar 03: V.Ivant (utils-V05-00-06)
- Add warning and G4Exception to G4EnergyLossTable
- Fix in MSC cut per region
- Fix in initialisation for STD
- Make messanger active at PreInit

10 Mar 03: V.Ivant (utils-V05-00-05)
- Updated MSC
- SubType for GenericIons
- Fix in energy range of models for STD

26 feb 03: V.Ivant (utils-V05-00-04a)
- For the February reference tag return back msc of 5.0
- Simplify control on GenericIons for STD

18 feb 03: V.Ivant (utils-V05-00-04)
- add control on CutsCouple usage
- utilise SubType for GenericIons
- fix problems with lambda and range tables for STD hadrons/ions
- fix problem of several runs with changed cuts/couples for STD

13 feb 03: V.Ivant
- add names for all models
- make the set of model per region available
- make SubCutoff regime available per region

10 feb 03: mma (utils-V05-00-03)
- tag to take account the Laszlo + Vladimir modifs

07 feb 03: V.Ivant
- fix problem in fluctuations for STD

06 feb 03: L.Urban 
- important modifications in MSC (both in old design and model
  version)
  - changes in data members
  - algorithm to reduce the step dependence is new
  - new sampling for the geom.pathlengths

05 feb 03: V.Ivant (utils-V05-00-02)
- Fix on warnings at SUN for STD classes
- Add Initialise method to STD classes to calculate PartialSumSigma
- Subsitute Material by MaterialCutsCouple for PostStep STD

24 jan 03: V.Ivant (utils-V05-00-01)
- Migration to "cut per region" 

06 jan 03: V.Ivant (utils-V05-00-00)
- Update interfaces to STD classes in order to be ready to migrade 
  to "cut per region"

12 dec 02: V.Ivant (utils-V04-01-12)
- Fix in multiple scattering for 1 MeV protons in both implementations.

09 dec 02: V.Ivant (utils-V04-01-11)
- Removed warnings in G4SCProcessorStand and G4UniversalFluctuation.

06 dec 02: G.Cosmo (utils-V04-01-10)
- Merged changes for new G4ApplicationState in messengers.

04 dec 02: V.Ivant (utils-V04-01-09)
- STD processes: fix model selection + delta-electron spectra   

11 nov 02: V.Ivant (utils-V04-01-08)
- G4VEnergyLoss: return back previous fluctuation model   
     
30 oct 02: mma (utils-V04-01-07)
- G4MultipleScattering: modified angle distribution, mods in boundary 
  algorithm, changes in data members, rename variable cm -> Ecm
  This new parametrisation improves the ~100 MeV proton scattering.
- propagated to G4MultipleScatteringSTD
- G4VEnergyLoss: minor changes in fluctuations   

28 oct 02: V.Ivanchenko (utils-V04-01-06)
- fix in G4MultipleScattringSTD + cleanup warnings in STD classes

17 oct 02: V.Ivant (utils-V04-01-05)
- temporary fix for proton scattering propagated in MultipleScatteringSTD
- Few changes in LossTableBuilder
  
16 oct 02: Laszlo (utils-V04-01-04)
- temporary fix for proton scattering
    
15 oct 02: V.Ivant (utils-V04-01-03)
- redesign for a Model approach: files processNameSTD and processNameModel
     
26 sep 02: Laszlo (utils-V04-01-02)
- angle distribution modified
- minor changes in boundary algorithm
     
12 aug 02: Laszlo (utils-V04-01-01)
- bug fixed in PostStepDoIt (lateral displacement)
     
06 aug 02: V.Ivanchenko (utils-V04-01-00)
G4VEnergyLoss: Fix at low energies - if tmax below ionisation potential
               then only Gaussian fluctuations are sampled.

11 jun 02: Laszlo (utils-V04-00-08)
- important bug fixed in G4MultipleScattering.cc
  ComputeTransportCrossSection. The bug affected the scattering
  for all the low energy ( <~ few hundred MeV) heavy particles.
     
24 may 02: Laszlo (utils-V04-00-07)
- G4MultipleScattering.hh,.cc: mods in angle distribution and
  in boundary algorithm 

06 may 02: Laszlo (utils-V04-00-06)
- G4MultipleScattering.cc :bug fixed in GetContinuousStepLimit
     
24 apr 02: Laszlo (utils-V04-00-05)
- G4MultipleScattering.hh,.cc have been committed:
  some minor changes in boundary algorithm to improve the backscattering.
       
22 apr 02: Laszlo (utils-V04-00-04)
- G4MultipleScattering.hh,.cc have been committed:
  boundary algorithm has been modified resulting improvement ~10%
  in the performance (with the same physics).
  
17 apr 02: Laszlo (utils-V04-00-03)
- G4MultipleScattering.hh,.cc have been committed:
  new parametrisation for angle distribution. 
  boundary algorithm has been modified + some other (minor) changes.

26 feb 02: mma (utils-V04-00-02)
- initial value of data member of G4VEnergyLoss finalRange = 1 mm
  (actual value of this data member is computed in
   G4VeEnergyLoss,G4VhEnergyLoss and G4VMuEnergyLoss.)
   
14 feb 02: L.Urban (utils-V04-00-01)
- initial value of data member of G4VEnergyLoss finalRange
  has been changed
  (actual value of this data member is computed in
   G4VeEnergyLoss,G4VhEnergyLoss and G4VMuEnergyLoss..)

11 feb 02: mma (utils-V04-00-00)
- subSecFlag = false --> No sucutoff generation
    
08 nov 01: mma (utils-V03-02-11)
- G4VEnergyLoss: some data members and functions are no more static
     
07 nov 01: mma (utils-V03-02-10)
- bug fixe in G4MultipleScattering::PostStepDoIt()
     
29 oct 01: mma (utils-V03-02-09)
- static functions no more inlined
     
24 oct 01: mma (utils-V03-02-08)
- cut per material: G4VEnergyLoss
     
28 sep 01: mma (utils-V03-02-07)
- StorePhysicsTable: ParticleName included in FileName

27 sep 01: L.Urban (utils-V03-02-06)
-  bug fixed in G4EnergyLossTables.icc,.cc:
   this bug caused sometime negative energy deposit
   (it was a very-very old bug)
-  value of data member factlim in msc has been changed

19 sep 01: mma (utils-V03-02-05)
- come back to previous process name: "msc"
     
17 sep 01: mma (utils-V03-02-04)
- modifs in muls and VEnergyLoss for the migration of Materials to pure STL,
  but backward compatible with g4rw 
         
 13 sep 01: L.Urban (utils-V03-02-03)
- Unused TrueToGeomTransformation method deleted. Class description
- corr. in ComputeTransportCrossSection
    
 11 sep 01: L.Urban (utils-V03-02-02)
- G4MultipleScatteringx put as the default: G4MultipleScattering
     
 11 sep 01: L.Urban (utils-V03-02-01)
- last tag with G4MultipleScatteringx file. 
    
 03 sep 01: L.Urban (utils-V03-02-00)
- value of data member factlim has been changed.
     
 28 aug 01: mma
- G4MultipleScatteringx: small modifs in BuildPhysicsTable,
  ComputeTransportCrossSection, PostStepDoIt. 
  GetContinuousStepLimit and AlongStepDoIt moved to .cc file

 23 aug 01: L. Urban
- new angle and z(geom. pathlength) distributions,
  energy (step) dependence has been reduced,
  Store/Retrieve methods have been commented out temporarily
     
 8 aug 01: mma
- G4MultipleScatteringx: methods to store/retrieve PhysicsTable

18 may 01: V.Ivanchenko (utils-V03-01-01)
- clean up againist Linux ANSI strict compilation mode.
    
16 may 01: L.Urban (utils-V03-01-00)
- value of the member cpar has been changed back to the original
  value 1.5 in G4MultipleScattering.cc. The same is done in
  G4MultipleScatteringx.cc (the data member name is cparm there).
  This change affects all the results for low energy (< 1 MeV
  for electrons).
  
15 may 01: L.Urban
- new multiple scattering version committed under the class name
  G4MultipleScatteringx. It gives better msc angle distribution
  than the standard G4MultipleScattering. It uses a distribution
  to simulate the geom./true pathlengths (standard : mean values
  only) and has a framework implemented in it to perform special
  stepping near to a boundary (this algorithm works, but some
  further development/tuning needed - this algorithm is disabled
  by default). This new version can be used after the change:
       G4MultipleScattering  --> G4MultipleScatteringx 
  in the PhysicsList. 
     
27 mar 01: L.Urban (utils-V03-00-06)
- another bug fixed in G4VEnergyLoss.cc, in the fluct code.
  The code gave in some cases (very rarely) small negative energy loss
  for small (~ micrometer) step size, now it is cured.

23 mar 01: L.Urban (utils-V03-00-05)
- bug fixed in fluct in G4VEnergyLoss.cc
  Some int internal variables have been changed to doubles,
  anomaly at extreme high energy/high cut (zero energy deposit)
  is cured.
     
05 mar 01 mma (utils-V03-00-04)
- new subdirectory: integral
  migration of all G4I.. processes from muons, standard, utils into integral
     
01 feb 01: L.Urban (utils-V03-00-01)
- bug fixed in the fluctuation code , in G4VEnergyLoss.cc
  This bug affected the width of the energy loss/energy deposit
  distribution in the case of small cut value, the distribution
  was too narrow....
     
16 jan 01: mma (utils-V03-00-00)
- bug fixed in MultipleScattering.cc L.Urban 11-01-01 
  there was an error in computation of the transport
  cross section, the cross section was too small for
  low energy (below few MeV for electrons)
    
09 nov 00: mma (utils-V02-00-04)
- G4EnergyLossMessenger : subdirectory /process/eLoss created 
  + class description
       
04 nov 00: mma (utils-V02-00-03)
- EnergyLossTable: const G4Material* in all functions
- G4VEnergyLoss and Messenger slighy modified for more flexibility
  only (Laszlo)
     
11 aug 00: mma (utils-V02-00-01)

03 aug 00: gc
- fixed problem for event reproducibility: changed RandGauss to G4RandGauss
  in G4VEnergyLoss.cc. Needs tag "global-V02-00-02" to cowork with.

22 jun 00: mma  (utils-V01-01-03)
- muls: do not nuclear size correction for electron
- move Eloss messenger --> G4VEnergyLoss
          
24 may 00: mma  (utils-V01-01-02)
- merge "plus" processes into standard      
     
27 apr 00 mma  (em-V01-01-01)
- G4endl (dec/iso)      
     
26 apr 00 mma  (em-V01-01-00)
- all EnergyLoss classes renamed G4V... 
  Most classes in standard and muons affected.
- G4Muls moved in utils
- bugs fixe in MuPairProduction  
- cowork with geant4-01-01-ref-02
     
02 mar 00 mma  (em-V01-00-00)
- new G4VEnergyLoss class and related structure
- cowork with geant4-01-00-ref-06
     
10 nov 99 mma  (em-V00-01-03)
- migration to STL: remove RWT hash dictionnary

14th June 1999  John Allison (em-01-00-05b)
- Muon corrections in G4MultipleScattering.cc, G4MuBremsstrahlung.cc
  and G4MuPairProduction.cc by Laszlo Urban, Pedro Arce.
  (Also in rocesses/photoleplon_hadron/src/G4MuNuclearInteraction.cc.)

5th June 1999  John Allison
- standard/GNUmakefile: Force non-optimised compliation of some
  files on HP with aCC: HP ANSI C++ B3910B A.01.15.

May 29, 1999: John Allison
- Added electromagnetic/lowenergy to GNUmakefile and
  electromagnetic/GNUmakefile..
