# Category proc-biasgen History

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

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

## 2024-07-18 Gabriele Cosmo (proc-biasgen-V11-02-01)
- Fixed reported Coverity defects, to use 'const G4String&' for avoiding
  implicit copies.
- Basic C++11 corrections (use of nullptr, auto, etc...); code formatting.

## 2022-07-17 Vladimir Ivanchenko (proc-biasgen-V11-02-00)
- G4BOptnChangeCrossSection - fix Coverity warning

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

## 2022-08-31, Gabriele Cosmo (proc-biasgen-V11-00-01)
- Fixed defects reported by Coverity in G4BOptnLeadingParticle, to use auto&.

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

---

# History entries prior to 11.0

August 4, 2021 A. Ribon
- G4BOptrForceCollision : migrated to the new version of G4PhysicsModelCatalog
- proc-biasgen-V10-07-01

April 16th, 2021 B. Morgan
- Migrate build to modular CMake API
- proc-biasgen-V10-07-00

November 15th, 2019 M. Verderi
- Introduce leading particle biasing proc-biasgen-V10-05-00
  This is made implementing the new biasing operation:
  include/G4BOptnLeadingParticle.hh
  src/G4BOptnLeadingParticle.cc
- G4BOptnChangeCrossSection:
  add argument to:
      void     SetBiasedCrossSection(G4double xst);
  as option to update the interaction length when
  setting a new cross-section value:
      void     SetBiasedCrossSection(G4double xst, bool updateInteractionLength = false);
  default value makes the change backward compatible.


November 24th, 2017 M. Verderi
- Fix G4BiasingProcessInterface for wrong setting of first/last
  GPIL/DoIt flags in case charged particles. As the msc became
  a pure along, this broke the initial logic based on the fact
  that, before, physics processes always had a PostStepDoIt method.
- proc-biasgen-V10-03-00


November 15th, 2016, M. Verderi
- Fix one Coverity warning in G4ParallelGeometriesLimiterProcess.
- proc-biasgen-V10-02-06

November 3rd, 2016, M. Verderi
- Remove reference to obsolete G4BiasingAppliedCase BAC_DenyInteraction enum value
  and related logic. DenyProcessPostStepDoIt(..) method in G4BOptnForceFreeFlight
  was concerned by this logic change. (The related case has been merged and
  is handled by ApplyFinalStateBiasing(...) in a more general manner since
  proc-biasgen-V10-00-00.)
- proc-biasgen-V10-02-05

October 26th, 2016, M. Verderi
- Development tag for introducing parallel geometry capability in generic biasing:
  - G4BiasingProcessInterface : checks for biasing operator in mass and parallel geometries
  - G4ParallelGeometriesLimiterProcess : a new process that limits the step on the boundaries
    of the parallel geometries (one instance handles all parallel geometries)
  - G4BiasingProcessSharedData : data shared among biasing processes related to a same
    G4ParticleDefinition ; extended to cary information related to parallel geometries.
    G4BiasingProcessSharedData now also holds the static map of shared data and process
    managers, this was held before by G4BiasingProcessInterface.
  - G4BiasingHelper : extended to handle addition of G4ParallelGeometriesLimiterProcess
    to process manager.
- proc-biasgen-V10-02-04

March 8th, 2016, M. Verderi
- Clean up for unused variable fParticleChange in G4BiasingProcessInterface
- proc-biasgen-V10-02-03

March 7th, 2016, M. Verderi
- Fix coverity warnings in src/G4BiasingProcessInterface.cc
- proc-biasgen-V10-02-02

January 20th, 2016, M. Verderi
- fix compilation warning in order initialization of data members
  in src/G4BiasingProcessInterface.cc.
- proc-biasgen-V10-02-01

January 19th, 2016, M. Verderi
- fix various coverity warnings (unitialized variables). Should have no
  effect. Fixes in:
      src/G4BOptnChangeCrossSection.cc
      src/G4BOptnCloning.cc
      src/G4BOptnForceCommonTruncatedExp.cc
      src/G4BOptnForceFreeFlight.cc
      src/G4BOptrForceCollision.cc
      src/G4BiasingProcessInterface.cc
      include/G4BiasingProcessSharedData.hh
  and minor cosmetics in:
      include/G4BOptnCloning.hh
      include/G4BOptnForceFreeFlight.hh
- proc-biasgen-V10-02-00

November 6th, 2015, M. Verderi
- fix non initialization of model IDs in MT mode.
- prevent "over initialization" of operators (each
  first process of process managers were calling
  these initializations).
- proc-biasgen-V10-01-01

November 6th, 2015, M. Verderi
- adaptation to using G4VAuxiliaryTrackInformation:
    o creation of G4BOptrForceCollisionTrackData
    o quite rewriting of G4BOptrForceCollision biasing operator,
      removing many state variables used for bookeeping of tracks
      which is now achieved much simplier by the aux. track info.
      Comes together with related logic re-writting.
    o Removal of dependencies to management/G4BiasingTrackData
      now deleted since proc-biasmng-V10-01-00 .
- proc-biasgen-V10-01-00

November 14th, 2014 M.Verderi
- Serious fix in G4InteractionLawPhysical::
  UpdateInteractionLengthForStep(...)
- proc-biasgen-V10-00-03

November 13th, 2014 M.Verderi
- Tentative fix of crach in optimized mode
  missing initialization in second constructor of G4BiasingProcessInterface.
- proc-biasgen-V10-00-02

November 11th, 2014 M.Verderi
- fix Coverity bugs
- proc-biasgen-V10-00-01

November 11th, 2014 M.Verderi
- Introduce anticipated call to PostStepGPIL of wrapped processes
  by G4BiasingProcessInterface. This allows to collect all
  physics cross-sections at the first call to biasing operator.
- Adaptation to change of G4VBiasingOperation (suppression of
  DenyProcessPostStepDoIt(...) ).
- tag : proc-biasgen-V10-00-00 .


October 10th, 2013  A.Howard
- Subdirectory and history file created.


