# Category op 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 Hans Wenzel (op-V11-02-01)
- G4OpWLS2.cc: change SetProcessSubType from fOpWLS to fOpWLS2 

## 2024-05-24 Daren Sawkey (op-V11-02-00)
- G4OpBoundaryProcess: Calculate Fresnel reflection/refraction correctly when
  material property TRANSMITTANCE is specified. The ratio of Fresnel
  reflection/refraction now does not change when a non-zero transmission is
  specified. Previously, if transmission of X% was specified, there would be
  transmission of X% as expected, but the ratio of Fresnel refraction to
  Fresnel reflection would be set to X%. Addressing bug 2578.

## 2023-10-27 Daren Sawkey (op-V11-01-00)
- G4OpBoundaryProcess: verbosity of 0 silences run-time warnings

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

## 2022-10-26 Daren Sawkey (op-V11-00-07)
- G4OpBoundaryProcess. Contribution of Laurie Cappellugola et al, Aix Marseille U.
  Calculate reflection/refraction from thin film coating.

## 2022-10-18 Daren Sawkey (op-V11-00-06)
- G4OpBoundaryProcess: issue warning when step size slightly larger than 
  geometry tolerance, in which case boundary scattering may be incorrect.
  Addresses bug 2510.

## 2022-04-27 Daren Sawkey (op-V11-00-05)
- many files: apply clang-tidy recommendations. Use default ctor, auto keyword,
  remove (void) function argument, don't check for nullptr before delete, == for
  string comparisons.

## 2022-04-11 Daren Sawkey (op-V11-00-04)
- G4OpBoundaryProcess: Check for nullptr before dereferencing. Addresses bug 2471.

## 2022-04-07 Daren Sawkey (op-V11-00-03)
- G4OpWLS2: fix incorrect call to set time profile. Addresses bug 2482.

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

## 2022-01-10 Daren Sawkey (op-V11-00-01)
- Remove G4lrint/G4lint to calculate angle bin for Davis/LBNL LUT. Fixes crash
  when angle = 0. Addresses issue 116.

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

---

# History entries prior to 11.0

21 Oct 21: D. Sawkey (op-V10-07-05)
- G4OpBoundaryProcess - rename variables: class start with f; lowercase
  - make comparison to nullptr explicit
  - remove unneeded intermediate variable
  - refactor Davis LUT calculation

21 Oct 21: D. Sawkey (op-V10-07-04)
- G4OpBoundaryProcess - on StepTooSmall, propose velocity corresponding to
  material of post step point. Addresses bug 2438.

19 Oct 21: D. Sawkey (op-V10-07-03)
- all process classes - update G4OpticalParameters when process
  parameters updated directly. Addresses bug 2425.

21 May 21: D. Sawkey (op-V10-07-02)
- G4OpBoundaryProcess: make some variables local and initialize them
  properly. Addresses bug 2364.

18 May 21: V. Ivanchenko (op-V10-07-01)
- G4OpRayleigh, G4OpWLS, G4OpWLS2 - use G4PhysicsFreeVector instead
  of G4PhysicsOrderedFreeVector

16 Apr 21: Ben Morgan (op-V10-07-00)
- Migrate build to modular CMake API

04 Nov 20: D. Sawkey (op-V10-06-07)
- Fix reading Davis LUT out of bounds (addresses bug 2287)

05 Oct 20: D. Sawkey (op-V10-06-06)
- All files: apply clang-format style guidelines

30 Sept 20: D. Sawkey (op-V10-06-05)
- G4OpBoundaryProcess: increase geometry tolerance to kCarTolerance

20 July 20: D. Sawkey (op-V10-06-04)
- G4OpRayleigh, G4OpAbsorption, G4OpMieHG, G4OpWLS, G4OpWLS2: move to new
  G4OpticalParameters class to control simulation parameters

29 May 20: D. Sawkey (op-V10-06-03)
- all files - thorough cleaning; shorten temporary variable names;
  improve readability

