$Id: History,v 1.424 2010/06/04 15:36:39 vnivanch Exp $
-------------------------------------------------------------------

     =========================================================
     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 *
     ----------------------------------------------------------

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..
