$Id: History 74238 2013-10-02 08:51:17Z gcosmo $
-------------------------------------------------------------------

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

                      Sub-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 directory-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 *
     ----------------------------------------------------------

February 23,  2015  T.Nikitina            geom-usolids-V09-06-17
- Fix in SetOriginalParameters() for UPolycone, in case of presence of
  'rings' structures constructed by (r,z) corners.

February 16,  2015  G.Cosmo
- Fixed typo in copy-ctor and assignment operator for UTubs.

January 26,  2015  G.Cosmo
- Renamed DistanceAwayForInside() to DistanceAway() and use polymorphism
  in UPolyconeSide.

January 26,  2015  T.Nikitina
- Added special method for Inside 'DistanceAwayForInside()' in order to fix 
  precision problem of calculation of DistanceToSide() in UPolyconeSide.

December 17, 2014 G.Cosmo
- Renamed ExceptionSeverity struct to UExceptionSeverity in UUtils.

December 12, 2014 G.Cosmo
- Use canonical form for operator=() in UPolycone.

December 10, 2014 T.Nikitina
- Fix in UPolycone::InsideSection() for points(0,0,z).
  Code cleanup and formatting

December 02, 2014 T.Nikitina
- Fixes in UPolycone: 
  InsideSection() for openPhi when StartPhi is negative,
  Init() for Polycone defined from ZPlane[0]>ZPlane[N],
  DistanceToOut() for points starting on internal surface.

November 27, 2014 G.Cosmo
- Removed 'inline' specification for pure virtual function StreamInfo()
  in VUSolid base class.

November 27, 2014 G.Cosmo
- Fixed implementation of StreamInfo() for G4USolid.

November 10, 2014 T.Nikitina
- UPolyhedra: moved Extent() from protected to public.
- UPolycone: correction in Capacity() for iteration over the number of
  sections and in SurfaceArea() for the case opening-angle is less than 2*pi.
- UTet: fixed approximation in Extent().

November 6, 2014  T.Nikitina
- Minor fixes of errors reported by Coverity and unit tests in 
  UTubs, UCons, UTet.

September 18, 2014  T.Nikitina            geom-usolids-V09-06-16
- Fixed typo error in USphere::SafetyFromInside().

September 17, 2014  G.Cosmo
- Minor fix in UVector2 to replace use of 's' with 's1' as parameter in
  copy constructor.
- Removed references to G4 types in several classes.
- Corrected treatment of transformations in UVoxelizer (T.Nikitina).

September 4, 2014  T.Nikitina
- UCons: fixed typo error in GetPointOnSurface() in the call
  to GetRadiusInRing(). Responsible for occasionally wrong reports
  when checking for overlaps.
  Fix in DistanceToIn(p,v) for points on the Surface, to resolve
  error reported in unit testing by the OpticalEscape test.

September 1, 2014  G.Cosmo
- Fix in G4USolid for use of polyhedron, to avoid race condition in MT
  when parameterised volumes are visualised.

May 23, 2014  T.Nikitina                  geom-usolids-V09-06-15
- Fixed DistanceToOut() for UTubs, UCons, USphere, UVSCGfaceted and UPolycone, 
  DistanceToOut() return normal even for concave faces.
- Fixed DistanceToOut() for UPolycone in case of points starting on
  the Surface or on the Internal Surface. Improved convexity algorithm in 
  DistanceToOut() for UPolycone for points leaving +/-Dz. 

March 27, 2014  G.Cosmo                   geom-usolids-V09-06-14
- Removed unused SaveVectorToExternalFile() methods in UUtils, also
  causing cyclic dependency with UVector3.

March 25, 2014  T.Nikitina
- Fix to DistanceToIn() for UBox in case of points located on edges.

March 13, 2014  G.Cosmo
- Fixed use of inline keyword for methods defined in .cc files in UTrd,
  UVCSGfaceted and UVoxelizer.
- Moved findComponentFastest() to be a method of UVoxelizer and changed
  to FindComponentFastest().