26 May 20: A. Howard (op-V10-06-02)
- Add second wavelength shifting process - G4OpWLS2

15 Feb 20: V. Ivanchenko (op-V10-06-01)
- G4OpRayleigh - avoid double deletion of property vectors

21 Jan 20: D. Sawkey (op-V10-06-00)
- use new ConstPropertyExists(G4int) rather than (G4String)

28 Oct 19: D. Sawkey (op-V10-05-02)
-  G4OpWLS.cc - call G4VParticleChange->SetNumberOfSecondaries only once
 - address bug 2200

23 Aug 19: D. Sawkey (op-V10-05-01)
- G4OpBoundaryProcess: fix Coverity reports

23 May 19: D. Sawkey (op-V10-05-00)
- most files: format indentation, parentheses; add C++11 keywords;
    - some changes to if/else loops and variable names

25 May 18: D. Sawkey (op-V10-04-00)
- G4OpMieHG: change GetProperty from string to enum

11 September 17: S.Y. Jun (op-V10-03-03)
- change material property keys by the enum type defined in
  G4MaterialPropertiesIndex

29 May 17: P. Gumplinger (op-V10-03-02)
- This version of Mariele Stockhoff's DAVIS model includes not only
  reflection but also the capability of transmitting photons based on LUTs

22 Mar 17: P. Gumplinger (op-V10-03-00/op-V10-03-01)
- add Mariele Stockhoff's DAVIS model

03 Oct 16: P. Gumplinger (op-V10-02-02)
- act on bug report 1888

07 Mar 16: P. Gumplinger (op-V10-02-01)
- add flag for InvokeSD method call in G4OpBoundaryProcess

16 Feb 16: P. Gumplinger (op-V10-02-00)
- addresses bug report #1826, thanks to Tetsuma Yaguchi
  in DielectricLUT of G4OpBoundaryProcess

 9 Oct 15: P. Gumplinger (op-V10-01-05)
-  fix Coverity error in G4OpBoundaryProcess.cc

13 Aug 15: P. Gumplinger (op-V10-01-04)
- G4OpBoundaryProcess.cc, G4OpRayleigh.cc - checked while loops

3 July 2015 P. Gumplinger (op-V10-01-03)
- Allow for a real and imaginary part of the index of refraction
  for Material1 in G4OpBoundaryProcess::GetReflectivity
  Bug report: #1762

26 June 2015 P. Gumplinger (op-V10-01-02)
- Correct the reflectivity calculation with complex refractive index;
  include the index of refraction of the PreStepPoint medium
  Bug report: #1762

23 March 2015 P. Gumplinger (op-V10-01-01)
- change the calculation of NewPolarization in G4OpRayleigh.cc to avoid a
  divided by zero when the NewMomentumDirection is perpendicular to the
  OldPolarization. If the polarization is perpendicular to the scattering
  plane, it will not change after the scattering.

11 March 2015 P. Gumplinger (op-V10-01-00)
- add aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum);
  to G4OpAbsorption

06 November 2014 P. Gumplinger (op-V10-00-10)
- fix Coverity error in G4OpWLS.cc

27 October 2014 A. Dotti (op-V10-00-09)
- Address problem #1675, this requires re engineering of
  all UI commands related to optical processes and created
  in G4OpticalPhysics.
- Co-working tags: xrays-V10-00-06, op-V10-00-09, phys-ctor-em-V10-00-17

17th October 2014 P. Gumplinger (op-V10-00-08)
- fix G4OpRayleigh.cc to actually set the temperature for materials other
  than Water
- G4OpBoundaryProcess: Add a ConstProperty "SURFACEROUGHNESS". If set,
  the reflectivity at dielectric_dielectric surface is angular dependent
  and calculated from:
  exp(-pow((4*pi*theSurfaceroughness*Rindex1*cost1/wavelength),2))
  for Rindex1 > Rindex2. Thanks to M. van Dijk (Bristol University).

