1254 lines
55 KiB
Plaintext
1254 lines
55 KiB
Plaintext
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
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 *
|
|
----------------------------------------------------------
|
|
|
|
May 17, 2021 E.Tcherniaev geom-csg-V10-06-07
|
|
- Bux fix in G4Sphere::GetSurfaceArea()
|
|
- G4Sphere::GetCubicVolume() moved to source
|
|
- Revised G4Sphere::GetPointOnSurface()
|
|
|
|
February 1, 2021 G.Cosmo geom-csg-V10-06-06
|
|
- G4Trap, G4Para: removed spurious character in printout in StreamInfo().
|
|
Addressed problem report #2318.
|
|
|
|
November 12, 2020 E.Tcherniaev geom-csg-V10-06-05
|
|
- G4Sphere::InitializeThetaTrigonometry(): tan() replaced with sin()/cos(),
|
|
it addresses problem report #2289
|
|
|
|
October 08, 2020 E.Tcherniaev geom-csg-V10-06-04
|
|
- G4Box: Migration to G4QuickRand in GetPointOnSurface();
|
|
- G4Trd: Added two precalculated values fHx, fHy for fast calculation
|
|
of lateral areas; Revision of GetPointOnSurface();
|
|
- G4Trap: Added array fAreas[6] with precalculated face areas;
|
|
Added SetCachedValues() method; Revision of GetPointOnSurface();
|
|
- G4Tubs: Revision of GetPointOnSurface();
|
|
- G4CSGSolid: Explicit implementation of G4RandomRadiusInRing(rmin,rmax)
|
|
based on G4QuickRand
|
|
|
|
October 06, 2020 E.Tcherniaev geom-csg-V10-06-03
|
|
- Improved G4CutTubs:
|
|
o Implemented GetCubicVolume(), GetSurfaceArea();
|
|
o Reimplemented GetPointOnSurface(), it's now faster and uniform;
|
|
o Reimplemented IsCrossingCutPlanes(), it now reports a problem
|
|
only in case if cut planes are crossing inside the lateral surface;
|
|
o Removed GetMaxMinZ() as obsolete;
|
|
|
|
April 30, 2020 G.Cosmo geom-csg-V10-06-02
|
|
- Adopt new convention for location of headers in VecGeom for all wrappers.
|
|
|
|
April 09, 2020 E.Tcherniaev geom-csg-V10-06-01
|
|
- G4Trap.cc: fixed calculation of normal for points on edge in
|
|
SurfaceNormal(), improved code for Inside().
|
|
- testG4Sphere.cc: removed obsolete code for testing CalculateExtent().
|
|
|
|
December 10, 2019 B.Morgan geom-csg-V10-06-00
|
|
- Cleanup CMake build, removing obsolete granular library options and
|
|
explicit include_directories.
|
|
|
|
August 23, 2019 G.Cosmo geom-csg-V10-05-05
|
|
- Minor c++11 revision and headers cleanup.
|
|
- Use pre-increment wherever possible.
|
|
|
|
July 1, 2019 G.Cosmo geom-csg-V10-05-04
|
|
- G4CutTubs: fixed minor Coverity defects for non initialised data in
|
|
constructors.
|
|
|
|
May 31, 2019 J.Apostolakis geom-csg-V10-05-03
|
|
- G4Tubs: Fixed normal from DistanceToOut (to be unit vector) for abnormal
|
|
exit points. Added inverse-Rmax and -Rmin as data members.
|
|
|
|
May 31, 2019 G.Cosmo geom-csg-V10-05-02
|
|
- More reuse of pre-calculated values for sin() and cos() in G4Tubs,
|
|
G4Cons, G4CutTubs, G4Sphere.
|
|
|
|
May 28, 2019 J.Apostolakis geom-csg-V10-05-01
|
|
- G4Tubs: reused pre-calculated values instead of using std::cos(), std::sin().
|
|
|
|
May 14, 2019 B.Morgan geom-csg-V10-05-00
|
|
- Add inclusion of new G4GeomTypes.hh header to those headers allowing
|
|
VecGeom replacement.
|
|
- See also geommng-10-05-05
|
|
|
|
November 13, 2018 E.Tcherniaev geom-csg-V10-04-07
|
|
- G4Orb: improved check if point is too far in DistanceToIn(p,v).
|
|
- G4Torus: added check if point is too far in DistanceToIn(p,v).
|
|
Addressing problem report #2100.
|
|
|
|
November 12, 2018 E.Tcherniaev geom-csg-V10-04-06
|
|
- G4Cons: fix in GetPointOnSurface() when sampling on inner and outer
|
|
conical surfaces.
|
|
|
|
September 13, 2018 G.Cosmo geom-csg-V10-04-05
|
|
- G4UTorus: removed leftover use of UVector3 and replaced with U3Vector.
|
|
|
|
August 10, 2018 A.Gheata geom-csg-V10-04-04
|
|
- Make G4UTrd wrapper inheriting from vecgeom::GenericUnplacedTrd,
|
|
following the latest changes in VecGeom.
|
|
|
|
May 7, 2018 G.Cosmo geom-csg-V10-04-03
|
|
- Make G4UCons wrapper inheriting from vecgeom::GenericUnplacedCone,
|
|
following the latest changes in VecGeom.
|
|
|
|
April 11, 2018 G.Cosmo geom-csg-V10-04-02
|
|
- G4Box: simplified and optimised calculation of normal in method
|
|
DistanceToOut(p,v,..). (E.Tcherniaev)
|
|
- Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake.
|
|
|
|
February 5, 2018 G.Cosmo geom-csg-V10-04-01
|
|
- Correction in G4UPara::ComputeDimensions() to add explicit cast for the
|
|
solid type to parameterise.
|
|
|
|
December 11, 2017 E.Tcherniaev geom-csg-V10-04-00
|
|
- Fixed typo in G4Trd::GetPointOnSurface() for the area settings.
|
|
|
|
November 22, 2017 G.Cosmo geom-csg-V10-03-38
|
|
- Fix in SurfaceNormal() for G4Trap, G4Para, G4Trd to assure explicit
|
|
counting of the surfaces where the point is placed on edges.
|
|
|
|
October 20, 2017 G.Cosmo geom-csg-V10-03-37
|
|
- Removed redundant overloaded implementation for StreamInfo() in G4UBox
|
|
wrapper.
|
|
|
|
October 9, 2017 G.Cosmo geom-csg-V10-03-36
|
|
- Enabled adapter for G4UTorus wrapper, according to migration done in
|
|
VecGeom for UnplacedTorus2.
|
|
|
|
September 1, 2017 E.Tcherniaev geom-csg-V10-03-35
|
|
- G4Trap: use specialization (fTrapType 3) for traps that could be also
|
|
defined as G4Trd, where isosceles trapeziod is in the XY section, instead
|
|
of XZ (faces at Xmin/Xmax symmetrical and have Z-component of normals equal
|
|
to zero). Factorised code with case statements for the different
|
|
specialisations.
|
|
|
|
August 14, 2017 E.Tcherniaev geom-csg-V10-03-34
|
|
- Reviewed implementation of G4Orb, made more compact and performant.
|
|
|
|
July 20, 2017 E.Tcherniaev geom-csg-V10-03-33, 32
|
|
- Use G4RandomRadiusInRing() in G4CSGSolid::GetRadiusInRing().
|
|
|
|
July 19, 2017 G.Cosmo geom-csg-V10-03-31
|
|
- Enabled adapter also in G4USphere wrapper.
|
|
|
|
July 13, 2017 E.Tcherniaev geom-csg-V10-03-30
|
|
- Improved calculation of bounding box in G4CutTubs and related wrapper.
|
|
|
|
July 11, 2017 G.Cosmo geom-csg-V10-03-29
|
|
- Added G4UPara wrapper for enabling VecGeom Parallelepiped shape.
|
|
- Removed inheritance from G4Tubs for G4CutTubs.
|
|
|
|
July 10, 2017 G.Cosmo geom-csg-V10-03-28
|
|
- Added G4UCutTubs wrapper for enabling VecGeom CutTube shape.
|
|
- Removed clone class G4OTubs no longer necessary and make G4CutTubs
|
|
directly inheriting (temporary) from G4Tubs.
|
|
|
|
July 4, 2017 E.Tcherniaev geom-csg-V10-03-27
|
|
- G4Box: minor optimisation in DistanceToOut(p).
|
|
- G4Para: optimisation in Inside(), DistanceToIn/Out(p), use std::abs(xx)
|
|
in place of std::max(xx,-xx).
|
|
|
|
June 26, 2017 E.Tcherniaev geom-csg-V10-03-26
|
|
- G4Trd: allow Dx and Dy parameters be equal to zero where appropriate.
|
|
|
|
June 15, 2017 G.Cosmo geom-csg-V10-03-25
|
|
- Enabled adapter also in G4UCons wrapper.
|
|
|
|
June 6, 2017 G.Cosmo geom-csg-V10-03-24
|
|
- Enable adapter for VecGeom shapes in G4U* wrappers for: box, trap, trd,
|
|
tubs and orb. From now on, wrappers depends directly on VecGeom shapes
|
|
implementation. USolids API is deprecated and no longer supported.
|
|
|
|
June 1, 2017 E.Tcherniaev geom-csg-V10-03-23
|
|
- G4Trap: added more strict condition for trap definition in case when
|
|
YZ section is a rectangle.
|
|
|
|
May 31, 2017 E.Tcherniaev geom-csg-V10-03-22
|
|
- Reviewed implementation of G4Para, made more compact and performant.
|
|
- G4Trap: fix in the calculation of side planes.
|
|
- G4Trd: speedup further DistanceToIn(p,v) making it similar to the
|
|
implementation in G4Para. Fix in the calculation of side planes.
|
|
|
|
May 29, 2017 E.Tcherniaev geom-csg-V10-03-21
|
|
- G4Trd: fixed issue in GetPointOnSurface().
|
|
- Updated unit tests.
|
|
|
|
May 26, 2017 E.Tcherniaev geom-csg-V10-03-20
|
|
- Reviewed implementation of G4Trd, made more compact and performant.
|
|
Removed obsolete method CheckAndSetAllParameters().
|
|
|
|
May 24, 2017 G.Cosmo geom-csg-V10-03-19
|
|
- Renamed ambiguous name Extent() in all solids and G4U* wrappers to
|
|
BoundingLimits(). Change required in order to avoid signature conflict
|
|
with VecGeom in G4U* wrappers.
|
|
Requires tag geommng-V10-03-16.
|
|
|
|
May 23, 2017 E.Tcherniaev geom-csg-V10-03-18
|
|
- G4Trap: some code improvements.. use std::copysign(); replace division
|
|
with multiplication by inverse value; code formatting.
|
|
|
|
May 21, 2017 E.Tcherniaev geom-csg-V10-03-17
|
|
- Fix in G4CutTubs::Inside() for case where inside points were concidered
|
|
as points on surface. Addressing problem report #1973.
|
|
|
|
May 8, 2017 E.Tcherniaev geom-csg-V10-03-16
|
|
- G4Box: use std::copysign() to improve performance on Linux.
|
|
Some code formatting.
|
|
|
|
May 4, 2017 E.Tcherniaev geom-csg-V10-03-15
|
|
- G4Trap: fixed cases of division by zero reported by testing.
|
|
|
|
May 1, 2017 E.Tcherniaev geom-csg-V10-03-14
|
|
- Reviewed implementation of G4Trap, made more compact and performant.
|
|
|
|
April 18, 2017 E.Tchernieav geom-csg-V10-03-13, 12
|
|
- Reviewed implementation of G4Box, made more compact and performant.
|
|
|
|
April 11, 2017 G.Cosmo geom-csg-V10-03-11, 10, 09
|
|
- Added accessor for radial tolerance also in G4UOrb wrapper.
|
|
|
|
April 7, 2017 G.Cosmo geom-csg-V10-03-08
|
|
- Added accessor to G4Orb for retrieving cached max radius tolerance.
|
|
- Added private members halfCarTolerance and fTrapType to G4Trap (E.Tcherniaev).
|
|
|
|
April 1, 2017 E.Tcherniaev geom-csg-V10-03-07
|
|
- G4Trap: Fix in GetPointOnSurface(), the method could generate points laying
|
|
outside the surface. Added private method GetVertices(), calculating vertices
|
|
of the trap from its side planes; removed private methods GetFaceArea() and
|
|
GetPointOnPlane(). Improved GetCubicVolume() and GetSurfaceArea();
|
|
calculation of the volume and surface area is now done by using vertices
|
|
calculated by GetVertices(). Improved/simplified other methods: StreamInfo(),
|
|
MakePlanes(), MakePlanes(pt), Extent() and CalculateExtent().
|
|
|
|
March 16, 2017 E.Tcherniaev geom-csg-V10-03-06, 05, 04
|
|
- G4Trap: modified computation of side planes; bounding box/envelope
|
|
are computed directly from side planes. Added CheckParameters() and
|
|
MakePlanes(pt), simplified constructors and SetAllParameters().
|
|
- G4UTrap: bounding box/envelope are computed directly from side planes
|
|
as for G4Trap. Increased tolerance in the check of consistency of
|
|
bounding boxes in Extent().
|
|
|
|
March 2, 2017 E.Tcherniaev geom-csg-V10-03-03
|
|
- Fixed possible rounding off error in calculation of 'astep' (max angle
|
|
for one step) in CalculateExtent() for G4Cons, G4Tubsm, G4CutTubs
|
|
and related USolids wrappers.
|
|
- Increased tolerance in the check of consistency of bounding boxes in
|
|
G4UTrap::Extent().
|
|
|
|
February 22, 2017 E.Tcherniaev geom-csg-V10-03-02
|
|
- Fix in GetCubicVolume() and GetSurfaceArea() for G4CutTubs, to make
|
|
use of the cached values. Addressing problem report #1943.
|
|
|
|
February 2, 2017 G.Cosmo geom-csg-V10-03-01
|
|
- Removed redundant code/checks in G4Orb::SurfaceNormal().
|
|
|
|
December 20, 2016 H.Burkhardt, E.Tcherniaev geom-csg-V10-03-00
|
|
- Use radius differences and hypot to improve precision in G4Torus.
|
|
Addressing problem report #1931.
|
|
|
|
November 18, 2016 E.Tcherniaev geom-csg-V10-02-19
|
|
- Added consistency checks for extent computation in USolids wrappers.
|
|
|
|
November 7, 2016 E.Tcherniaev geom-csg-V10-02-18
|
|
- Added optional debug flag G4BBOX_EXTENT in GNUMake build to compare
|
|
extent calculation by simply using bounding-box.
|
|
|
|
November 3, 2016 E.Tcherniaev geom-csg-V10-02-17
|
|
- Disabled check for intersection of cut planes in G4CutTubs constructor,
|
|
as too strict and not necessary. Addressing problem report #1887.
|
|
|
|
October 31, 2016 E.Tcherniaev geom-csg-V10-02-16
|
|
- Re-implemented CalculateExtent() to make use of G4BoundingEnvelope and
|
|
removed no-longer used method CreateRotatedVertices() in G4Sphere, G4OTubs,
|
|
G4Torus, G4Orb, and related USolids wrappers.
|
|
- Use G4GeomTools::DiskExtent() for calculation of bounding box in Extent()
|
|
for G4Tubs, G4Cons and related USolids wrappers.
|
|
- Use G4RandFlat instead of RandFlat.
|
|
|
|
October 5, 2016 E.Tcherniaev geom-csg-V10-02-15
|
|
- G4Cons, G4UCons: re-implemented CalculateExtent() to make use of
|
|
G4BoundingEnvelope; removed no-longer used method CreateRotatedVertices().
|
|
- G4Tubs, G4UTubs: revised implementation of CalculateExtent() to avoid use
|
|
of addresses to vectors elements. Attempting fix for reported Coverity defect.
|
|
|
|
September 27, 2016 G.Cosmo geom-csg-V10-02-14
|
|
- Reduced number of segments in G4Tubs and G4UTubs for CalculateExtent() from
|
|
48 to 24.
|
|
|
|
September 27, 2016 E.Tcherniaev geom-csg-V10-02-13
|
|
- Corrected vertices order for definition of bounding envelope in
|
|
G4Trap, G4UTrap and G4Para.
|
|
|
|
September 26, 2016 E.Tcherniaev geom-csg-V10-02-12
|
|
- More corrections in G4Trap and G4UTrap in Extent() for use of 'alpha'
|
|
accessors.
|
|
|
|
September 26, 2016 G.Cosmo, E.Tcherniaev geom-csg-V10-02-11, 10
|
|
- Re-implemented CalculateExtent() of G4Para, G4Trd, G4Trap to make use of
|
|
G4BoundingEnvelope; removed no-longer used method CreateRotatedVertices()
|
|
implementation. Use same algorithm in G4UTrd and G4UTrap wrappers.
|
|
- Fix in G4UBox in computation of the extent for problem introduced in
|
|
previous tags.
|
|
|
|
September 22, 2016 E.Tcherniaev geom-csg-V10-02-09, 08, 07
|
|
- G4Box, G4Tubs: added Extent() method and checks on extent validity.
|
|
- G4UBox, G4UTubs: use same CalculateExtent() technique as for G4Box
|
|
and G4Tubs.
|
|
|
|
August 30, 2016 E.Tcherniaev geom-csg-V10-02-06
|
|
- G4Tubs: added construction of bounding envelope in CalculateExtent().
|
|
|
|
August 29, 2016 G.Cosmo geom-csg-V10-02-05
|
|
- Removed no-longer used method CreateRotatedVertices() implementation in
|
|
G4Box and G4Tubs. Simplified code in G4Tubs::CalculateExtent().
|
|
|
|
August 26, 2016 E.Tcherniaev
|
|
- Re-implemented CalculateExtent() of G4Box and G4Tubs to make use of
|
|
G4BoundingEnvelope. Implemented bounding-box in G4Tubs to take into
|
|
consideration cuts in phi.
|
|
|
|
May 20, 2016 G.Cosmo geom-csg-V10-02-04
|
|
- Moved accessors and modifiers in USolids wrappers to be not inlined.
|
|
Required modification in order to allow correct dispatching to VecGeom
|
|
types.
|
|
|
|
April 15, 2016 G.Cosmo geom-csg-V10-02-03
|
|
- Added flag in USolids wrappers for partial use of USolids/VecGeom types.
|
|
|
|
April 5, 2016 J.Allison geom-csg-V10-02-02
|
|
- G4Orb.cc: Fixed typo in G4Exception message.
|
|
|
|
March 31, 2016 G.Cosmo geom-csg-V10-02-01
|
|
- Added overloaded CreatePolyhedron() method to USolids wrappers.
|
|
It is now possible to visualize supported VecGeom shapes.
|
|
|
|
March 10, 2016 G.Cosmo geom-csg-V10-02-00
|
|
- Added overloaded GetEntityType() method to USolids wrappers.
|
|
|
|
October 23, 2015 G.Cosmo geom-csg-V10-01-10
|
|
- Fixed Coverity defect in G4CutTubs::GetMaxMinZ().
|
|
|
|
October 22, 2015 G.Cosmo geom-csg-V10-01-09
|
|
- Reintroduced check, now corrected, in G4Sphere::DistanceToIn(p,v) for
|
|
concave Theta and point located on the origin. Also make proper use of
|
|
radial tolerance in DistanceToOut(p,v).
|
|
|
|
October 7, 2015 G.Cosmo geom-csg-V10-01-08
|
|
- Protected compilation of USolid wrappers with G4GEOM_USE_USOLIDS flag.
|
|
- Restored G4Sphere code to tag "geom-csg-V10-01-06".
|
|
|
|
September 3, 2015 T.Nikitina geom-csg-V10-01-07
|
|
- Fix in DistanceToIn(p,v) and DistanceToOut(p,v) for G4Sphere with concave
|
|
Theta. Follow-up of fix previously introduced to G4Sphere for point (0,0,0).
|
|
- Updated unit test for sphere.
|
|
|
|
September 1, 2015 G.Cosmo geom-csg-V10-01-06
|
|
- Corrected conditional compilation flag in G4UTorus.cc.
|
|
|
|
August 31, 2015 G.Cosmo geom-csg-V10-01-05
|
|
- Added USolids/VecGeom wrapper for G4Torus (G.Lima/FNAL).
|
|
Activated only for external USolids/VecGeom installation.
|
|
|
|
May 20, 2015 T.Nikitina geom-csg-V10-01-04
|
|
- Fixed DistanceToOut(p) and Inside(p) in G4Sphere for sphere cut in theta
|
|
for point (0,0,0) and for cases when Start/End angle have not to be taken
|
|
in account (STheta==0 || eTheta==pi).
|
|
Added corresponding test cases to unit test for testG4Sphere.
|
|
Fix triggered by analysing setup provided in problem report #1702.
|
|
|
|
May 5, 2015 G.Cosmo
|
|
- Fixed Coverity defect for unused variable quantity in G4Cons.
|
|
|
|
April 28, 2015 T.Nikitina geom-csg-V10-01-03
|
|
- Fixed calculation of Normal in G4Para for kPX and kMX sides in
|
|
DistanceToOut(p,v) and ApproxSurfaceNormal(p).
|
|
Addressing problem report #1736.
|
|
|
|
March 3, 2015 G.Cosmo geom-csg-V10-01-02
|
|
- Use accessors x(), y() and z() from UVector3, instead of directly accessing
|
|
its data-members. Co-work with tag "geom-usolids-V10-01-09".
|
|
|
|
February 16, 2015 G.Cosmo geom-csg-V10-01-01
|
|
- Fixed typo in copy-ctor and assignment operator for G4Tubs and G4OTubs.
|
|
|
|
December 5, 2014 G.Cosmo geom-csg-V10-01-00
|
|
- Fix in temporary class G4OTubs to include symbol in library in any case.
|
|
|
|
September 17, 2014 G.Cosmo geom-csg-V10-00-06
|
|
- Added wrapper for UTrap shape; adapted switch to original G4Trap accordingly.
|
|
Requires tag "geom-usolids-V10-00-16".
|
|
|
|
September 4, 2014 T.Nikitina geom-csg-V10-00-05
|
|
- G4Cons: fixed typo error in GetPointOnSurface() in the call
|
|
to GetRadiusInRing(). Responsible for occasionally wrong reports
|
|
when checking for overlaps.
|
|
- G4Cons: 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 geom-csg-V10-00-04
|
|
- Fixed use of polyhedron pointer, to avoid race condition in MT
|
|
when parameterised volumes are visualised.
|
|
|
|
March 5, 2014 G.Cosmo geom-csg-V10-00-03
|
|
- Fixed proper handling of polyhedron pointer in solids, to avoid memory
|
|
leak for visualization of parameterised volumes.
|
|
|
|
February 12, 2014 G.Cosmo geom-csg-V10-00-02
|
|
- Simply reset polyhedron pointer to zero for modifiers of G4U* wrappers
|
|
in parameterisation. Resolves crash in MT visualization when using USolids.
|
|
|
|
February 12, 2014 G.Cosmo geom-csg-V10-00-01 (and -00)
|
|
- Added correct cloning mechanism in G4U* wrappers.
|
|
Addressing problem report #1553.
|
|
|
|
November 22, 2013 G.Cosmo geom-csg-V09-06-09
|
|
- Correction to USolids wrappers for proper setting of name to base class.
|
|
|
|
November 20, 2013 T.Mikitina geom-csg-V09-06-08
|
|
- Fixed Coverity defects to USolids wrappers.
|
|
|
|
November 14, 2013 T.Nikitina geom-csg-V09-06-07
|
|
- Corrections to G4U* wrappers to allow for visualization of parameterisations.
|
|
|
|
November 7, 2013 G.Cosmo geom-csg-V09-06-06
|
|
- Moved wrappers from usolids module.
|
|
Fixed internal dispatcher method for parameterisation in all wrappers.
|
|
- Added switching mechanism for G4Box, G4Cons, G4Orb, G4Sphere, G4Trd
|
|
and G4Tubs.
|
|
- Defined temporary class G4OTubs to be used internally by G4CutTubs,
|
|
in provision to have UCutTubs in the USolids library.
|
|
|
|
November 6, 2013 G.Cosmo geom-csg-V09-06-05
|
|
- Added switch mechanism for USolids (box, cons, orb, sphere, trd, tubs).
|
|
Renamed related G4 types to 'G4O'.
|
|
- Moved wrappers from USolids module.
|
|
|
|
October 2, 2013 G.Cosmo geom-csg-V09-06-04
|
|
- Correctly initialise fSPhi to zero in G4Sphere constructor.
|
|
|
|
August 14, 2013 G.Cosmo geom-csg-V09-06-03
|
|
- Move function-scoped 'static const' values for half-tolerances to private
|
|
data members of classes, to overcome false-positive race-conditions defects
|
|
reported by Valgrind in MT mode.
|
|
- Corrected sanity check for wrong/small dimensions in G4Box constructor.
|
|
|
|
April 16, 2013 T.Nikitina geom-csg-V09-06-02
|
|
- Fix in G4Cons::DistanceToIn(p,v) for initialisation of dRmax for the
|
|
case of shape with Rmin1=Rmax1=0.
|
|
|
|
December 14, 2012 G.Cosmo geom-csg-V09-06-01
|
|
- Restored SVN id headers.
|
|
|
|
Dec 02, 2012 J.Allison geom-csg-V09-06-00
|
|
- Removed NURBS.
|
|
|
|
Nov 14, 2012 P. Mato geom-csg-V09-05-09
|
|
- Added #undef NDEBUG in unit tests to ensure that assert always works
|
|
|
|
Oct 19, 2012 G.Cosmo geom-csg-V09-05-08
|
|
- G4Torus: include printout within G4CSGDEBUG. Some code formatting...
|
|
|
|
Oct 11, 2012 J.Apostolakis geom-csg-V09-05-07
|
|
- G4Torus: small additional changes, to reorder a few computation
|
|
for better FP accuracy.
|
|
|
|
Oct 4, 2012 J.Apostolakis geom-csg-V09-05-06
|
|
- G4Torus: revised the values of delta, to account for precision loss
|
|
in calculating radius 'pt'.
|
|
Added printing in case of not finding normal when on surface.
|
|
|
|
Oct 3, 2012 J.Apostolakis geom-csg-V09-05-05
|
|
- G4Para::SurfaceNormal(): fixed calculation of sin(alpha) from cosine
|
|
and tangent.
|
|
|
|
June 12, 2012 G.Cosmo geom-csg-V09-05-04
|
|
- Explicitly use inclusion of headers for system of units and physical
|
|
constants, in plan to remove implicit inclusion from globals.hh.
|
|
|
|
May 14, 2012 G.Cosmo geom-csg-V09-05-03
|
|
- Fixed spurious cases of hidden variable visibility, detected with
|
|
'-Wshadow' compilation option on gcc compiler.
|
|
|
|
May 4, 2012 G.Cosmo geom-csg-V09-05-02
|
|
- Restored G4CSGSolid::GetRadiusInRing() to non-inline to avoid propagating
|
|
dependency on random generators.
|
|
|
|
May 3, 2012 G.Cosmo geom-csg-V09-05-01
|
|
- Made utility method GetRadiusInRing() inline and corrected implementation.
|
|
|
|
April 6, 2012 M.Kelsey geom-csg-V09-05-00
|
|
- Modified GetPointOnSurface() methods for solids using polar coordinate
|
|
parametrizations, to generate more uniform distributions, using a
|
|
function to generate proper radial coordinate included in G4CSGSolid.
|
|
|
|
November 15, 2011 G.Cosmo geom-csg-V09-04-11
|
|
- Correction in G4CutTubs for missing implementation of GetCubicVolume()
|
|
and GetSurfaceArea() utility methods, to be temporarly replaced by
|
|
default G4VSolid implementation.
|
|
|
|
November 2, 2011 G.Cosmo geom-csg-V09-04-10
|
|
- Removed declaration of methods not implemented in G4CutTubs and included
|
|
by mistake.
|
|
|
|
October 31, 2011 T.Nikitina geom-csg-V09-04-09
|
|
- First implementation of G4CutTubs solid, a tube with possible cuts in +-Z.
|
|
|
|
October 6, 2011 G.Cosmo geom-csg-V09-04-08, geom-csg-V09-04-07
|
|
- Fixed Coverity defect for uninitialised static data in G4Sphere.
|
|
|
|
October 3, 2011 G.Cosmo geom-csg-V09-04-06
|
|
- Fix in G4Sphere for setting of relative radial tolerances when setters
|
|
for radiuses are explicitely called.
|
|
- Relaxed validity condition in construction for the minimum size of the
|
|
outer radius.
|
|
|
|
August 25, 2011 G.Cosmo geom-csg-V09-04-05
|
|
- Migrated to new G4Exception scheme for warnings and errors.
|
|
- Defined scheme for warnings/errors coding:
|
|
+ 1xxx for warnings, 0xxx for errors.
|
|
Code numbering:
|
|
+ 0001: not supported or implemented features;
|
|
+ 0002: invalid setup/construct;
|
|
+ 0003: invalid run condition;
|
|
+ 1001: incorrect setup; automatically adapted.
|
|
+ 1002: notification.
|
|
|
|
June 1, 2011 G.Cosmo geom-csg-V09-04-04
|
|
- Made radial tolerance a local constant instead of a static data member
|
|
in G4Orb and G4Sphere.
|
|
|
|
May 27, 2011 T.Nikitina geom-csg-V09-04-03
|
|
- G4Tubs: use safe formula for quadratic equation solution, in order to avoid
|
|
numerical errors.
|
|
- G4Torus: use relative radial tolerances to avoid loss of precision issues
|
|
for shapes of big dimensions. Addresses problem report #1175.
|
|
|
|
May 12, 2011 G.Cosmo geom-csg-V09-04-02
|
|
- Fixed compilation warnings from gcc-4.6.0 for variables set but not used.
|
|
|
|
Apr 27, 2011 T.Nikitina geom-csg-V09-04-01
|
|
- Added protection for potential negative argument to sqrt() in
|
|
CalculateExtent() for G4Orb, G4Cons and G4Sphere.
|
|
|
|
Jan 7, 2011 T.Nikitina geom-csg-V09-04-00
|
|
- G4Cons: fix in DistanceToIn(p,v,..) to squared tolerance in comparision.
|
|
Replaced calculation of the solution for the quadratic equation, to use safe
|
|
formula, in order to avoid numerical errors when b is almost equal to sqrt(d).
|
|
Addresses problem report #1153.
|
|
|
|
Nov 23, 2010 G.Cosmo geom-csg-V09-03-14 & V09-03-12
|
|
- Fixed one left cases of cout precision restoring in G4Sphere.
|
|
|
|
Oct 19, 2010 G.Cosmo geom-csg-V09-03-11
|
|
- Implemented Clone() virtual method for all solids, returning a pointer to a
|
|
dynamically allocated copy of the solid. To be used by Geant4-MT.
|
|
|
|
Sep 23, 2010 G.Cosmo geom-csg-V09-03-10
|
|
- Initialize fpPolyhedron to zero in G4CSGSolid copy-ctor and operator=().
|
|
|
|
Sep 22, 2010 G.Cosmo geom-csg-V09-03-09
|
|
- Relaxed checking condition on SetOuterRadius() method to avoid
|
|
restrictions in order of calls for modifiers.
|
|
|
|
Sep 17, 2010 G.Cosmo geom-csg-V09-03-08
|
|
- Implemented copy-constructor and assignment operator for all solids
|
|
to facilitate conversion to Geant4-MT.
|
|
|
|
Sep 17, 2010 G.Cosmo geom-csg-V09-03-07
|
|
- Added missing validity checks on radii to modifiers in G4Tubs.
|
|
|
|
Sep 07, 2010 G.Cosmo geom-csg-V09-03-06
|
|
- Fix within G4CSGDEBUG code for restoring cout precision.
|
|
|
|
Aug 23, 2010 G.Cosmo geom-csg-V09-03-05
|
|
- G4Cons: fixed trivial compilation warning on Linux.
|
|
|
|
Aug 19, 2010 T.Nikitina geom-csg-V09-03-04
|
|
- G4Torus: fix in DistanceToOut(p,v,...) to address problem report #1081.
|
|
|
|
Jul 12, 2010 G.Cosmo geom-csg-V09-03-03
|
|
- Fixed condition in G4Tubs::Inside(p) for point on surface (T.Nikitina).
|
|
- Corrected use of std::fabs() in place of std::abs() in G4Tubs, G4Cons,
|
|
G4Sphere and G4Torus. Use pre-computed half-tolerance constants in G4Torus.
|
|
|
|
Jul 08, 2010 G.Cosmo geom-csg-V09-03-02
|
|
- Improved initialisation logic in constructor for: G4Box, G4Cons, G4Orb,
|
|
G4Para, G4Sphere, G4Torus, G4Trap, G4Trd, G4Tubs.
|
|
- Corrected cases of not-restored cout precision in: G4Box, G4Cons, G4Orb,
|
|
G4Para, G4Torus, G4Trap, G4Tubs.
|
|
- G4Torus: fixed call to internal method for finding roots, to avoid copy
|
|
of sdt::vector() by parameters. Some cleanup to avoid unnecessary protected
|
|
section and virtual table.
|
|
- Updated unit test for G4Sphere (V.Grichine).
|
|
|
|
May 25, 2010 G.Cosmo geom-csg-V09-03-01
|
|
- G4Box: more minor fixes in coding style, following code review discussion.
|
|
|
|
May 18, 2010 G.Cosmo geom-csg-V09-03-00
|
|
- G4Box: first implementation of speed improvements and corrections from joint
|
|
code review of G4Box class: introduced half-tolerance constants and better
|
|
logic in some conditional statements.
|
|
- Some code cleanup.
|
|
|
|
Dec 04, 2009 V.Grichine
|
|
- G4Orb: modified DistanceToIn(p,v) to be more consistent with Inside(p).
|
|
|
|
Nov 30, 2009 V.Grichine geom-csg-V09-02-08
|
|
- G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag.
|
|
|
|
Nov 26, 2009 T.Nikitina geom-csg-V09-02-07
|
|
- G4Torus: fix in SolveNumericJT() in order to take in account the difference
|
|
in the value of theta for different intervals, [0:pi] or [-pi:0], and for
|
|
SPhi in [0:twopi] or [-twopi:0]. Addresses problem report #1086.
|
|
|
|
Nov 12, 2009 T.Nikitina geom-csg-V09-02-06
|
|
- G4Cons: fix to DistanceToIn(p,v), added a check on the direction in case
|
|
of point on surface. Fixes a problem of stuck tracks observed in CMS, due
|
|
to wrong reply from the solid for points on the inner radius surface base
|
|
with direction along the imaginary extension of the cone.
|
|
- Added test case to internal test testG4Cons2.
|
|
|
|
Aug 07, 2009 T.Nikitina geom-csg-V09-02-05
|
|
- G4Sphere: fix for the calculation of the normal in DistanceToOut()
|
|
to avoid cases of division by zero in specific configurations.
|
|
Addresses problem report #977.
|
|
|
|
Jun 30, 2009 T.Nikitina geom-csg-V09-02-04
|
|
- Introduced to DistanceToIn(p,v) splitting of the distance for point very far
|
|
from intersection area and big difference between solid dimensions and
|
|
distance to it; resolves issue observed on 64 bits problem. Affected solids:
|
|
G4Tubs, G4Cons, G4Sphere, G4Orb. Addresses problem report #1022.
|
|
- Fixed rare cases of NaN on G4Sphere.
|
|
|
|
Jun 09, 2009 G.Cosmo geom-csg-V09-02-03
|
|
- Fixed case of non-initialised start-Phi value in G4Tubs and G4Cons,
|
|
problem introduced following modifications in tag "geom-csg-V09-02-00".
|
|
|
|
May 14, 2009 T.Nikitina geom-csg-V09-02-02
|
|
- G4Sphere: initialise flags for full sphere in constructor.
|
|
|
|
May 14, 2009 T.Nikitina geom-csg-V09-02-01
|
|
- G4Sphere: correction di DistanceToOut(p,v, ...) for phi sections for
|
|
rays passing though zero.
|
|
- More minor refiniments to G4Sphere following review.
|
|
|
|
May 08, 2009 G.Cosmo geom-csg-V09-02-00
|
|
- G4Sphere: implemented speed improvements and corrections from joint
|
|
code review of G4Sphere class. Cached computation for half-tolerances
|
|
and use of Boolean flag for identifying if full-sphere, shell or section.
|
|
Implemented caching of trigonometric values, now directly computed inside
|
|
modifiers for Phi and Theta angles as required for parametrised cases.
|
|
Rationalised usage of relative radial tolerances.
|
|
- G4Tubs, G4Cons: rationalised usage of modifiers for Phi angles and
|
|
simplified constructors.
|
|
- Added new test case for relatively big spheres in unit tests testG4Orb
|
|
and testG4Sphere, based on problem report #1046.
|
|
|
|
Nov 21, 2008 G.Cosmo geom-csg-V09-01-08
|
|
- G4Sphere: defined Get/SetInnerRadius() accessors to be compliant with
|
|
other CSG solids and allow consistent treatment in persistency code...
|
|
|
|
Nov 06, 2008 G.Cosmo geom-csg-V09-01-07
|
|
- G4Tubs, G4Cons: implemented caching of trigonometric values, now directly
|
|
computed inside modifiers for Phi angles and required for parametrised
|
|
cases. Improvement bringing up to 20% speedup in normal tracking for
|
|
tube/cone-sections placements.
|
|
|
|
Nov 05, 2008 G.Cosmo geom-csg-V09-01-06
|
|
- G4Cons: implemented first speed improvements and corrections from joint
|
|
code review of G4Cons class. Cached computation for half-tolerance and
|
|
use of Boolean flag for identifying if full-cone or section.
|
|
- G4Tubs: more refinements to previous review; corrected implementation
|
|
of constructor to conform to implementation as in G4Cons. Fixed issue in
|
|
SetDeltaPhi() method after changes introduced in the previous tag.
|
|
|
|
Sep 18, 2008 T.Nikitina geom-csg-V09-01-05
|
|
- G4Tubs: implemented first speed improvements and corrections from joint
|
|
code review of G4Tubs class. Cached computation for half-tolerance and
|
|
use of Boolean flag for identifying if full-tube or section.
|
|
|
|
Jul 07, 2008 V.Grichine geom-csg-V09-01-04
|
|
- G4Sphere: fixed bug in DistanceToOut(p, v, ...) for normal 'fSTheta'
|
|
greater than 90*deg, and use of tangent giving negative value.
|
|
Completes series of corrections introduced in previous tag.
|
|
|
|
Jun 23, 2008 T.Nikitina geom-csg-V09-01-03
|
|
- G4Tubs: fix in DistanceToIn(p,v, ...) in case of point on surface with
|
|
very small tangent direction; now returning kInfinity and no longer zero.
|
|
It fixes rare observed cases of zero value returned by both DistanceToIn()
|
|
and DistanceToOut(), causing stuck tracks with zero step length.
|
|
|
|
Jun 20, 2008 V.Grichine
|
|
- G4Sphere: fixed calculation of roots in DistanceToOut(p,v,...) for
|
|
theta-conical surfaces interserctions and for sTheta<=90 degree intersection.
|
|
Addresses issue reported when running PET application with optical photons
|
|
about mis-computation of distance on half-sphere constructs.
|
|
- Updated unit test for sphere.
|
|
|
|
Apr 22, 2008 V.Grichine geom-csg-V09-01-02
|
|
- G4Trap: corrections for arithmetic operations in 8-point constructor.
|
|
Addressing problem report #934.
|
|
|
|
Mar 13, 2008 G.Cosmo geom-csg-V09-01-01
|
|
- Cleared compilation warnings in G4Sphere on gcc-4.3.0 for
|
|
ambiguous use of parentheses in condition statements.
|
|
|
|
Feb 20, 2008 T.Nikitina geom-csg-V09-01-00
|
|
- G4Cons:
|
|
o Added protection against NaN in GetPointOnSurface() in the case the
|
|
check is run for Rmax1==Rmax2.
|
|
|
|
Nov 23, 2007 T.Nikitina geom-csg-V09-00-02
|
|
- Fixed problem of undefined side for valid surface normal in case of Phi
|
|
section and direction through the center of either A G4Tubs or G4Cons shape.
|
|
|
|
Oct 2, 2007 T.Nikitina geom-csg-V09-00-01
|
|
- G4Torus:
|
|
o Fixed bug in CalculateExtent() for case of non-rotated full-phi
|
|
torus definition: added protection against negative value for sqrt()
|
|
and corrected formula for 'delta'. Fixes problem of NaN detected in
|
|
initialisation by CMS.
|
|
o Fixed bug in SolveNumericJT(): corrected handling of complex roots,
|
|
'rootsrefined' is used only if the number of refined roots is the same
|
|
as for primary roots. Addresses problem report #969.
|
|
|
|
Aug 16, 2007 T.Nikitina geom-csg-V09-00-00
|
|
- G4Tubs: fixed bug in DistanceToOut(p,v,..) for negative value under sqrt()
|
|
for the case of point p on the surface and v tangent to the surface.
|
|
Responsible for rare cases of NaN.
|
|
|
|
May 18, 2007 G.Cosmo geom-csg-V08-03-01
|
|
- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class.
|
|
- Coworks with tag "global-V08-03-03".
|
|
|
|
May 16, 2007 T.Nikitina geom-csg-V08-03-00
|
|
- G4Tubs: fixed bug for DistanceToOut(p,v) for phi section.
|
|
Bug was causing segmentation fault in recursive_test (problem report #784).
|
|
For v crossing the center of the tub DistanceToOut was always giving
|
|
Radial distance and not distance in Phi.
|
|
- G4Cons: fixed bug for DistanceToOut(p,v) for phi section,
|
|
the same as for G4Tubs.
|
|
- Updated unit tests.
|
|
|
|
Oct 19, 2006 G.Cosmo geom-csg-V08-01-00
|
|
- Added explicit computation for GetSurfaceArea() for all solids
|
|
(by H.Dierckx).
|
|
- Implemented caching mechanism for computation of surface area in
|
|
G4CSGSolid, as done for the geometrical volume computation.
|
|
|
|
Jun 06, 2006 V.Grichine geom-csg-V08-00-01
|
|
- G4Tubs: added protection against NaNs in CalculateExtent() to avoid
|
|
sqrt() of negative numbers due to round-off.
|
|
- Updated unit tests testG4Sphere and testDistanceAccuracy.
|
|
|
|
Jan 16, 2006 V.Grichine geom-csg-V08-00-00
|
|
- G4Sphere: fixed bug in DistanceToOut() for theta intersections.
|
|
|
|
Nov 20, 2005 V.Grichine geom-csg-V07-01-05
|
|
- G4Torus: fixed bug in Inside(p) for phi sections.
|
|
Fixes problem report #810.
|
|
|
|
Nov 9, 2005 G.Cosmo geom-csg-V07-01-04
|
|
- Added fake default constructor for all concrete solids and relevant
|
|
utility classes, for usage of direct object persistency.
|
|
- Implemented changes to support CLHEP-2.0.X for explicit usage of the
|
|
CLHEP/HepGeom namespaces for CLHEP types.
|
|
|
|
Oct 23, 2005 V.Grichine geom-csg-V07-01-03
|
|
- G4Para: fixed bug in DistanceToOut(p,v) for the case v.x()<0.
|
|
Following problem report from user posted on Hypernews (#452).
|
|
|
|
Sep 5, 2005 O.Link geom-csg-V07-01-02
|
|
- Moved implementation for DistanceToIn/Out() in G4Torus to make use of
|
|
G4JTPolynomialSolver for precise calculation of the intersections.
|
|
- Reviewed unit tests and reduced statistics.
|
|
|
|
Aug 8, 2005 D.Anninos geom-csg-V07-01-01
|
|
- Added GetPointOnSurface() to all solids. The method returns a random
|
|
point according to a quasi-uniform distribution along the surface.
|
|
|
|
Jul 25, 2005 O.Link geom-csg-V07-01-00
|
|
- Fixed bug in G4Sphere::DistanceToOut(p,v):
|
|
added check for intersection with double cone.
|
|
- Added new unit test testDistanceAccuracy (V.Grichine).
|
|
|
|
Jun 8, 2005 V.Grichine geom-csg-V07-00-09
|
|
- Keep old specification for SurfaceNormal() to treat usage of the
|
|
function for points not at the surface.
|
|
|
|
Jun 6, 2005 V.Grichine geom-csg-V07-00-08
|
|
- Correction to SurfaceNormal() for G4Cons, G4Sphere, G4Torus, G4Tubs
|
|
for properly handling location on z-axis and in the frame origin.
|
|
Fixed bug in G4Cons::SurfaceNormal(p) for normals returned from
|
|
rmax and rmin.
|
|
- Moved debug printouts for surface-normals to G4CSGDEBUG.
|
|
- Cleared compilation warnings in unit tests and updates.
|
|
|
|
May 27, 2005 J.Allison geom-csg-V07-00-07
|
|
- Fixed polyhedron representation of G4Torus.
|
|
|
|
May 26, 2005 G.Cosmo geom-csg-V07-00-06
|
|
- G4Box.cc: restored call to AddSolid() and replaced old AddThis() in
|
|
DescribeYourselfTo().
|
|
|
|
May 11, 2005 V.Grichine geom-csg-V07-00-05
|
|
- G4Para: bug fixed in SurfaceNormal(p) for x-distance, to be now in
|
|
accordance with the surface selection using Inside(p).
|
|
- Updated unit test testSurfaceNormal.cc.
|
|
|
|
May 09, 2005 V.Grichine geom-csg-V07-00-04
|
|
- Updated implementation of SurfaceNormal(p) to get consistence with
|
|
Inside(p) functions for the treatment of phi/theta surfaces.
|
|
They are treated now in both functions in terms of kAngTolerance.
|
|
The reason is that historically SurfaceNormal(p) was using only
|
|
kCarTolerance for estimation of shortest distance to a surface. Now,
|
|
following the new updated specification, the surface selection is made
|
|
according to Inside(p) approach (as kSurface is selected), i.e. - for
|
|
phi/theta surfaces in terms of kAngTolerance.
|
|
|
|
Apr 26, 2005 V.Grichine, J.Apostolakis
|
|
- Simplified and revised the new implementation for SurfaceNormal(p)
|
|
with edges/vertices and made becoming the default one for all solids.
|
|
|
|
Apr 20, 2005 V.Grichine geom-csg-V07-00-03
|
|
- G4Trap: fix in p.x() centering to sum over all vertices.
|
|
|
|
Mar 23, 2005 J.Allison geom-csg-V07-00-02
|
|
- Added test for Number-Of-Rotation-Steps in G4CSGSolid::GetPolyhedron().
|
|
Requires tag "greps-V07-00-02".
|
|
|
|
Mar 03, 2005 J.Allison geom-csg-V07-00-01
|
|
- Changed AddThis() with AddSolid() for all solids in DescribeYourselfTo()
|
|
implementation.
|
|
|
|
Dec 02, 2004 V.Grichine geom-csg-V07-00-00
|
|
- New alternative implementation of SurfaceNormal(p) with edges/vertices
|
|
for G4Box, G4Para, G4Trap, G4Trd. Old implementation is still the default.
|
|
Can be activated by setting G4NEW_SURF_NORMAL variable before compilation.
|
|
|
|
Nov 15, 2004 V.Grichine geom-csg-V06-02-06
|
|
- G4Trap: added check for X-centering for constructor by verteces.
|
|
Fixes problem report #687.
|
|
- New unit test for surface-normal and updated unit tests for sphere
|
|
and trap.
|
|
|
|
Oct 10, 2004 J.Allison geom-csg-V06-02-05
|
|
- Added GetPolyhedron, a smart access function that creates a G4Polyhedron
|
|
on request and stores for future access. A null pointer means "not
|
|
available".
|
|
|
|
Sep 22, 2004 V.Grichine geom-csg-V06-02-04
|
|
- Added specific implementation of GetCubicVolume() for all CSG solids.
|
|
The method compute the exact geometrical values and stores it.
|
|
The value is reset each time a parameter of the solid is modified.
|
|
- Moved inline methods for G4Orb to .icc file.
|
|
- Added unit test testSurfaceInOut.cc.
|
|
|
|
Sep 16, 2004 V.Grichine geom-csg-V06-02-03
|
|
- Bug fix in G4Sphere::SurfaceNormal(p) for theta normals.
|
|
|
|
Jul 28, 2004 V.Grichine geom-csg-V06-02-02
|
|
- Fix in G4Cons::DistanceToIn(p,v) on fRmax surface and move in,
|
|
the condition became a bit more strict && determinant >=0, i.e.
|
|
intersections in addition to go in.
|
|
Fixes a rare problem of dIn=dOut=0 observed in 3 events over a
|
|
statistics of 10^8..
|
|
- Updated unit test testSurfaceInOut.cc to consider the test-case above.
|
|
|
|
Jul 16, 2004 V.Grichine geom-csg-V06-02-01
|
|
- Fix in G4Sphere::DistanceToOut(p,v,...) on fRmin moving outside.
|
|
The bug showed 3 events of dIn=dOut=0 for 10^7 statistics in
|
|
testSurfaceInOut.
|
|
- Added new unit test testSurfaceInOut.cc.
|
|
|
|
Jul 02, 2004 V.Grichine geom-csg-V06-02-00
|
|
- Fixes curing rare conditions of loops at boundaries for G4Orb and G4Sphere:
|
|
o G4Orb.cc: bug fix in DistanceToIn(p,v) on fRmax surface allowing
|
|
move near fRmax-fCarTolerance/2.
|
|
o G4Sphere.cc: bug fix in DistanceToIn(p,v) on Rmax/min surface for
|
|
condition of intersection with (Rmax/min-kCarTolerance) artificial
|
|
surface.
|
|
- Updated unit test for G4Orb.
|
|
|
|
Mar 18, 2004 V.Grichine geom-csg-V06-00-01
|
|
- G4Torus.cc: bug fix in Inside(p) fixing warnings reported in
|
|
debug-mode of 'point p is outside'.
|
|
|
|
Jan 26, 2004 V.Grichine geom-csg-V06-00-00
|
|
- Converted strong exceptions in warning notifications for rare anomalous
|
|
conditions in DistanceToOut(p,v,..).
|
|
- G4Cons.cc: bug fix in DistanceToIn(p,v) to resolve situations of calls
|
|
to DistanceToOut() for points outside.
|
|
|
|
Dec 4, 2003 V.Grichine geom-csg-V05-02-06
|
|
- G4Trap.cc: fixed initialisation of planes in default constructor.
|
|
- Added new unit test for G4Sphere and new test case for G4Cons.
|
|
|
|
Nov 5, 2003 V.Grichine geom-csg-V05-02-05
|
|
- G4Orb[.hh.cc]: introduced relative tolerance accuracy on fRmax surface
|
|
in all methods.
|
|
|
|
Nov 3, 2003 G.Cosmo geom-csg-V05-02-04
|
|
- Code cleanup and headers inclusion review
|
|
(replaced by forward declarations where necessary).
|
|
|
|
Nov 2, 2003 V.Grichine
|
|
- G4Sphere, G4Orb: revision of algorithm for Phi sections in
|
|
method Inside().
|
|
|
|
Oct 29, 2003 J.Apostolakis geom-csg-V05-02-03
|
|
- G4Sphere.cc: fix for in Inside() for a point with Phi angle:
|
|
0.5 kAngTol < phi < Phi_start
|
|
|
|
Oct 28, 2003 G.Cosmo geom-csg-V05-02-02
|
|
- Migrated to new G4Exception scheme.
|
|
|
|
Oct 09, 2003 V.Grichine geom-csg-V05-02-01
|
|
- Initialise safe=0.0 in DistanceToIn/Out(p) in all solids.
|
|
- Introduced G4Orb solid: a simple sphere with only outer radius.
|
|
|
|
Sep 30, 2003 G.Cosmo geom-csg-V05-02-00
|
|
- Updated GNUmakefile for unit tests, according to new structure
|
|
introduced in "geometry-V05-02-00".
|
|
|
|
Jun 25, 2003 G.Folger geom-csg-V05-01-00
|
|
- Added disclaimer of liability where needed.
|
|
|
|
Feb 03, 2003 G.Cosmo geom-csg-V05-00-00
|
|
- G4Cons.cc: enhanced treatment of phi-sections,
|
|
according to algorithm used also in G4Tubs (V.Grichine).
|
|
- Updated unit tests.
|
|
|
|
Oct 28, 2002 G.Cosmo geom-csg-V04-01-01
|
|
- Added implementation of StreamInfo() to comply with new interface for
|
|
G4VSolid in "geommng-V04-01-03".
|
|
- Moved inline functions to .icc files, reorganised comments for the Software
|
|
Reference Manual.
|
|
- Some cosmetic changes to code formatting, removed all <TAB> characters and
|
|
adopted uniform code indentation.
|
|
- Extended unit tests for G4Cons and G4Sphere (V.Grichine).
|
|
|
|
Jun 26, 2002 V.Grichine geom-csg-V04-01-00
|
|
- G4Cons.cc: bug fixed in DistanceToIn(p,v) concerning z-crossing at the
|
|
edge with Rmin,Rmax.
|
|
|
|
Jun 19, 2002 V.Grichine geom-csg-V04-00-05
|
|
- G4Sphere.cc: bug fixed in Inside() for treatment of point p on z-axis.
|
|
Added new condition [(rho2 || p.z()) && fDTheta < M_PI - kAngTolerance*0.5)]
|
|
for treating special case. Fixes problem report #378.
|
|
|
|
May 15, 2002 G.Cosmo geom-csg-V04-00-04
|
|
- G4Trap.cc, G4Tubs.cc: changed local enum 'kUndefined' to 'kUndef',
|
|
to co-work with tag "global-V04-00-06", where 'kUndefined' is now
|
|
defined for EAxis.
|
|
|
|
Apr 16, 2002 V.Grichine geom-csg-V04-00-03
|
|
- G4Tubs.cc: restored "vertices" algorithm for CalculateExtent() which
|
|
was temporarly disabled (see reference to tag geom-solids-csg-V03-00-03).
|
|
- Updated unit test for G4Tubs, testG4Tubs.cc.
|
|
|
|
Feb 15, 2002 V.Grichine geom-csg-V04-00-02
|
|
- G4Para.cc: fixed bug in G4Para::Inside() in calculation of xt,
|
|
according to problem report #357.
|
|
|
|
Jan 31, 2002 V.Grichine geom-csg-V04-00-01
|
|
- G4Sphere.cc: bug fix in Inside() function.
|
|
Fix problem report #216.
|
|
- Updated unit test for G4Sphere.
|
|
|
|
Jan 10, 2002 G.Cosmo geom-solids-csg-V04-00-00
|
|
- Moved all verbosity mode warnings to G4CSGDEBUG and commented exceptions.
|
|
- Activated G4CSGDEBUG mechanism in GNUmakefile.
|
|
- G4Sphere.cc: fixed a problem with tolerances in the case of large Radius.
|
|
The case (test18) involves an Rmax = 250 000 000.00 mm
|
|
The ratio -9
|
|
tolerance 1.0 10 -17
|
|
----------- = ------------ = 0.4 10
|
|
Rmax +8
|
|
2.5 10
|
|
which is smaller than the precision of doubles.
|
|
Solution (for DistanceToOut(), where problem occured):
|
|
use a flexible tolerance, equal to the maximum of (kRadTolerance, 10 * R )
|
|
(J.Apostolakis).
|
|
- Upgraded unit tests and fixed warnings on gcc-2.95-2.
|
|
|
|
Aug 27, 2001 V.Grichine geom-solids-csg-V03-02-00
|
|
- G4Sphere.cc: bug fixed in G4Sphere::SurfaceNormal for the case kNETheta.
|
|
Fixes problem report #290.
|
|
|
|
May 18, 2001 G.Cosmo geom-solids-csg-V03-01-02
|
|
- Added G4CSGDEBUG preprocessor flag to discriminate for debug verbosity
|
|
specific to CSG solids. Included in G4Exception of DistanceToOut() for
|
|
"point p is outside" in G4Box, G4Cons, G4Tubs.
|
|
|
|
Apr 20, 2001 G.Cosmo geom-solids-csg-V03-01-01
|
|
- Updates for migration to STL vector.
|
|
Modified files: G4Box.cc, G4Cons.cc, G4Para.cc, G4Sphere.cc,
|
|
G4Torus.cc, G4Trap.cc, G4Trd.cc, G4Tubs.cc.
|
|
Require coworking with the rest of geometry-V03-01-00.
|
|
|
|
Apr 18, 01 V. Grichine geom-solids-csg-V03-01-00
|
|
- G4Trap.cc:
|
|
o Fixed memory leak in CalculateExtent() for creation of vertices in
|
|
case of finite rotation. (courtesy of D.Williams)
|
|
o Removed useless inclusion of math.h.
|
|
|
|
Feb 21, 01 V. Grichine geom-solids-csg-V03-00-03
|
|
- G4Tubs.cc:
|
|
o Fixed bug in function Inside(p) in computation of pPhi
|
|
for points at phi = 0 if the (start phi)+(delta phi) is at phi = 0.
|
|
o Temporarly modified CalculateExtent(...), now simply based on
|
|
G4Box::CalculateExtent(...). Updated unit test testG4Tubs.cc.
|
|
|
|
Feb 01, 01 V. Grichine geom-solids-csg-V03-00-02
|
|
- G4Box: introduced checks against negative (or <2*kCarTolerance) dimensions
|
|
in methods SetXHalfLength(), SetYHalfLength() and SetZHalfLength().
|
|
|
|
Jan 29, 00 G. Cosmo geom-solids-csg-V03-00-01
|
|
- G4Box: introduced fixes to algorithm for computation of rotated vertices
|
|
in CalculateExtent() as previously committed in tag geom-solids-csg-V02-00-10.
|
|
- G4Torus: extracted logic for G4PolynomialSolver now included in
|
|
global/HEPNumerics. Coworks with tag global-V03-00-02.
|
|
- Added dependency to global/HEPNumerics in GNUmakefile.
|
|
|
|
Jan 18, 00 V. Grichine geom-solids-csg-V03-00-00
|
|
- Fixed condition from (pPhi<0) to (pPhi<-0.5*kAngleTolerance) in
|
|
G4Tubs::Inside(p). Fixes problem report #198.
|
|
|
|
Dec 07, 00 V. Grichine geom-solids-csg-V02-00-14
|
|
- G4Tubs.cc: corrections in phi-section algorithm of Inside(p).
|
|
|
|
Dec 01, 00 G. Cosmo geom-solids-csg-V02-00-13
|
|
- Increased basic number of iterations from 8 to 12 for Newton algorithm
|
|
in G4Torus.cc to assure root retrivial.
|
|
|
|
Nov 28, 00 V. Grichine geom-solids-csg-V02-00-12
|
|
- Bug fixed in G4Tubs::Inside(p) for analysis of phi positioning when
|
|
on +-fDz surface.
|
|
|
|
Nov 20, 00 G. Cosmo geom-solids-csg-V02-00-11
|
|
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
|
|
o commented out variables declared and not used.
|
|
o fixed declaration of variables used before being initialised.
|
|
o fixed order of initialisation of member data in constructors.
|
|
o fixed usage of unsigned-int (size_t) for array indeces.
|
|
- NB: based on tag geom-solids-csg-V02-00-09.
|
|
|
|
Nov 16, 00 V. Grichine geom-solids-csg-V02-00-10
|
|
- G4Box.cc: introduced fixes to algorithm for computation of rotated vertices
|
|
in CalculateExtent(). (D.Williams)
|
|
|
|
Nov 10, 00 G. Cosmo geom-solids-csg-V02-00-09
|
|
- G4Torus.cc: removed debug print-out which was still included by mistake
|
|
in constructor.
|
|
|
|
Nov 02, 00 G. Cosmo geom-solids-csg-V02-00-08
|
|
- QA code revision and cleanup (+fixes from CodeWizard filtering):
|
|
o Removed virtual keyword from GetEntityType() concrete function.
|
|
o General cosmetics.
|
|
|
|
Oct 31, 00 V. Grichine geom-solids-csg-V02-00-07
|
|
- G4Tubs::DistanceToOut(p,v,...):
|
|
o Initialised sr and sphi to kInfinity and re-introduced additional
|
|
condition on check for Rmin intersection (t2 >= 0).
|
|
|
|
Oct 26, 00 G. Cosmo geom-solids-csg-V02-00-06
|
|
- G4Cons::DistanceToOut(p,v): leave out warning if point is outside.
|
|
|
|
Oct 23, 00 G. Cosmo geom-solids-csg-V02-00-05
|
|
- G4Tubs::DistanceToOut(p,v,...):
|
|
o Still correction to thickness of conical surfaces. (V.Grichine)
|
|
o Commented-out additional condition on check for Rmin intersection
|
|
(t2 >= 0), recently introduced (roi2).
|
|
Requires further investigation !!
|
|
- G4Torus:
|
|
o Introduced more stable numerical method (Newton-based) for computing
|
|
roots of equations in DistanceToIn() and DistanceToOut(). (E.Medernach)
|
|
|
|
Oct 18, 00 V. Grichine geom-solids-csg-V02-00-04
|
|
- G4Cons.cc, G4Tubs.cc:
|
|
added check against negative distance returned by DistanceToIn/DistanceToOut.
|
|
- G4Cons.cc:
|
|
added correction for thickness of conical surfaces, remarkable for big
|
|
opening angles, in DistanceToIn/DistanceToOut functions.
|
|
|
|
Oct 05, 00 V. Grichine geom-solids-csg-V02-00-03
|
|
- G4Cons.cc:
|
|
o fix in DistanceToIn(p,v): corrected condition on conical surface to
|
|
consider a real projection of the conical surface thickness on XY
|
|
plane (0.5*kCarTolerance*secRMin instead of 0.5*kCarTolerance), when
|
|
dealing with cons with large opening angle.
|
|
o Updated unit test testG4Cons2.cc.
|
|
|
|
Aug 16, 00 V. Grichine geom-solids-csg-V02-00-02
|
|
- G4Cons.cc:
|
|
o fix in constructor to check if one of the Rmin is equal to 0,
|
|
if so, it will be set to 1e3*kRadTolerance.
|
|
o Deactivated call to G4Exception in DistanceToOut(p) if p is outside,
|
|
replaced by simple warning.
|
|
- G4Tubes.cc, G4Box.cc:
|
|
o Deactivated call to G4Exception in DistanceToOut(p) if p is outside,
|
|
replaced by simple warning.
|
|
|
|
Aug 08, 00 V. Grichine geom-solids-csg-V02-00-01
|
|
- G4Cons.cc, G4Tubs.cc:
|
|
o fixes to DistanceToOut(p,v,...) to make roots of quadratic equations
|
|
more stable.
|
|
o added check if point is outside in G4Tubes::DistanceToOut(p),
|
|
some code formatting.
|
|
|
|
Jul 27, 00 V. Grichine geom-solids-csg-V02-00-00
|
|
- G4Cons.cc:
|
|
o added more diagnostics in DistanceToOut(p)
|
|
o cosmetics changes
|
|
- Updated unit test for G4Cons.
|
|
|
|
Jun 22, 00 V. Grichine geom-solids-csg-V01-01-04
|
|
- G4Box.cc:
|
|
o added safety against call from outside in DistanceToOut(p)
|
|
o added more diagnostics before exception in DistanceToOut(p,v,...)
|
|
o cosmetics changes
|
|
- G4Torus[.hh.cc]:
|
|
o added new alternative functions SolveBiQuadratic/CubicNew.
|
|
o fix in SolveBiQuadratic() for ambiguous expression in looping index
|
|
detected by Insure++.
|
|
- Updated unit tests testG4Torus and testG4Trd.
|
|
|
|
May 17, 00 V. Grichine geom-solids-csg-V01-01-03
|
|
|
|
- G4Tubs.cc:
|
|
o introduced fix in DistanceToOut(p,v,...) in computation of xi, yi for
|
|
(sphi >= -0.5*kCarTolerance). This fixes problem reports #76 and #91.
|
|
o added more diagnostics in case of invalid enum for DistanceToOut.
|
|
- Updated unit test for G4Tubs.
|
|
|
|
May 05, 00 V. Grichine geom-solids-csg-V01-01-02
|
|
|
|
- G4Box.cc, G4Trd.cc:
|
|
o modified DistanceToIn(p,v) to return 0 distance in case computed
|
|
value is less than 0.5*kCarTolerance.
|
|
o Cosmetic changes.
|
|
- Updated unit tests for G4Box and G4Trd.
|
|
|
|
Apr 11, 00 J. Allison
|
|
|
|
- Removed implementations of GetExtent in most sub-classes of G4VSolid (a
|
|
default implementation exists in G4VSolid).
|
|
- All implementations of DescribeYourselfTo (G4VGraphicsScene& scene) const
|
|
now correctly written: scene.AddThis(*this).
|
|
|
|
Apr 05, 00 G. Cosmo geom-solids-csg-V01-01-01
|
|
- G4Tubs.cc: fixed bug in function Inside(p).
|
|
Removed (commented) in the code umproper addition of 2PI
|
|
to Phi-angle particle (V.Grichine)
|
|
- G4Hype[.hh.cc]: fixed several longstanding issues and bring methods
|
|
into compliance with specifications (D.Williams)
|
|
- Moved to "specific" the following classes:
|
|
G4ClippablePolygon, G4EnclosingCylinder, G4Hype, G4PolyPhiFace,
|
|
G4Polycone, G4PolyconeSide, G4Polyhedra, G4PolyhedraSide,
|
|
G4ReduciblePolygon, G4IntersectingCone, G4SolidExtentList,
|
|
G4VCSGface, G4VCSGfaceted.
|
|
- Moved testG4Hype.cc and testG4Polycone.cc from CSG/test to
|
|
specific/test
|
|
- Moved generic tests "SBT" and "Fred" one level up to solids/test.
|
|
- Organised class description comments for the Software Reference Manual
|
|
in all headers.
|
|
|
|
Mar 23, 00 G. Cosmo geom-solids-csg-V01-01-00
|
|
- Tagged.
|
|
|
|
Mar 22, 00 D. Williams
|
|
- G4PolyhedraSide.cc: fixed bug in G4PolyhedraSide::Normal(...).
|
|
The method Normal(...) (used by G4VCSGfaceted::SurfaceNormal) was not
|
|
filling in the argument bestDistance. This fixes a bug observed in
|
|
G4Polyhedra::SurfaceNormal.
|
|
|
|
Mar 14, 00 V. Grichine
|
|
- Added diagnostics in G4Cons, G4Sphere and G4Torus in function
|
|
DistanceToOut(p,v,...).
|
|
|
|
Mar 03, 00 G. Cosmo geom-solids-csg-V01-00-05
|
|
- Minor fixes to unit tests to make them up-to-date with recent
|
|
development versions (already included in tag geometry-V01-00-00a).
|
|
- G4PolyconeSide.cc, G4PolyhedraSide.cc: added explicit cast to G4int
|
|
to avoid warnings on Linux.
|
|
|
|
Jan 19, 00 G. Cosmo geom-solids-csg-01-00-04
|
|
- Fixed bug in DistanceToIn(p,v). Modified files: G4Trap.cc and
|
|
testG4Trap.cc. (V.Grichine)
|
|
- Syncronized file versions with HEAD (essentially CVS headers changes).
|
|
- Fixes for missing migration on HEAD related to some files in test/fred
|
|
and test/SBT.
|
|
|
|
Nov 17, 99 J. Apostolakis geom-solids-csg-01-00-03
|
|
- Tagged
|
|
|
|
Nov 17, 99 V. Grichine
|
|
- Added initialisation to Eside "side" variable in DistanceToOut(p,v)
|
|
in CSG solids --> Problem report from D.C. Williams, BaBar
|
|
- A check in G4Trap Makeplane added.
|
|
|
|
Nov 10, 99 J. Apostolakis geom-solids-csg-01-00-02-cand
|
|
- Included David Williams' modifications to
|
|
G4IntersectingCone.cc, G4PolyconeSide.cc and G4VCSGfaceted.cc
|
|
and to test/SBT/SBT.cc and test/SBT/polycone.geant4
|
|
|
|
Nov 10, 99 J. Apostolakis geom-solids-csg-01-00-01
|
|
- Tagged
|
|
|
|
May 18, 99 David Williams
|
|
- Replaced 1/DBL_MAX with DBL_MIN (valid correction, seen in tests for STL)
|
|
in G4PolyPhiFace.cc, G4PolyconeSide.cc and G4PolyhedraSide.cc
|
|
|
|
Apr 29, 99 David Williams
|
|
- G4Polyhedra and G4Polycone (and G4VCSGfaceted) modified:
|
|
1. Implemented correct copy constructors and assignment operators.
|
|
2. Fix some leaks for tracks that pass exactly through an edge.
|
|
Some leaks still remain: particularly if a track passes through
|
|
a corner and between the curved edges of G4Polycone.
|
|
3. G4Polyhedra argument numSide changed to G4int (from G4double)
|
|
|
|
Apr 13, 99 Vladimir Grichine and Simone Giani
|
|
- Minor consistency fix to 8 basic CSG solids:
|
|
Tolerance used in calculation of extent but not in one place,
|
|
and not another - this tripped up the client code.
|
|
|
|
Feb 16, 99 David Williams
|
|
- Repaired bugs in G4Polycone (G4PolyconeSide.cc) as found in
|
|
test/testG4Polycone and missed in below.
|
|
- Updated definition of DistanceToIn(p) and DistanceToOut(p) to
|
|
return zero when the point p is on the surface of the solid.
|
|
|
|
Feb 12, 99 David Williams
|
|
- src/G4PolyconeSide.cc updated (revision 1.4) to fix a bug discovered by
|
|
test/testG4Polycone.
|
|
|
|
Feb 9, 99 David C. Williams (davidw@scipp.ucsc.edu)
|
|
- I've committed new versions of the CSG Polycone and Polyhedra in the
|
|
geant4 repository, including a new utility class called
|
|
G4ReduciblePolygon. The new versions fix several subtle bugs which my
|
|
"test3" batch geometry testing code uncovered. In addition, the new class
|
|
G4ReduciblePolygon is used to run strict tests on the validity of input
|
|
parameters.
|
|
To fix a bug in Polyhedra, I had to back out some fancy code that
|
|
allowed it to calculate intersections at a speed that was independent of
|
|
the number of sides. The new version now runs at a speed proportional to
|
|
the number of sides, and is thus much slower for polyhedras with many
|
|
sides. I can fix this, but I thought it would be best to get the bug fixes
|
|
in as soon as possible.
|
|
|
|
Feb 10, 99 John Apostolakis
|
|
- History file created.
|