# Category empolar History

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

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

## 2022-11-23 Gabriele Cosmo (empolar-V11-00-03)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.

## 2022-07-19 Vladimir Ivanchenko (empolar-V11-00-02)
- Fixed Coverity warning in G4PolarizationManager 

## 2022-01-18 Jonas Hahnfeld (empolar-V11-00-01)
- Prefer pointer to `const G4Material` if possible

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

---

# History entries prior to 11.0

15 May 21: V.Ivanchenko (empolar-V10-07-06)
- G4PolarizedAnnihilation - updated use of the spline flag

10 May 21: V.Ivanchenko (empolar-V10-07-05)
- G4PolarizedCompton - updated use of the spline flag

16 April 21: B.Morgan (empolar-V10-07-04)
- Migrate build to modular CMake API

24 April 21: V.Ivanchenko (empolar-V10-07-03)
- G4PolarizedIonisationBhabhaXS - removed incorrect G4Exception;

10 April 21: V.Ivanchenko (empolar-V10-07-02)
- G4PolarizedBremsstrahlung - removed variable shadowing

31 March 21: V.Ivanchenko (empolar-V10-07-01)
- G4PolarizedAnnihilation, G4ePolarizedIonisation - improve
  initialisation of assymetry tables

16 February 21: D.Sawkey (empolar-V10-07-00)
- all files. Major cleaning for version 11.
 - name classes in logical manner
 - improve comments
 - add ProcessDescription
 - order #includes; remove unused
 - disable copy and assignment operators with 'delete'
 - increase C++11 keyword usage, especially override, explicit
 - rename (most) class variables to start with f
 - make SCRN arrays the correct size
 - use constexpr for numbers
 - apply clang-format style
 - use G4ExceptionDescription
 - avoid implicit conversions between G4StokesVector and G4ThreeVector

01 April 18: V.Ivanchenko (empolar-V10-04-02)
- G4PolarizedCompton, G4PolarizedPhotoElectricEffect,
  G4PolarizedGammaConversion, G4ePolarizedBremsstrahlung,
  G4ePolarizedIonisation - cleanup process classes, moved virtual
    methods to source, removed unused headers and methods

01 April 18: V.Ivanchenko (empolar-V10-04-01)
- G4PolarizedAnnihilationModel - implemented sampling of final
    state AtRest

12 February 18: V.Ivanchenko (empolar-V10-04-00)
- G4StokesVector - moved static inline method to the source

05 August 17: V.Ivanchenko (empolar-V10-03-01)
03 August 17: V.Ivanchenko (empolar-V10-03-00)
- G4PolarizedCompton, G4PolarizedGammaConversion, G4ePolarizedIonisation
    make coherent model initialisation

1 Jun 16: D.Sawkey (empolar-V10-02-04)
- G4PolarizationManager: C++11 range-based for loop;
- G4PolarizationManager, G4ePolarizedBremsstrahlungModel: nullptr

26 May 16: D.Sawkey (empolar-V10-02-03)
- G4PolarizedCompton, G4eplusPolarizedAnnihilation, G4ePolarisedIonisation
  In PostStepGPIL, use cached values of currentInteractionLength; fixes
  problem at boundaries where updated value incorrectly used

16 March 16: D.Sawkey (empolar-V10-02-02)
- G4PolarizedAnnihilationModel, G4PolarizedPEEffectModel
  try again; use the previous unused variables (verbosity)

15 March 16: D.Sawkey (empolar-V10-02-01)
- G4PolarizedAnnihilationModel.hh, G4PolarizedPEEffectModel.hh
  Remove unused private variables; plus retry of previous changes

14 March 16: D.Sawkey (empolar-V10-02-00)
- C++11 migrations (most files): explicit, override, delete operators on
  function declarations (except G4StokesVector ctor); remaining nullptr;
  write floats/doubles with '.'

16 October 15: V.Ivanchenko (empolar-V10-01-02)
- G4PolarizedComptonModel - fixed Coverity warning, use vector of random
    numbers in sampling of final state

06 October 15: V.Ivanchenko (empolar-V10-01-01)
- G4PolarizedCompton, G4ePolarizedIonisation, G4eplusPolarizedAnnihilation
    - changed initialisation taking into account MT mode, added
      method ComputeSaturationFactor used in mean free path and
      step limit corrections, removed PreparePhysicsTable method (use
      one from the base class), fixed computation of the value of number
      of interaction lengths left which is responsible for the
      problem #1698
- G4PolarizedComptonModel - revised do/while loop in sampling of
      gamma scattering angle