16th October 2014 P. Gumplinger (op-V10-00-07)
- previous tag was committed only to /include directory

10th October 2014 P. Gumplinger (op-V10-00-06)
- G4OpRayleigh Process: This version calculates the Rayleigh scattering
  length for more materials than just Water (although the Water default
  is kept). To do this the user would need to specify the
  ISOTHERMAL_COMPRESSIBILITY as a material property and optionally an
  RS_SCALE_LENGTH (useful for testing). Code comes from Philip Graham
  (Queen Mary University of London).

9th October 2014 P. Gumplinger (op-V10-00-05)
- G4OpBoundaryProcess allow for a Transmittance, Reflectivity and
  Absorption on dielectric_dielectric and dielectric_metal boundaries

10th June 2014 P. Gumplinger (op-V10-00-04)
- G4OpWLS always rebuild theIntegralTable in BuildPhysicsTable method
- G4OpRayleigh always rebuild thePhysicsTable in BuildPhysicsTable method
- remove the private method BuildThePhysicsTable

6th June 2014 P. Gumplinger (op-V10-00-03)
- implement the full UNIFIED reflectivity probabilities when a
  dichroic surface reflects

23rd December 2013 M. Asai (op-V10-00-02)
- Additional protection.

22nd December 2013 M. Asai (op-V10-00-01)
- move construction of WLSTimeGeneratorProfile to the constructor of G4OpWLS.

18th December 2013 P. Gumplinger (op-V10-00-00)
- make WLSTimeGeneratorProfile and UseTimeProfile static in G4OpWLS

26th August 2013 P. Gumplinger (op-V09-06-06)
- move theStatus assignment for Dichroic where the decision is actually made
- made the necessary and required modifications for G4OpBoundaryProcess to
  work in situations with parallel worlds
- G4OpBoundaryProcess will now invoke the ProcessHit method of the sensitive
  detector associated with the PostStepPoint volume when optical photons are
  detected at the entrance boundary

14th June 2013 P. Gumplinger (op-V09-06-05)
- fix coverity errors in G4OpBoundaryProcess

13th June 2013 P.Gumplinger (op-V09-06-04)
- G4OpWLS and G4OpRayleigh -  added BuildPhysicsTable method which is doing
  as before but at the moment when material list is fully defined.

6th June 2013 P.Gumplinger (op-V09-06-03)
- comment out G4cout in G4OpBoundaryProcess::DielectricDichroic()

5th June 2013 P.Gumplinger (op-V09-06-02)
- fix compilation error in G4OpWLS

5th June 2013 P.Gumplinger (op-V09-06-01)
- Require that WLS photons have a longer wavelength than the photon that
  is being absorbed/shifted. Please, see bug report on the Forum:
  http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/509.html
  Thanks to Ben Loer (FNAL)
- Add the capability of simulating the transmission of a dichroic filter;

  In this first implementation, the photon is either reflected or transmitted
  without changing direction. Surface->SetType(dielectric_dichroic);
  You must also supply a 2D data file with the format:
  4     #ofWavelength-bins     #ofIncidentAngle-bins
  List of Wavelength-bin values in nm (i)
  List of IncidentAngle-bin values in deg (j) - angle from the normal
  Transmittance[1,1],..,Transmittance[i,1],..,Transmittance[n,1]
  .....................,Transmittance[i,j],.....................
  Transmittance[1,m],..,Transmittance[i,m],..,Transmittance[n,m] in %

  and: setenv G4DICHROICDATA dichroic.data

30th Apr.2013 P.Gumplinger (op-V09-06-00)
              replace CLHEP::Rand*::shoot.. with G4Rand*::shoot...
              in G4OpBoundaryProcess

19th Oct.2012 G.Cosmo (op-V09-05-12)
              Corrected debug flag in G4OpBoundaryProcess.cc to be
              G4OPTICAL_DEBUG, as the one defined in GNUmakefile...