March 5, 2014  G.Cosmo
- Fixed handling of polyhedron pointer in G4USolid.

February 28, 2014  T.Nikitina
- New Implementation of SafetyFromInside() for UPolycone, skipping internal
  Z sections.
- Implementation of auxiliary methods in UTubs and UCons: SafetyFromInsideR(),
  SafetyFromOutsideR(),SafetyToPhi(). These methds are used in Polycone for
  SafetyfromInside() calculations. SafetyFromInside() and SafetyFromOutside()
  are changed in order to avoid duplications.
  
February 21, 2014  T.Nikitina             geom-usolids-V09-06-13
- Implemented precise safety in UTubs and UCons for SafetyFromOutside().
  Precise safety is used in UPolycone for calculation of SafetyFromOutside().
- UPolycone fixes: added validity check of shape for case when RMin > RMax;
  moved global bounding-box to be a class data member.
  Corrected implementation of DistanceToOut(p,v) for convexity and normals.
  Corrected implementation of DistanceToOut(p,v) for stuck tracks due to
  DistanceToIn=DistanceToOut=0.
  Corrected implementation of Inside() in case of OpenPhi.    

February 12, 2014  G.Cosmo                geom-usolids-V09-06-12
- Removed ResetPolyhedron() from G4USolid bridge class. Not necessary as
  using mutable pointer for solids. Moved 'fPolyhedron' pointer to protected.

February 12, 2014  G.Cosmo
- Corrected implementation of Clone() method in UBox, UTet, UTrd.
- Corrected cloning mechanism and copy constructor in G4USolid.
  Addressing problem report #1553.

January 10, 2014  T.Nikitina
- Fixed typo in SafetyFromInside() for UTubs for correct calculation of
  'safePhi'.

November 29, 2013  G.Cosmo                geom-usolids-V09-06-11
- Corrected library name in GNUmakefile and fixed comment in sources.cmake.

November 21, 2013  G.Cosmo                geom-usolids-V09-06-10
- Fixed compilation warning for type conversion in UVCSGfaceted
  constructor.

November 20, 2013  T.Mikitina             geom-usolids-V09-06-09
- Fixed Coverity defects.

November 14, 2013  T.Mikitina             geom-usolids-V09-06-08
- Corrected visualization methods in bridge G4USolid.
- Corrected returned type string from USolids and added Reset()
  method to UPolycone.

November 13, 2013  G.Cosmo                geom-usolids-V09-06-07
- Removed useless dependency on UMultiUnion in UPolycone.

November 13, 2013  G.Cosmo                geom-usolids-V09-06-06
- Leave out UMultiUnion, as not yet ready for release.

November 12, 2013  T.Nikitina             geom-usolids-V09-06-05
- Corrected passing of parameters for normal in G4USolid::DistanceToOut(p,v).

November 7, 2013  G.Cosmo                 geom-usolids-V09-06-04
- Moved wrappers to associated modules.
- Added missing accessor method to UTrd.

November 5, 2013  G.Cosmo                 geom-usolids-V09-06-03
- Code cleanup and added banners to USolids files.

November 1, 2013  G.Cosmo                 geom-usolids-V09-06-02
- Fixed compilation error and warnings on SLC6.

November 1, 2013  G.Cosmo                 geom-usolids-V09-06-01
- Added wrappers for Ubox, Ucons, UGenericPolycone, UMultiUnion, UOrb,
  UPolycone, UPolyhedra, USphere, UTet, UTrd, UTubs.
  Removed all other shapes not covered by the wrappers (will be included
  in a later stage).
- Updated CMake script accordingly.

October 29, 2013  G.Cosmo                 geom-usolids-V09-06-00
- Imported classes from the AIDA Unified Solids Library
  (see https://aidasoft.web.cern.ch/USolids).
  Shapes provided: Ubox, Ucons, UGenericPolycone, UMultiUnion, UOrb,
  UPolycone, UPolyhedra, USphere, UTet, UTrd, UTubs (including also
  shapes not foreseen to be wrapped as first stage).
- Includes bridge class G4USolid and first wrapper class G4UBox.