03 August 15: V.Ivanchenko (empolar-V10-01-00)
- Added comments to do/while and while loops

22 October 13: V.Ivanchenko (empolar-V10-00-03)
- G4PolarizedCompton, G4PolarizedGammaConversion,
  G4PolarizedPhotoElectricEffect, G4ePolarizedBremsstrahlung,
  G4ePolarizedIonisation - use G4EmParameters

08 July 13: V.Ivanchenko (empolar-V10-00-02)
- G4PolarizedCompton - fixed initialisation, added sharing of
    process table between threads

08 July 13: V.Ivanchenko (empolar-V10-00-01)
- G4PolarizedCompton, G4PolarizedComptonModel - added startFromNull option
    as for standard Compton process and add the same low-energy
    threshold to create secondary particle

26 May 13: V.Ivanchenko (empolar-V10-00-00)
- G4PolarizationMessenger - fixed coverity report on non-initialized members

21 November 13: V.Ivanchenko (empolar-V09-06-08)
- G4PolarizedPairProductionCrossSection, G4PolarizedBremsstrahlungCrossSection
    removed G4ThreadLocal

09 November 13: V.Ivanchenko (empolar-V09-06-07)
- G4eplusPolarizedAnnihilation - correct destruction

08 November 13: V.Ivanchenko (empolar-V09-06-06)
08 November 13: V.Ivanchenko (empolar-V09-06-05)
- G4ePolarizedIonisation, G4PolarizedCompton - correct destruction

30 October 13: V.Ivanchenko (empolar-V09-06-04)
28 October 13: V.Ivanchenko (empolar-V09-06-03)
28 October 13: V.Ivanchenko (empolar-V09-06-02)
28 October 13: V.Ivanchenko (empolar-V09-06-01)
- G4ePolarizedBremsstrahlungModel - substitute G4eBremsstrahlungModel
    by G4SeltzerBergerModel

25 February 13: V.Ivanchenko (empolar-V09-06-00)
- G4PolarizedComptonCrossSection - removed unused class memebers:
     gammaPol0, electronPol1, epsilon

20 October 12: V.Ivanchenko (empolar-V09-05-02)
- G4PolarizedPhotoElectricEffect, G4PolarizedPEEffectModel - substitute
    methods Model(), SetModel() by EmModel(), SetEmModel()

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

08 June 12: V.Ivanchenko (empolar-V09-05-00)
- Fixed shadowing

11 November 11: V.Ivanchenko (empolar-V09-04-04)
- G4ePolarizedBremsstrahlung - fixed problem provoked by the tag
    of standard

10 November 11: V.Ivanchenko (empolar-V09-04-03)
- G4PolarizedCompton, G4ePolarizedIonisation,
  G4PolarizedMollerBhabhaModel, G4eplusPolarizedAnnihilation - fixed
    initialisation problems reported by the Coverity tool

16 May 11: V.Ivanchenko (empolar-V09-04-02)
- G4PolarizedAnnihilationModel - fixed gcc-4.6.0 warnings

26 April 11: V.Ivanchenko (empolar-V09-04-01)
- G4PolarizationHelper - safe computation of a normal

17 March 11: V.Ivanchenko (empolar-V09-04-00)
- G4ePolarizedIonisation - do not use obsolete MinCutEnergy

12 November 10: A.Schaelicke (empolar-V09-03-02)
- Resolved: Warning messages of Coverity

3 September 10: G.Cosmo (empolar-V09-03-01)
- Fixed signature to G4VPolarizedCrossSection::TotalXSection() in source file.

16 June 10: A.Schaelicke (empolar-V09-03-00)
- Bug fix in G4ePolarizedIonisation.cc
  (used default vector size of G4VEnergyLossProcess,
   avoid size mismatch in G4LossTableBuilder::BuildDEDXTable)

12 November 09: A.Schaelicke (empolar-V09-02-01)
- Bug fix in G4PolarizationHelper::GetSpinInPRF
    (wrong normalization of y component)
- Bug fix in G4PolarizedAnnihilationModel::PostStepDoIt
    (wrong treatment in error check)
- Bug fix in G4StokesVector::RotateAz
    (wrong usage of vector product)

12 April 09: V.Ivanchenko (empolar-V09-02-00)
G4PolarizedAnnihilationModel - simplified initialisation

30 October 08: A.Schaelicke (empolar-V09-01-01)
   For all process classes set sub-types according to the enumeration