17th Oct.2012 J.Apostolakis (op-V09-05-11)
	      Avoid the 'new' Event-abort exception, by 'protecting'
                 it with G4DEBUG_OPTICAL_PROC flag.
              By default, the normal is now flipped instead
                 (as Geant4 9.5 and 9.5 patch 1 worked.)

 5th Oct.2012 J.Apostolakis (op-V09-05-10)
              G4OpBoundaryProcess now uses GlobalExitNormal()
               ( same code as op-V09-05-06 )

********* G4OpBoundaryProcess uses the *Global* Normal  ****

 5th Oct.2012 J.Apostolakis (op-V09-05-09)
              Retagged to enable testing - same code as -07 below.
 4th Oct.2012 J.Apostolakis (op-V09-05-07)
              Added information in printout of Exception on direction of
              momentum and exiting normal.

03rd Oct.2012 P.Gumplinger (op-V09-05-05a)
              add G4Exception when theGlobalNormal points the
              wrong direction in G4OpBoundaryProcess

10th Jul.2012 G.Cosmo (op-V09-05-05)
              Explicitly use inclusion of headers for system of units and
              physical constants, in plan to remove implicit inclusion from
              globals.hh.

20th Jun 2012 P.Gumplinger (op-V09-05-04)
              remove methods: SetModel/GetModel from G4OpBoundaryProcess class

7th  Jun 2012 G.Cosmo (op-V09-05-03)
              Fixed trivial cases of variable shadowing in G4OpMieHG.cc
              and G4OpWLS.cc.

17th May 2012 P.Gumplinger (op-V09-05-02)
              G4OpWLS.hh, G4OpRayleigh.hh, G4OpAbsorption.hh,
              G4OpMieHG.hh and G4OpBoundaryProcess.hh -
              more fixing Coverity warnings

16th May 2012 P.Gumplinger (op-V09-05-01)
              G4OpBoundaryProcess.cc - trying to fix Coverity warnings

24th Jan 2012 P.Gumplinger (op-V09-05-00)
              G4OpBoundaryProcess.cc - solves Problem #1275
              call aParticleChange.ProposeVelocity(aTrack.GetVelocity())
              at every invocation of DoIt; for FresnelRefraction calculate
              finalVelocity locally from Material2->
              GetMaterialPropertiesTable()->GetProperty("GROUPVEL")

28th Oct 2011 P.Gumplinger (op-V09-04-03)
              add logic for ProposeVelocity to G4OpBoundaryProcess::PostStepDoIt

13th Oct 2011 P.Gumplinger (op-V09-04-02)
              modify to work with materials-V09-04-14

6th  Oct 2011 P.Gumplinger (op-V09-04-01)
              update G4Exception syntax in G4OpWLS.cc and
              G4OpBoundaryProcess.cc

14th Jun 2011 Peter Gumplinger (op-V09-04-00)
              A dielectric_dielectric surface may now have a wavelength
              dependent property "TRANSMITTANCE". If this is specified
              for a surface it overwrites the Snell's law's probability.
              This allows the simulation of anti-reflective coatings.
              Thanks to Evgueni Goudzovski (CERN) for the idea.

29th Oct 2010 Peter Gumplinger (op-V09-03-06)
              Fix minor Coverty Errors

22th Oct 2010 Peter Gumplinger (op-V09-03-05)
              Add Mie Scattering of Optical Photons
              Thanks to Xin Qian (Kellogg Radiation Lab of Caltech)
              Based on work from Vlasios Vasileiou (University of Maryland)
              Henyey-Greenstein phase functions

21th Oct 2010 Peter Gumplinger (op-V09-03-04)
              Fix Bug 207; Thanks to Xin Qian (Kellogg Radiation Lab of Caltech)

14th Jun 2010 Peter Gumplinger (op-V09-03-03)
              ProposeLocalEnergyDeposit(thePhotonMomentum) every time the
              photon is fStopAndKill because of NoRINDEX. This will trigger
              scoring when a photon encounters a volume not defined as an
              optical medium (indirect user request):
              http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/335/1.html

18th May 2010 Peter Gumplinger (op-V09-03-02)
              fix a bug reported at:
              http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/334/1/1.html
              theFacetNormal was not sampled for polishedbackpainted
              in DielectricDielectric method of G4OpBoundaryProcess

19th Apr 2010 Peter Gumplinger (op-V09-03-01)
              fix Problem report #1114 in that for backpainted
              surfaces theReflectivity is not applied twice.
              While doing the fix I also completely refashioning the
              code in the case of type == dielectric_dielect.

19th Jan 2010 Peter Gumplinger (op-V09-03-00)
              assign PropertyPointers to NULL at the start of the
              PostStepDoIt, addresses bug report #1094

19th Nov 2009 Peter Gumplinger (op-V09-02-06)
              change the code such that the LUT are now read in and kept
              by G4OpticalSurface and not G4OpBoundaryProcess, reordering
              of enumeration and set theStatus in DielectricLUT.

11th Nov 2009 Peter Gumplinger (op-V09-02-05)
              add capability of simulating surface reflections
              with Look-Up-Tables (LUT) containing measured
              optical reflectance for a variety of surface
              treatments - Thanks to Martin Janecek and
              William Moses (Lawrence Berkeley National Lab.)

9th  Nov 2009 Peter Gumplinger (op-V09-02-04)
              G4OpBoundary: initialze theReflectivity and theEfficiency
              at the beginning of the PostStepDoIt; add method
              BoundaryProcessVerbose which will now print the process
              status for every call to PostStepDoIt.

5th  Nov 2009 Peter Gumplinger (op-V09-02-03)
              G4OpBoundary::PostStepDoIt - all dielectric_dielectric
              surfaces may now have a reflectivity <1; not only
              'frontpainted' as was the case in the past.

6th  May 2009 Peter Gumplinger (op-V09-02-02)
              G4OpBoundary::PostStepDoIt now throws an G4Exception
              EventMustBeAborted when an invalid surface normal is returnd;
              addresses bug report #1060

23th Mar 2009 Peter Gumplinger (op-V09-02-01)
              for complex index of refraction: (1)resample the reflectivity
              every time in the do-while of DielectricMetal, but don't
              re-calculate theFacetNormal (which has already been chosen
              in CalculateReflectivity), also (2) avoid an infinite loop by
              resetting iTE and iTM inside the do-while of GetReflectivity;
              both are bug-fixes.

14th Jan 2009 Peter Gumplinger (op-V09-02-00)
              respond to bug report 1040 by fixing G4OpBoundaryProcess.cc

07th Nov 2008 Peter Gumplinger (op-V09-01-09)
              use new global/HEPRandom's G4RandomTools.hh

24th Oct 2008 Peter Gumplinger (op-V09-01-08)
              use local G4OpProcessSubType.hh

21st Oct 2008 Peter Gumplinger (op-V09-01-07)
              add SetProcessSubType for G4OpAbsorption, G4OpBoundaryProcess,
              G4OpRayleigh and G4OpWLS