05 November 07: A.Schaelicke (empolar-V09-00-02)
01 November 07: A.Schaelicke
- Bug fix in G4PolarizedAnnihilationCrossSection
    error in calculation of polarisation dependent total cross section
    (wrong interactionLength for positrons in applications where,
     particle and media are polarised)
- more general Cross section frame work:
    G4PolarizedAnnihilationCrossSection
    G4PolarizedBhabhaCrossSection
    G4PolarizedBremsstrahlungCrossSection
    G4PolarizedComptonCrossSection
    G4PolarizedGammaConversionModel
    G4PolarizedMollerCrossSection
    G4PolarizedPairProductionCrossSection
    G4VPolarizedCrossSection
    G4ePolarizedBremsstrahlungModel
   (removed dependencies to models; now cross sections can be used
    independent of any model, e.g. in a cross section calculator class)
- add polarized photo electric effect:
    G4PolarizationHelper
       (new method GetRandomFrame, used when interaction frame is not
        well defined by outgoing particles)
    G4PolarizedPEEffectCrossSection
       (based on McMaster, Rev.Mod.Phys. 33 (1961) 8)
    G4PolarizedPEEffectModel
       (derived from G4PEEffectModel, adds polarisation transfer)
    G4PolarizedPhotoElectricEffect
       (derived from G4VEmProcess)

02 October 07: V.Ivanchenko (empolar-V09-00-01)
G4eplusPolarizedAnnihilation - enabled AtRest

10 July 07: V.Ivanchenko (empolar-V09-00-00)
10 July 07: A.Schaelicke
- G4VPolarizedCrossSection removed obsolete methodes and variables to
  clear "shadow" Warning on SUN CC
- G4PolarizedCompton, G4ePolarizedIonisation,
  G4eplusPolarizedAnnihilation renamed local variable "particle" to
  avoid "shadow" Warning on SUN CC
- G4PolarizedAnnihilationModel
  copied Initialise() method from G4eeToTwoGammaModel provide a
  ParticleChangeForGamma object, this avoids "shadow" Warning on SUNCC
  and reduces overhead in SampleSecondaries()

11 June 07: V.Ivanchenko (empolar-V08-03-02)
- (A.Schaelicke) G4PolarizedCompton, G4ePolarizedIonisation,
  G4eplusPolarizedAnnihilation added method
  PostStepGetPhysicalInteractionLength in order to provide
  simulation of polarized target; the fix is required because of design
  change in utils

25 May 07:  V.Ivanchenko (empolar-V08-03-01)
- G4PolarizedCompton - fix compilation warning and incorrect usage of
	               G4PhysicsVector

23 May 07:  V.Ivanchenko (empolar-V08-03-00)
- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess
  remove method SecondaryPostStep;
- G4VEmModel - changed interface of SampleSecondary method, it become
  void, extra parameter std::vector<G4DynamicParticle*>*, all
  classes using or inhereting this interface are modified.

19 March 07: V.Ivanchenko (empolar-V08-02-00)
- G4PolarizedGammaConversionModel : fix non-initialised variable

20 November 06: V.Ivanchenko (empolar-V08-01-04)
- G4PolarizedAnnihilationCrossSection fixed compilation problem at windows

17 November 06: V.Ivanchenko (empolar-V08-01-03)
- Add protection against zero kin energy in G4PolarizedAnnihilationModel
- substitue double -> G4double, int -> G4int, bool ->G4bool

10 November 06: V.Ivanchenko (empolar-V08-01-02)
9. November 06: A.Schaelicke
- G4PolarizedGammaConversionModel : add warning message if polarization
  transfer does not work properly
- G4PolarizedPairProductionCrossSection : bug fixed in Initialize(),
  and corrected spelling warning message
- G4PolarizedAnnihilationModel : SampleSecondaries() bug fixed in
  return statement and call to cross section.
- G4PolarizedAnnihilationCrossSection : Initialize() bug fixed in
  dicing and sign in cross section.
- G4PolarizedComptonCrossSection and G4PolarizedComptonModel:
  use correct convention of photon polarization vectors.
- G4PolarizedMollerBhabhaModel : bug fixed in eps dicing, added
  warning message, employ new cross section calculation (made conform
  to other polarized processes)
- G4PolarizedBhabhaCrossSection and G4PolarizedMollerCrossSection :
  new cross section calculation to make polarization vector conform to
  other polarized processes

29 Sept 06: G.Cosmo (empolar-V08-01-01)
- Fixed for usage of std namespace and porting on WIN32-VC platform.

21 Sept 06: V.Ivantchenko (empolar-V08-01-00)
- First commit.