18th Aug 2008 Peter Gumplinger (op-V09-01-06)
              use signatures G4SwapPtr(T*& and G4SwapObj(T*
              in G4OpBoundaryProcess - to work with global-V09-01-12

15th Aug 2008 Peter Gumplinger (op-V09-01-05)
              replaced G4SwapPtr with G4SwapObj for Rindex
              in G4OpBoundaryProcess - serious error since op-V09-01-00
              (see also Problem Report 1020)

4th July 2008 Peter Gumplinger (op-V09-01-04)
              In G4OpWLS now SetTouchableHandle(aTrack.GetTouchableHandle())
              for the secondaries in the DoIt.
              In G4OpBoundaryProcess.cc initialize the pointer:
              G4LogicalSurface* Surface = NULL;

27th June 2008 Peter Gumplinger (op-V09-01-03)
               In G4OpBoundaryProcess changed unsafe cast
               (G4OpticalSurface*) to dynamic_cast<G4OpticalSurface*>
               following suggestion in bug-report #1014

6th June 2008 Peter Gumplinger (op-V09-01-02)
              G4OpRayleigh, G4OpWLS = trivial name changes:
              momentum->energy, momenta->energies

5th June 2008 Peter Gumplinger (op-V09-01-00)
              G4OpBoundaryProcess: Removed G4Swap methods - replaced by
              G4SwapPtr. Removed G4IsotropicRand method - replaced by
              G4RandomDirection. Add commented code to change absorption
              at a dielectric/metal boundary into transmission.

29th Oct 2007 Peter Gumplinger (op-V09-00-01)
              In G4OpWLS.cc allow for the MeanNumberOfPhotons to be
              different from one, in case the constant property:
              WLSMEANNUMBERPHOTONS is provided and, if it is, sample
              NumPhotons with G4Poisson.

15th Oct 2007 Peter Gumplinger (op-V09-00-00)
              Add capability of calculating the reflectivity off a metal
              surface by way of a complex index of refraction.
              Thanks to Sehwook Lee and John Hauptman
              (Dept. of Physics - Iowa State Univ.)

11th May 2007 Gabriele Cosmo (op-V08-03-00)
              Use call to G4GeometryTolerance instead of kCarTolerance in
              G4OpBoundaryProcess.
              Requires tag "global-V08-03-00" and related tag set.

11th May 2006 Peter Gumplinger (op-V08-00-01)
              thanks to Andreia Trindade and Pedro Rodrigues, the WLS time
              delay can now be a delta function or exponential. New classes:
              G4VWLSTimeGeneratorProfile, G4WLSTimeGeneratorProfileDelta and
              G4WLSTimeGeneratorProfileExponential

17th Feb 2006 Peter Gumplinger (op-V08-00-00)
              fix default behaviour for unified model of dielectric_metal

28th July 2005 Peter Gumplinger (op-V07-01-00)
               add G4ProcessType to all constructors

10th December 2004 Gabriele Cosmo (op-V06-02-06)
                replaced M_PI with CLHEP's pi

02nd December 2004 Peter Gumplinger (op-V06-02-05)
                migration to cmath

28th October 2004 Gabriele Cosmo (op-V06-02-04)
                Added G4OPTICAL_DEBUG flag for debug printout.

18th October 2004 Peter Gumplinger (op-V06-02-03)
                Fix bug in DielectricMetal only GetFacetNormal for
                LobeReflection.
                Migrate files to 7.0 ParticleChange method names:
                G4OpBoundaryProcess.hh, G4OpBoundaryProcess.cc,
                G4OpWLS.cc, G4OpRayleigh.cc, G4OpAbsorption.cc

27th September 2004 Peter Gumplinger (op-V06-02-02)
                Fix bug in G4PlaneVectorRand and resample
                theFacetNormal for LobeReflection in DielectricMetal

12th August 2004 Peter Gumplinger (op-V06-02-01)
                In G4OpBoundaryProcess.cc: use GetMaterial from
                G4StepPoint directly; apply/sample reflectivity and
                Unified model reflection parameters only once even
                for rough dielectric/metal surfaces - i.e. not again
                even when reflected ray still points toward the
                surface - fixes problem report 654.

05th August 2004 Peter Gumplinger (op-V06-02-00)
                Allow for unified model reflectivity parameters
                to also work in case of dielectric_metal surfaces;
                addresses in part problem report 654.

26th April 2004 Peter Gumplinger (op-V06-01-01)
                Protect against NULL pointers in G4OpRayleigh.
                Do not overwrite Rayleigh scattering length
                for the material named 'Water' if it has been
                specified by the user through a call to
                AddProperty("RAYLEIGH"

21st April 2004 Peter Gumplinger (op-V06-01-00)
                Assign class members to defaults in DoIt.

17th March 2004 Peter Gumplinger (op-V06-00-03)
                Assign all class members in constructor.

24th February 2004 Gabriele Cosmo (op-V06-00-02)
                Added EOL at end of file in G4OpBoundaryProcess.cc to clear
                compilation warning in Linux-g++.

19th February 2004 Peter Gumplinger (op-V06-00-01)
                Add process status: NotAtBoundary, SameMaterial,
                                    StepTooSmall, NoRINDEX
                Allow for a skin-surface between mother and daughter
                volumes, with the daughter skin taking precedence.

2nd February 2004 Peter Gumplinger (op-V06-00-00)
                Set theStatus = Undefined at start of DoIt
                Replace usage of 0 with NULL.

1st December 2003 Peter Gumplinger (op-V05-02-02)
                G4OpBoundaryProcess.cc: modified to adopt G4SurfaceProperty.
                Requires tag "materials-V05-02-00".
		Replaced usage of NULL with 0.

4th October 2003 Gabriele Cosmo (op-V05-02-01)
                Modified GNUmakefile: added dependency to new module
                "geometry/navigation".
                Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00".

23rd September 2003 Peter Gumplinger (op-V05-02-00)
                Add WLS (wavelength shifting) process
15th March 2003 Peter Gumplinger (op-V05-00-01)
                Change logic for assigning of Rindex2; bug report #444
4th February 2003 Peter Gumplinger (op-V05-00-00)
                Fix calculation of polarization for perpendicular
                incidence when Rindex1 > Rindex2; bug report #442
12th November 2002 Peter Gumplinger (op-V04-01-01)
                Fix calculation of polarization on dielectric dielectric
                interfaces; bug report #427
28th March 2002 Peter Gumplinger (op-V04-00-01)
                Add public inline method GetStatus and make enum
                G4OpBoundaryProcessStatus public in G4OpBoundaryProcess.hh
18th October 2001 Peter Gumplinger (op-V03-02-01)
              Avoid warnings on Linux (gcc-2.95.2) compiler
- G4OpRayleigh.cc: remove unused variable 'aMaterial' in PostStepDoIt and
                   'no_unit' in RayleighAttenuationLengthGenerator
- G4OpBoundaryProcess.cc: moved definition of E2_perp, E2_parl, E2_total
                          outside IF-statement
31st August 2001 Peter Gumplinger (op-V03-02-00)
- G4OpRayleigh.hh, G4OpBoundary.hh and G4OpAbsorption.hh: changed processName
                   to 'OpRayleigh', 'OpBoundary' and 'OpAbsorption' respectively

30th January 2001 Peter Gumplinger (op-V03-00-05)
- G4OpRayleigh.cc: allow for positiv and negative CosTheta and force the
                   new momentum direction to be in the same plane as the
                   new and old polarization vectors
                   still bug report: 207

29th January 2001 Peter Gumplinger (op-V03-00-04)
- G4OpRayleigh.cc: fix calculation of SinTheta from CosTheta
                   bug report: 207

23rd January 2001 Peter Gumplinger (op-V03-00-02)
- G4OpRayleigh.cc: Allow for Rayleigh scattering length to be defined for
           arbitrary material through the use of G4MaterialPropertyTable.

5th October 2000  Peter Gumplinger (op-V02-00-02)
- G4OpAbsorption.cc: Comment out warning - No Absorption length specified.

3rd August 2000  Gabriele Cosmo (op-V02-00-00r)
- G4OpBoundaryProcess.cc: changed RandGauss to G4RandGauss to fix problem
  of events' reproducibility.
- Syncronized with HEAD (only CVS headers changes).

21th October 1999  Peter Gumplinger (op-V00-01-01)
- G4OpBoundaryProcess.hh and G4OpBoundaryProcess.cc have been modified
  (Fill NewMomentum/NewPolarization in DoAbsorption. These members need
  to be filled since DoIt calls aParticleChange.SetMomentumChange etc.
  upon return (thanks to: Clark McGrew)
