Files
2025-12-05 08:54:02 +01:00

1894 lines
82 KiB
Plaintext

# Category geom-specific 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!
-------------------------------------------------------------------------------
## 2025-11-12 Gabriele Cosmo (geom-specific-V11-03-11)
- Fixed potential thread-safety issue in GetCubicVolume() and GetSurfaceArea()
on all solids in case those functions are called from worker threads.
## 2025-09-25 Gabriele Cosmo (geom-specific-V11-03-10)
- Reorganised and enriched comments in headers to follow Doxygen style.
- Removed virtual specifications from utility class G4ClippablePolygon.
- Removed static protected functions in G4Hype and made them private.
- Removed unneeded static data/specifications in G4Voxelizer.
- Moved inline methods definitions of G4TriangularFacet, G4QuadrangularFacet,
G4SurfBits, G4TwistBoxSide, G4TwistTrapParallelSide and G4TwistTrapAlphaSide
to .icc files.
## 2025-08-31 Evgueni Tcherniaev (geom-specific-V11-03-09)
- G4GenericTrap: improved estimation of safety distance by adopting
Lipschitz-based implementation.
Contribution by Nazar Misyats (ENS, Rennes), CERN summer student 2025.
## 2025-08-26 Gabriele Cosmo (geom-specific-V11-03-08)
- Applied clang-tidy fixes: basic, modernize-loop-convert,
modernize-use-default-member-init, readability-redundant-member-init,
readability-implicit-bool-conversion, readability-braces-around-statements,
readability-else-after-return.
## 2025-08-21 Andrei Gheata (geom-specific-V11-03-07)
- G4UGenericTrap.cc: Using a backward-compatible different interface to
retrieve vertices from VecGeom, allowing for some arrays cleanup.
## 2025-03-13 Evgueni Tcherniaev (geom-specific-V11-03-06)
- G4PolyPhiFace.cc, G4PolyconeSide.cc, G4PolyhedraSide.cc, G4TwistedTubs.cc,
G4VCSGfaceted.cc, G4VTwistedFaceted.cc: used G4QuickRand()
- G4EllipticalCone.cc, G4EllipticalTube.cc, G4Voxelizer.cc:
removed unnecessary headers
## 2025-03-07 Soon Yung Jun (geom-specific-V11-03-05)
- G4Polyhedra, G4UPolyhedra: Verify the validity of the delta phi to restore
visualization of HepPolyhedronPgon
## 2025-02-23 Evgueni Tcherniaev (geom-specific-V11-03-04)
- G4Ellipsoid, G4EllipticalTibe: Code optimization in GetPointOnSurface().
- G4TessellatedSolid, G4TriangularFacet, G4QuadrangularFacet:
use G4QuickRand().
## 2025-02-19 Evgueni Tcherniaev (geom-specific-V11-03-03)
- G4EllipticalCone: Code optimization in GetPointOnSurface();
SetSemiAxis(), SetZCut() moved to *.cc
- G4Hype: Code optimization in GetPointOnSurface().
## 2025-02-16 Evgueni Tcherniaev (geom-specific-V11-03-02)
- G4Paraboloid: Implemented uniform sampling of random points.
## 2025-02-03 Gabriele Cosmo (geom-specific-V11-03-01)
- Removed fake default constructor from G4U* wrappers, clearing compilation
warnings on gcc-14.
## 2025-01-25 Evgueni Tcherniaev (geom-specific-V11-03-00)
- G4Hype: Revised surface area calculation and random point sampling.
## 2024-10-01 Evgueni Tcherniaev (geom-specific-V11-02-08)
- G4GenericTrap: Fixed minor defect reported by Coverity.
## 2024-07-18 Alvaro Tolosa-Delgado (geom-specific-V11-02-07)
- Remove internal state of G4TwistedTubs and G4VTwistedFaceted.
## 2024-07-10 Evgueni Tcherniaev (geom-specific-V11-02-06)
- G4ExtrudedSolid: Fixed defects reported by Coverity
## 2024-07-08 Gabriele Cosmo (geom-specific-V11-02-05)
- Fixed reported Coverity defect; in G4Voxelizer, use std::move instead of
plain vector copy in methods BuildReduceVoxels(..), BuildReduceVoxels2(..),
BuildBoundaries() and CreateMiniVoxels(..).
## 2024-05-29 Evgueni Tcherniaev (geom-specific-V11-02-04)
- Added new methods GetNumOfConstituents() and IsFaceted().
## 2024-05-27 Evgueni Tcherniaev (geom-specific-V11-02-03)
- Completely revised G4GeneriTrap, it addresses the problem report #2547
## 2024-05-26 Evgueni Tcherniaev (geom-specific-V11-02-02)
- New testG4GenericTrap.cc
## 2024-04-02 Gabriele Cosmo (geom-specific-V11-02-01)
- Applied trivial clang-tidy fixes to classes, i.e. use of 'override' and
'default' keywords.
## 2024-02-01 Gabriele Cosmo (geom-specific-V11-02-00)
- Use std::size_t for array sizes in G4PolyhedraSide and G4PolyPhiFace.
## 2023-07-10 Evgueni Tcherniaev (geom-specific-V11-01-06)
- Fixed bounding box calculation in G4VTwistedFaceted::BoundingLimits().
## 2023-06-16 Stephan Hageboeck (geom-specific-V11-01-05)
- Fix an uninitialised value in G4VCSGfaceted::SurfaceNormal().
## 2023-06-12 Gabriele Cosmo (geom-specific-V11-01-04)
- Use const iterator in G4Voxelizer::GetPointVoxel().
- Fixed use of index in G4Tet::GetPointOnSurface().
## 2023-05-10 Gabriele Cosmo (geom-specific-V11-01-03)
- Applied clang-tidy fixes (readability, modernization, performance, ...).
## 2023-03-20 Gabriele Cosmo (geom-specific-V11-01-02)
- Fixed more potential uninitialised values in G4PolyconeSide,
G4SolidExtentList and G4VTwistSurface.
## 2023-03-13 Gabriele Cosmo (geom-specific-V11-01-01)
- Fixed potential uninitialised value for boundary type in
G4VTwistSurface::GetBoundaryAtPZ().
## 2023-01-02 Evgueni Tcherniaev (geom-specific-V11-01-00)
- G4QuadrangularFacet: Fixed warning message
## 2022-11-10 Gabriele Cosmo (geom-specific-V11-00-10)
- Fixed compilation warnings for implicit type conversions on macOS/XCode 14.1.
## 2022-10-05 Gabriele Cosmo (geom-specific-V11-00-09)
- Fixed compilation warnings in Intel/icx compiler for variables set
but never used.
## 2022-04-03 Evgueni Tcherniaev (geom-specific-V11-00-08)
- G4GenericTrap.cc, G4UGenericTrap.cc, G4UExtrudedSolid.cc,
G4TessellatedSolid.cc, G4TessellatedSolid.cc:
revision of CreatePolyhedron()
## 2022-02-04 Evgueni Tcherniaev (geom-specific-V11-00-07)
- G4VTwistedFaceted: used numerical evaluation of a single
integral to calculate lateral face surface area
## 2022-02-01 Evgueni Tcherniaev (geom-specific-V11-00-06)
- G4ExtrudedSolid, G4UExtrudedSolid: added default values for
parameters in the constructor with two z-sections
- G4ExtrudedSolid::ZSection, G4UExtrudedSolid::ZSection:
added default constructor
## 2022-01-26 Evgueni Tcherniaev (geom-specific-V11-00-05)
- G4GenericTrap::GetCubicVolume(): calculation of volume
using analytical expression; removed private function
GetFaceCubicVolume();
- G4GenericTrap::GetSurfaceArea(): improved calculation
of the area of lateral faces; private functions
GetFaceSurfaceArea(), GetTwistedFaceSurfaceArea()
replaced with private function GetLateralFaceArea()
## 2022-01-21 Evgueni Tcherniaev (geom-specific-V11-00-04)
- G4Ellipsoid::LateralSurfaceArea(): Enhanced calculation of
the lateral surface area
## 2022-01-11 Evgueni Tcherniaev (geom-specific-V11-00-03)
- G4VTwistedFaceted: fCubicVolume, fSurfaceArea made protected,
GetCubicVolume(), GetSurfaceArea() moved to *.cc
- G4VTwistedFaceted, G4TwistedBox, G4TwistedTrd: optimized
calculation of volume and surface area
## 2022-01-06 Evgueni Tcherniaev (geom-specific-V11-00-02)
- G4TwistedTubs: Implemented GetSurfaceArea() based on
analytical expressions; added private functions
GetLateralArea() and GetPhiCutArea()
## 2021-12-19 Evgueni Tcherniaev (geom-specific-V11-00-01)
- G4Hype: Used analytical expression in GetCubicVolume()
and GetSurfaceArea()
## 2021-12-10 Ben Morgan (geom-specific-V11-00-00)
- Change to new Markdown History format
---
# History entries prior to 11.0
03-December-2021 E.Tcherniaev (geom-specific-V10-07-13)
- G4TwistedTubs: Accurate calculation of the bounding box in
BoundingLimits() and GetExtent(), fixing measured performance
penalty. Addressing problem report #2450.
- G4TwistedTubs, G4VTwistedFaceted: Fixed GetCubicVolume()
15-October-2021 E.Tcherniaev (geom-specific-V10-07-12)
- G4Tet, G4UTet: Added SetBoundingLimits()
06-October-2021 E.Tcherniaev (geom-specific-V10-07-11)
- G4Tet: some changes in calculation of bounding box
- G4UTet: added CheckDegeneracy() and SetVertices()
27-September-2021 E.Tcherniaev (geom-specific-V10-07-10)
- Added degeneracyFlag to the list of parameters of G4Tet::SetVertices(),
it addresses first part of the problem report #2427
24-September-2021 E.Tcherniaev (geom-specific-V10-07-09)
- Implemented G4TesselatedSolid::GetFacetIndex(p)
10-September-2021 E.Tcherniaev (geom-specific-V10-07-08)
- Implemented G4TesselatedSolid::CheckStructure()
- Optimisation in G4TessellatedSolid::SetExtremeFacets():
shuffle of vertices and checking of six extreme vertices
21-July-2021 E.Tcherniaev (geom-specific-V10-07-07)
- More accurate calculation of distance from point to triangle
in G4TriangularFacet, it addresses problem report #2401
25-June-2021 G.Cosmo (geom-specific-V10-07-06)
- Added missing accessor in G4UTet.
12-May-2021 E.Tcherniaev (geom-specific-V10-07-05)
- Reimplemented CreatePolyhedron() in
G4Polyhedra, G4Polycone, G4GenericPolycone,
G4UPolyhedra, G4UPolycone, G4UGenericPolycone
30-April-2021 G.Cosmo (geom-specific-V10-07-04)
- Fixed use of conversion factor in G4UPolyhedra wrapper for "generic"
polyhedra constructs.
19-April-2021 E.Tcherniaev (geom-specific-V10-07-03)
- G4Polyhedra, G4Polycone: Fix calculation of endPhi for the case
of negative phiStart, it addresses also problem report #2362
30-March-2021 B.Morgan (geom-specific-V10-07-02)
- Migrate sources.cmake to modular build API
18-March-2021 E.Tcherniaev (geom-specific-V10-07-01)
- Fix calculation of bounding box position in G4Voxelizer::BuildVoxelLimits(),
it addresses problem report #2301
13-January-2021 G.Cosmo (geom-specific-V10-07-00)
- Reduce cases of bad speculation in G4PolyhedraSide::Inside() and
G4PolyPhiFace::InsideEdges(), based on report in profiling analysis
by G.Amadio.
30-October-2020 E.Tcherniaev (geom-specific-V10-06-10)
- G4Polycone: Revised GetPointOnSurface();
Added protected auxiliary method SetSurfaceElements();
Removed GetPointOnCone(), GetPointOnTubs(), GetPointOnCut(), GetPointOnRing();
- G4GenericPolycone: Revised GetPointOnSurface();
Added protected auxiliary method SetSurfaceElements();
- G4Polyhedra: Revised GetPointOnSurface();
Added protected auxiliary method SetSurfaceElements();
Removed GetPointOnPlane(), GetPointOnTriangle();
01-October-2020 E.Tcherniaev (geom-specific-V10-06-09)
- G4Polycone, G4GenericPolycone, G4Polyhedra:
implemented GetSurfaceArea(), GetCubicVolume().
May 21, 2020 Guilherme Lima (geom-specific-V10-06-08)
----------------------------
- Fix constructor signatures in G4UExtrudedSolid wrappers, to match those in G4 version.
There were missing const and reference qualifiers in non-POD parameters.
30-April-2020 G.Cosmo (geom-specific-V10-06-07)
- Adopt new convention for location of headers in VecGeom for all wrappers.
09-April-2020 E.Tcherniaev (geom-specific-V10-06-06)
- Added G4GenericTrap::GetTwistedFaceSurfaceArea().
- testG4GenericTrap.cc: fixed test for calculation of surface area.
- testG4ExtrudedSolid.cc: fixed assert statements for cases where
point flys along the surface (DistanceToIn() returns kInfinity).
17-January-2020 E.Tcherniaev (geom-specific-V10-06-05)
- Implemented G4Tet::SetVertices(), it addresses request made
at Geant4 Technical Forum.
14-January-2020 Gabriele Cosmo (geom-specific-V10-06-04)
- Added protection in G4VFacet header for double definition of global
symbols from Windows Kits code.
08-January-2020 E.Tcherniaev (geom-specific-V10-06-03)
- Complete revision of G4Tet, speed up, new testG4Tet.cc.
It also fixes issues spotted by new unit test.
16-December-2019 E.Tcherniaev (geom-specific-V10-06-02)
- Complete revision of G4Ellipsoid, it fixes issues with former
implementation, in particular it addresses problem report #2206.
30%-70% speed-up in all main methods.
11-December-2019 B.Morgan (geom-specific-V10-06-01)
- Cleanup CMake build, removing obsolete granular library options and
explicit include_directories.
10-December-2019 G.Cosmo (geom-specific-V10-06-00)
- Re-established parameterisation mechanism for G4Tet and G4UTet which was
removed by mistake. Addressing problem report #2209.
26-November-2019 G.Cosmo (geom-specific-V10-05-21)
- Fixed cases of implicit type conversions from size_t to G4int.
05-November-2019 E.Tcherniaev (geom-specific-V10-05-20)
- G4TesselatedSolid.cc: fixed minor Coverity defect (uninitialized array)
07-October-2019 E.Tcherniaev (geom-specific-V10-05-19)
- G4TesselatedSolid.cc: fixed minor Coverity defect
16-September-2019 G.Cosmo (geom-specific-V10-05-18)
- Rationalise header inclusions for faceted solids.
06-September-2019 G.Cosmo (geom-specific-V10-05-17)
- Removed unnecessary forward declaration in G4VFacet header.
29-August-2019 G.Cosmo (geom-specific-V10-05-16)
- Minor c++11 revision and headers cleanup. Code formatting.
- Use pre-increment wherever possible.
19-August-2019 G.Lima (geom-specific-V10-05-15)
- G4ExtrudedSolid: fixed a bug in DistanceToOut(), affecting extruded solids
defined off-center along the z-axis.
19-August-2019 G.Cosmo (geom-specific-V10-05-14)
- G4GenericTrap: fixed compilation warnings for variable shadowing on clang-8.
13-August-2019 G.Cosmo (geom-specific-V10-05-13)
- Enabled wrappers for VecGeom implementation of G4EllipticalTube,
G4EllipticalCone and G4Ellipsoid.
10-July-2019 E.Tcherniaev (geom-specific-V10-05-12)
- Fixed G4UExtrudedSolid::CreatePolyhedron().
Addressing visualization part of the problem report #2171.
04-July-2019 G.Cosmo (geom-specific-V10-05-11)
- Avoid defining kCarTolerance as 'static const' in G4VFacet.
Addressing problem report #2172.
11-June-2019 E.Tcherniaev (geom-specific-V10-05-10)
- Use GetVertices() instead of GetParametersList() in the wrapper G4UTet.
29-May-2019 G.Cosmo (geom-specific-V10-05-09)
- Fixed minor Coverity defects.
20-May-2019 G.Cosmo (geom-specific-V10-05-08)
- Defined move constructor and move assignment operator for G4TriangularFacet.
14-May-2019 B.Morgan (geom-specific-V10-05-07)
- Add inclusion of new G4GeomTypes.hh header to those headers allowing
VecGeom replacement.
- See also geommng-10-05-05
23-April-2019 G.Cosmo (geom-specific-V10-05-06)
- Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types for
MT splitted data in G4PlSideData and G4PhSideData respectively.
16-April-2019 G.Cosmo (geom-specific-V10-05-05)
- Protected check in G4TwistTubsSide::DistanceToPlane() withing debug flag.
4-April-2019 G.Cosmo (geom-specific-V10-05-04)
- Enabled wrapper for VecGeom implementation of G4GenericPolycone.
15-February-2019 E.Tcherniaev (geom-specific-V10-05-03)
- Accurate calculation of radical in G4IntersectingCone.
It addresses the problem report #2111.
4-February-2019 G.Cosmo (geom-specific-V10-05-02)
- Fix in G4EllipticalTube::CheckParameters() for typo in condition.
30-January-2019 G.Cosmo (geom-specific-V10-05-01)
- Disabled precise computation of extent and use simple bounding-box
in CalculateExtent() for G4Tet and G4TessellatedSolid, to speed up
intialisation in setups with relatively complex meshes.
- Apply bounding-box calculation for extent also for corresponding
VecGeom wrappers.
24-January-2019 E.Tcherniaev (geom-specific-V10-05-00)
- Completely revised, more robust and performant G4EllipticalTube;
new exhaustive test/testEllipticalTube.cc based on Shape Conventions.
20-September-2018 G.Cosmo (geom-specific-V10-04-15)
- Make G4UPolycone wrapper inheriting from vecgeom::GenericUnplacedPolycone,
following the latest changes in VecGeom.
13-September-2018 G.Cosmo (geom-specific-V10-04-14)
- G4UTessellatedSolid, G4UExtrudedSolid: removed leftover use of
UVector3 and replaced with U3Vector.
23-August-2018 G.Cosmo (geom-specific-V10-04-13)
- Enabled VecGeom wrapper for G4Tet.
10-August-2018 A.Gheata (geom-specific-V10-04-12)
- Make G4UHype wrapper inheriting from vecgeom::GenericUnplacedHype,
following the latest changes in VecGeom.
12-July-2018 G.Cosmo (geom-specific-V10-04-11)
- Removed G4SolidsWorkspacePool class. Adapted G4SolidsWorkspace to
use templated class G4TWorkspacePool.
- Coworks with tags in geometry/volumes, run and visualization/management.
25-Jun-2018 G.Cosmo (geom-specific-V10-04-10)
- Use dynamic_cast to attempt fix for spurious compilation warnings on
CentOS7/gcc-5.3 on G4UTessellatedSolid wrapper.
17-May-2018 J.Madsen (geom-specific-V10-04-09)
- Updated "thread-local-static-var" model to
"function-returning-thread-local-static-reference" model
which fixes Windows DLL + MT
11-April-2018 G.Cosmo (geom-specific-V10-04-08)
- Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake.
13-February-2018 E.Tcherniaev (geom-specific-V10-04-07)
- Corrected conversion of input parameters to internal structure (used for
caching for adoption in GDML persistency) in G4UPolycone and G4UPolyhedra
wrappers.
9-February-2018 G.Cosmo (geom-specific-V10-04-06)
- Caching facets and vertices in G4UTessellatedSolid wrapper for properly
treating indexing in facets.
31-January-2018 G.Cosmo (geom-specific-V10-04-05)
- Corrected use of facets indeces in G4UTessellatedSolid for visualization.
- Minor cleanup in G4TessellatedSolid::CreatePolyhedron(), no functional
changes.
15-January-2018 G.Cosmo (geom-specific-V10-04-04)
- Added validity checks in G4UTessellatedSolid::AddFacet().
11-January-2018 G.Cosmo (geom-specific-V10-04-03)
- Added and enabled VecGeom wrapper for G4TessellatedSolid.
Requires tags cmake-V10-04-01 and config-V10-04-00.
20-December-2017 G.Cosmo (geom-specific-V10-04-02)
- Enabled VecGeom wrappers for G4ExtrudedSolid and G4Hype.
13-December-2017 E.Tcherniaev (geom-specific-V10-04-01)
- Removed redundant data initialistion in G4ExtrudedSolid constructors.
11-December-2017 E.Tcherniaev (geom-specific-V10-04-00)
- Added missing initialisation of two data-members in copy-ctor and
assignment operator of G4ExtrudedSolid. Addressing problem report #2016.
22-November-2017 G.Cosmo (geom-specific-V10-03-25)
- Fix in SurfaceNormal() for G4ExtrudedSolid to assure explicit
counting of the surfaces where the point is placed on edg
2-November-2017 G.Cosmo (geom-specific-V10-03-24)
- Fixed compilation warning introduced with last tag.
31-October-2017 E.Tcherniaev (geom-specific-V10-03-23)
- Added specialised implementation for constructs defining a non-convex right
prism in G4ExtrudedSolid.
20-October-2017 G.Cosmo (geom-specific-V10-03-22)
- G4TessellatedSolid: print also solid's name in StreamInfo().
17-October-2017 G.Cosmo (geom-specific-V10-03-21)
- Added VecGeom wrapper G4UHype for G4Hype, not yet activated, pending
fixes in VecGeom.
16-October-2017 G.Cosmo (geom-specific-V10-03-20)
- Temporarly disabled wrappers for G4Tet and G4GenericPolycone, pending
their corresponding implementation in VecGeom.
28-September-2017 G.Cosmo (geom-specific-V10-03-19)
- Corrected initialisation of polyhedra by vertices in G4UPolyhdra wrapper
following the changes in VecGeom.
15-September-2017 G.Cosmo (geom-specific-V10-03-18)
- G4SolidsWorkspacePool: use DLL export flag for static thread-local
symbol of the workspace.
12-September-2017 G.Cosmo (geom-specific-V10-03-17)
- G4Voxelizer: directly set components for bounding-box instead of
recreating it in BuildBoundingBox(..).
8-September-2017 E.Tcherniaev (geom-specific-V10-03-16)
- Added specialised implementation for constructs defining a convex right
prism in G4ExtrudedSolid.
4-September-2017 G.Cosmo (geom-specific-V10-03-15, 14)
- Temporarly disabled wrapper for extruded-solid, pending implementation
of extruded-solid in VecGeom.
16-August-2017 J.Allison (geom-specific-V10-03-13)
- Twisted solids: Fixed bug in drawing polyhedra with negative twist angle.
Addressing problem report #1995.
27-July-2017 E.Tcherniaev (geom-specific-V10-03-12)
- G4EllipticalCone: corrected samping of random points on lateral surface in
function GetPointOnSurface().
24-July-2017 E.Tcherniaev (geom-specific-V10-03-11)
- G4EllipticalCone: improved GetPointOnSurface() to have uniform sampling of
points, using function G4RandomPointOnEllipse().
20-July-2017 E.Tcherniaev (geom-specific-V10-03-10, 09)
- G4EllipticalCone: reviewed implementation of Inside(), DistanceToIn/Out(p),
SurfaceNormal() and GetPointOnSurface(); made more compact and performant.
Addressing problem report #1974.
15-June-2017 G.Cosmo (geom-specific-V10-03-08)
- Enabled adapter also in G4UPolycone wrapper.
- Added check on open solid for G4UPolyhedra wrapper.
6-June-2017 G.Cosmo (geom-specific-V10-03-07)
- Enable adapter for VecGeom shapes in G4U* wrappers for: paraboloid,
polyhedra and GenericTrap. From now on, wrappers depends directly on
VecGeom shapes implementation. USolids API is deprecated and no longer
supported.
24-May-2017 G.Cosmo (geom-specific-V10-03-06)
- 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.
11-May-2017 G.Cosmo (geom-specific-V10-03-05)
- Removed potential race condition in G4VTwistSurface::AmIOnLeftSide().
Addressing problem report #1972.
7-April-2017 G.Cosmo (geom-specific-V10-03-04)
- Renamed G4SurfaceVoxelizer to G4Voxelizer and extended to support
voxelisation of shapes in 3D space. Adapted G4TessellatedSolid accordingly.
13-March-2017 G.Cosmo (geom-specific-V10-03-03)
- G4SolidsWorkspacePool: implemented CleanUpAndDestroyAllWorkspaces(),
to be called by worker threads. Removed declaration (i.e. not implemented)
of protected method ReleaseAndDestroyWorkspace().
2-March-2017 E.Tcherniaev (geom-specific-V10-03-02)
- Fixed possible rounding off error in calculation of 'astep' (max angle
for one step) in CalculateExtent() for G4Polycone, G4GenericPolycone
and related USolids wrappers.
27-February-2017 E.Tcherniaev (geom-specific-V10-03-01)
- Revised implementation of GetCubicVolume() and GetSurfaceArea() for
G4EllipticalTube, to return exact values.
- Revised implementation of GetSurfaceArea() for G4EllipticalCone, to
return exact value; moved both GetCubicVolume() and GetSurfaceArea() to
be not inline.
13-December-2016 G.Cosmo (geom-specific-V10-03-00)
- Correction in G4UExtrudedSolid to signature for CalculateExtent().
Fixes issue of undefined symbol if extruded-solid not included in the
list of VecGeom wrappers to activate.
30-November-2016 E.Tcherniaev (geom-specific-V10-02-25)
- Call RemoveRedundantVertices() from G4GeomTools in CalculateExtent()
for G4Polycone, G4Polyhedra and related USolids wrappers.
- Fix in G4Parabolid and G4UParaboloid for correct computation of extent.
18-November-2016 E.Tcherniaev (geom-specific-V10-02-24)
- Added consistency checks for extent computation in USolids wrappers.
- Fix in cached parameters in G4UPolyhedra.
10-November-2016 G.Cosmo (geom-specific-V10-02-23)
- G4UPolyhedra re-introduced new implementation of CalculateExtent() using
G4BoundingEnvelope and extended wrapper to cache corners and start/end
Phi parameters, to overcome issues in VecGeom on treatment of angles.
10-November-2016 E.Tcherniaev (geom-specific-V10-02-22)
- Added caching of corners and implementation of GetCorner() in G4UPolycone
in order to assure correct translation.
- Withdrawn changes in G4UPolyhedra introduced in tag geom-specific-V10-02-16
until understood proper conversion from VecGeom.
7-November-2016 E.Tcherniaev (geom-specific-V10-02-21)
- Correction in G4EllipticalCone::DistanceToOut(p) to make it more accurate.
- Added optional debug flag G4BBOX_EXTENT in GNUMake build to compare
extent calculation by simply using bounding-box.
3-November-2016 G.Cosmo (geom-specific-V10-02-20, 19)
- Fix in G4PolyPhiFace for potential unitialised data in Inside().
31-October-2016 E.Tcherniaev (geom-specific-V10-02-18)
- Re-implemented CalculateExtent() to make use of G4BoundingEnvelope and
removed no-longer used method CreateRotatedVertices() in G4Polyhedra,
G4EllipticalCone, G4Polycone, G4Paraboloid, G4ExtrudedSolid, G4Hype,
G4GenericPolycone, G4TessellatedSolid, G4TwistedTubs and related USolids
wrappers.
- Use G4RandFlat instead of RandFlat.
21-October-2016 G.Cosmo (geom-specific-V10-02-17)
- Moved initialisation of G4GeomSplitter thread-local data to be inline
along with generic template type.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
19-October-2016 E.Tcherniaev (geom-specific-V10-02-16)
- Reimplemented CalculateExtent() in G4Polycone, G4Polyhedra, G4GenericPolycone
and associated USolids wrappers, to make use of G4BoundingEnvelope.
5-October-2016 E.Tcherniaev (geom-specific-V10-02-15, 14)
- Reimplemented CalculateExtent() in G4Tet, G4UTet, G4GenericTrap,
G4UGenericTrap, G4EllipticalTube and G4VTwistedFaceted, to make use
of G4BoundingEnvelope; removed no-longer used method CreateRotatedVertices().
20-September-2016 G.Cosmo (geom-specific-V10-02-13)
- Moved accessors/modifiers for splitter data to non-inline in
G4PolyhedraSide and G4PolyconeSide.
Explicitly initialise G4GeomSplitter data in G4SolidsWorkspace
translation unit.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
06-July-2016 E.Tcherniaev (geom-specific-V10-02-12)
- Fixed monir typo in function Create() for G4Polycone, G4Polyhedra and
G4GenericPolycone.
Fixed minor typos in G4GenericTrap::SurfaceNormal() and
G4VTwistSurface::CurrentStatus::ResetfDone().
Issues detected by PVS-Studio static code analyzer.
Addressing problem report #1876.
24-May-2016 G.Cosmo (geom-specific-V10-02-11)
- Correction in G4UExtrudedSolid for definition of CreatePolyhedron().
20-May-2016 G.Cosmo (geom-specific-V10-02-10)
- Moved accessors and modifiers in USolids wrappers to be not inlined.
Required modification in order to allow correct dispatching to VecGeom
types.
15-Apr-2016 G.Cosmo (geom-specific-V10-02-09)
- Added flag in USolids wrappers for partial use of USolids/VecGeom types.
31-Mar-2016 G.Cosmo (geom-specific-V10-02-08, 07)
- Added overloaded CreatePolyhedron() method to USolids wrappers.
It is now possible to visualize supported VecGeom shapes.
- Added implementation of CreatePolyhedron() in UExtrudedSolid wrapper.
10-Mar-2016 G.Cosmo (geom-specific-V10-02-06)
- Added overloaded GetEntityType() method to USolids wrappers.
07-Mar-2016 E.Tcherniaev (geom-specific-V10-02-05)
- Fix in G4IntersectingCone for smaller precision constant in LineHitsCone1()
and LineHitsCone2(). Fixes issue observed in G4GenericPolycone.
Addressing problem report #1794.
03-Mar-2016 G.Cosmo (geom-specific-V10-02-04)
- Fixed compilation warnings for potential uninitialised values in
G4ExtrudedSolid::CheckPolygon() function introduced in previous tag.
03-Mar-2016 E.Tcherniaev (geom-specific-V10-02-03)
- Added 'const' qualifier for methods in G4ExtrudedSolid.
Added CheckPolygon() to remove collinear and coincident points from polygons.
- G4QuadrangularFacet: added exhaustive tests in constructor to catch potential
problems with a quadrangular facet: collinear vertices, non planar surface,
degenerate, concave or self intersecting quadrilateral.
- G4TriangularFacet: Improved test in constructor to detect degenerate (too
small or too narrow) triangles.
25-Feb-2016 E.Tcherniaev (geom-specific-V10-02-02)
- Correction in G4ExtrudedSolid::AddGeneralPolygonFacets() for precision
treatment in construction of tessels to avoid cases of collinear points
and consequent degenerating triangles.
Address problem report #1777.
- Use pre-computed kCarToleranceHalf constant in G4ExtrudedSolid, now
protected in G4TessellatedSolid.
- Improved algorithms for computation of area in G4TriangularFacet and
G4QuadrangularFacet. Added post-const qualifier to GetArea().
16-Feb-2016 G.Cosmo (geom-specific-V10-02-01)
- Revised implementation for GetSurfaceArea() and GetCubicVolume() in
G4GenericTrap (E.Tcherniaev).
- Protected debug warning in G4GenericTrap::SurfaceNormal() within G4SPECSDEBUG.
02-Feb-2016 E.Tcherniaev (geom-specific-V10-02-00)
- Fix in G4GenericTrap for compuation of extent.
Addressing problem report #1809.
- Use dot() in formula for computation of GetCubicVolume() in
G4TessellatedSolid.
18-Nov-2015 G.Cosmo (geom-specific-V10-01-15)
- Added specialised implementation for GetCubicVolume() in
G4TessellatedSolid (J.Allison).
29-Oct-2015 G.Cosmo (geom-specific-V10-01-14)
- Added debug printouts within G4SPECSDEBUG in G4TessellatedSolid for
DistanceToIn/Out(p,v) to identify potential wrong responses.
26-Oct-2015 G.Cosmo (geom-specific-V10-01-13)
- Removed redundant condition in G4Polyhedra and G4polycone
SetOriginalParameters() method.
23-Oct-2015 G.Cosmo (geom-specific-V10-01-12)
- G4PolyhedraSide: moved internal struct definitions to public section
to overcome deficiencies in object-persistency class parsing.
07-Oct-2015 G.Cosmo (geom-specific-V10-01-11)
- Protected compilation of USolid wrappers with G4GEOM_USE_USOLIDS flag.
01-Sep-2015 G.Cosmo (geom-specific-V10-01-10)
- Corrected conditional compilation flag in G4UParaboloid.cc.
31-Aug-2015 G.Cosmo (geom-specific-V10-01-09)
- Added USolids/VecGeom wrapper for G4Paraboloid (G.Lima/FNAL).
Activated only for external USolids/VecGeom installation.
13-Aug-2015 G.Cosmo (geom-specific-V10-01-08)
- Checked for potential never-ending loops.
No issues found, only added annotations.
05-Aug-2015 G.Cosmo (geom-specific-V10-01-07)
- Minor code cleanup in G4SurfaceVoxelizer.
03-Mar-2015 G.Cosmo (geom-specific-V10-01-06)
- Use accessors x(), y() and z() from UVector3, instead of directly accessing
its data-members. Co-work with tag "geom-usolids-V10-01-09".
23-Feb-2015 T.Nikitina (geom-specific-V10-01-05)
- Fix in SetOriginalParameters() for G4Polycone and G4Polyhedra, in case
of presence of 'rings' structures. Addressing problem report #1705.
26-Jan-2015 G.Cosmo (geom-specific-V10-01-04)
- Renamed DistanceAwayForInside() to DistanceAway() and use polymorphism.
26-Jan-2015 T.Nikitina (geom-specific-V10-01-03, 02)
- Added special method for Inside 'DistanceAwayForInside()' in order to fix
precision problem of calculation of DistanceToSide() in G4PolyconeSide.
21-Jan-2015 T.Nikitina (geom-specific-V10-01-01)
- Fixed triangularisation method AddGeneralPOlygoneFacets() in
G4ExtrudedSolid by avoiding flat triangles.
- Added warning message to G4TriangularFacet constructor if Area is 0;
i.e., case of flat triangle.
- Addressing problem report #1703.
12-Dec-2014 G.Cosmo (geom-specific-V10-01-00)
- Use canonical form for operator=() in G4PolyconeHistorical and
G4PolyhedraHistorical.
17-Sep-2014 G.Cosmo (geom-specific-V10-00-11)
- Added wrappers for UExtrudedSolid and UGenericTrap; adapted switches to
original G4 types accordingly. Requires tag "geom-usolids-V10-00-16".
01-Sep-2014 G.Cosmo (geom-specific-V10-00-10)
- Fixed use of polyhedron pointer, to avoid race condition in MT
when parameterised volumes are visualised.
22-May-2014 G.Cosmo (geom-specific-V10-00-09)
- Added protection in generic constructor of G4Polyhedra for the case when
improper number of sides is given as input.
10-Apr-2014 G.Cosmo (geom-specific-V10-00-08)
- Get rid of deprecated 'register' storage class specifier in source files.
31-Mar-2014 G.Cosmo (geom-specific-V10-00-07)
- Fixed signature of assignment operator to G4VCSGfaceted.
31-Mar-2014 G.Cosmo (geom-specific-V10-00-06)
- Fixed signature of assignment operator to G4Polycone, G4Polyhedra and
and G4GenericPolycone.
05-Mar-2014 G.Cosmo (geom-specific-V10-00-05)
- Fixed proper handling of polyhedron pointer in solids, to avoid memory
leak for visualization of parameterised volumes.
12-Feb-2014 G.Cosmo (geom-specific-V10-00-04)
- Simply reset polyhedron pointer to zero for modifiers of G4U* wrappers
in parameterisation. Resolves crash in MT visualization when using USolids.
12-Feb-2014 G.Cosmo (geom-specific-V10-00-03 [and -02])
- Added correct cloning mechanism in G4U* wrappers.
Addressing problem report #1553.
18-Dec-2013 T.Nikitina (geom-specific-V10-00-01)
- Fix in G4GenericTrap::InsidePolygone() to check if p lies between the two
extremes of the segment. Addressing problem report #1541.
17-Dec-2013 G.Cosmo (geom-specific-V10-00-00)
- Corrected left-over debug printout in G4Polycone::SetOriginalParameters().
04-Dec-2013 G.Cosmo (geom-specific-V09-06-36)
- Corrected left-over debug printout in G4Polyhedra::SetOriginalParameters().
22-Nov-2013 G.Cosmo (geom-specific-V09-06-35)
- Correction to USolids wrappers for proper setting of name to base class.
19-Nov-2013 J.Apostolakis (geom-specific-V09-06-34)
- Fix for issue identified by Coverity: fixed implementation of
G4SolidsWorkspacePool singleton.
20-Nov-2013 T.Mikitina (geom-specific-V09-06-33)
- Fixed Coverity defects to USolids wrappers.
14-Nov-2013 G.Cosmo (geom-specific-V09-06-32, 31)
- Enabled use of Reset() in G4UPolycone.
- Corrections to G4UPolycone and G4UPolyhedra to allow for visualization
of parameterisations on these solids.
13-Nov-2013 G.Cosmo (geom-specific-V09-06-30)
- Correction to G4UTet and G4UGenericPolycone to explicitly include
symbols re-definitions from G4Tet and G4GenericPolycone respectively.
12-Nov-2013 G.Cosmo (geom-specific-V09-06-29)
- Added dummy method G4UPolycone::Reset().
NOTE: Required related implementation (currently missing!) in UPolycone.
12-Nov-2013 G.Cosmo (geom-specific-V09-06-28)
- Correction to USolids switch mechanism for G4Polycone.
08-Nov-2013 J.Apostolakis (geom-specific-V09-06-27)
- G4SolidsWorkspace: cleanup of verbosity.
Reduced verbosity by making it optional.
Added Set/Get Verbose methods to toggle and view it.
Added parameter to constructor for verbosity (default=off).
07-Nov-2013 G.Cosmo (geom-specific-V09-06-26)
- Moved wrappers from usolids module.
Fixed internal dispatcher method for parameterisation in all wrappers.
- Added switching mechanism for G4GenericPolycone, G4Polycone, G4Polyhedra
and G4Tet.
06-Nov-2013 G.Cosmo (geom-specific-V09-06-25)
- Added switch mechanism for USolids (G4GenericPolycone, G4Polycone,
G4Polyhedra, G4Tet). Renamed related G4 types to 'G4O'.
- Moved wrappers from USolids module.
01-Nov-2013 G.Cosmo (geom-specific-V09-06-24)
- Corrected CMake script.
31-Oct-2013 G.Cosmo (geom-specific-V09-06-23)
- Fix for in G4Polyhedra::SetOriginalParameters(). (T.Nikitina)
- Moved G4PolyconeHistorical and G4PolyhedraHistorical in separate
translation units.
29-Oct-2013 T.Nikitina (geom-specific-V09-06-22)
- Split G4Polycone for polycones with decreasing Z-sections.
Introduced new class G4GenericPolycone.
- Fixed conversion of generic construct for G4Polyhedra.
17-Oct-2013 J.Apostolakis/A.Dotti (geom-specific-V09-06-21)
- Cleanup of code for workspace.
16-Oct-2013 J.Apostolakis/A.Dotti (geom-specific-V09-06-20)
- Created G4SolidsWorkspacePool class, to manage Workspaces
Fixed Singleton G4SolidsWorkspacePool for thread safe creation of object.
04-Oct-2013 J.Apostolakis (geom-specific-V09-06-19)
- Retagged.
NOTE: requires tag "geommng-V09-06-12" and co-works with "geomvol-V09-06-13".
04-Oct-2013 J.Apostolakis (geom-specific-V09-06-18)
- Created G4SolidsWorkspace class, to create, initialize and destroy
per-thread state of PolyCone Sides and PolyHedra Sides.
27-Aug-2013 G.Cosmo (geom-specific-V09-06-17)
- Enabled G4Ellipsoid for parameterisation.
14-Aug-2013 G.Cosmo (geom-specific-V09-06-16)
- 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.
- Fix in G4TessellatedSolid::DistanceToIn(p,v) for specific cases where points
are located near surface (T.Nikitina).
16-Jul-2013 M.Gayer (geom-specific-V09-06-15)
- Fix in G4SurfaceVoxelizer affecting tessellated-solid (and extruded-solid)
for wrong computation of DistanceToIn(p,v) for points outside, when
optimisation is active.
11-Jul-2013 G.Cosmo (geom-specific-V09-06-14)
- Fixed compilation warning in G4Polycone on MacOS/clang.
09-Jul-2013 T.Nikitina (geom-specific-V09-06-13)
- Extended method SetOriginalParameters() in G4Polycone in order to handle
all possible cases of conversion of generic polycone to polycone with
(Rmin,Rmaz,Z) parameters.
Addressing problem report #1462.
03-Jun-2013 G.Cosmo (geom-specific-V09-06-12)
- Fixed minor Coverity defect in G4PolyhedraSide and G4PolyconeSide.
22-Apr-2013 J.Apostolakis (geom-specific-V09-06-11)
- Revised G4ExtrudedSolid::IsSameLine to use the perpendicular
distance to a line when deciding - not the y-intercept difference.
( Issue responsible for a problem in Subtraction Solid in Atlas.
Tatiana & Ivana contributed to debugging. )
- Changed GNUmakefile in test directory to work with Cmake and granular
builds.
16-Apr-2013 T.Nikitina (geom-specific-V09-06-10)
- Fix in calculation of normal in G4Tet::DistanceToOut(p,v,..) and
SurfaceNormal(p).
- Fix in G4Polycone::GetPointOnCone() for cases of shape with decreasing Z.
Fixes cases of false report for overlaps detection. Problem report #1462.
Added check with exception in constructor for polycone with rInner > rOuter
for the same Z.
18-Mar-2013 G.Cosmo (geom-specific-V09-06-09)
- G4TessellatedSolid: fixed problem with navigation in tessellated solids
with concave surfaces. Addresses problem report #1456.
- More cleanup from MT changes in G4VTwistSurface and G4Tet.
12-Mar-2013 G.Cosmo (geom-specific-V09-06-08)
- Added public accessors for MT data to G4PolyconeSide and G4PolyhedraSide.
11-Mar-2013 G.Cosmo (geom-specific-V09-06-07)
- Redefined G4DLL_API to G4GEOM_DLL to avoid cases of macro redefinition.
08-Mar-2013 G.Cosmo (geom-specific-V09-06-06)
- Renamed G4MT macros to safer ID in G4PolyconeSide and G4PolyhedraSide.
07-Mar-2013 G.Cosmo (geom-specific-V09-06-05)
- Adopt G4GeomSplitter instead of G4MTTransitory in G4PolyconeSide and
G4PolyhedraSide. Fixed import/export of static symbols for WIN32 DLLs build.
22-Feb-2013 G.Cosmo (geom-specific-V09-06-04)
- Cleanup changes for multi-threading in G4Tet, G4VTwistSurface,
G4PolyconeSide and G4PolyhedraSide.
- Removed unused private data member in G4TwistTrapParallelSide.
07-Mar-2013 G.Cosmo (geom-specific-V09-06-05)
- Adopt G4GeomSplitter instead of G4MTTransitory in G4PolyconeSide and
G4PolyhedraSide. Fixed import/export of static symbols for WIN32 DLLs build.
22-Feb-2013 G.Cosmo (geom-specific-V09-06-04)
- Cleanup changes for multi-threading in G4Tet, G4VTwistSurface,
G4PolyconeSide and G4PolyhedraSide.
- Removed unused private data member in G4TwistTrapParallelSide.
11-Jan-2013 G.Cosmo (geom-specific-V09-06-03)
- Fixed condition in G4VTwistSurface::GetBoundaryLimit() for logical error.
Addressing problem report #1420.
20-Dec-2012 M.Gayer (geom-specific-V09-06-02)
- Fixed cases of hang-ups in G4ExtrudedSolid on 32-bits platforms, due to
G4TessellatedSolid and G4SurfVoxelizer, caused by accessing bitmask arrays
with negative indexes. The problem was related to floating-point rounding,
which can be different even on same platform with debug/release version.
Assure same number of computed voxels on 32-bit/64-bit platforms.
Fixed error in SetVertexIndex() method, which might cause problems on
certain configurations even for 64-bit systems. Fixed minor memory leaks.
- Code cleanup for use of G4endl and tabs...
14-Dec-2012 G.Cosmo (geom-specific-V09-06-01)
- Restored SVN id headers.
02-Dec-2012 J.Allison (geom-specific-V09-06-00)
- Removed NURBS.
29-Nov-2012 G.Cosmo (geom-specific-V09-05-24)
- Remove inclusion of G4PhysicalConstants.hh from G4SurfaceVoxelizer.hh.
- Fixed unit test for compilation errors.
28-Nov-2012 G.Cosmo (geom-specific-V09-05-23)
- Fixed more cases of inclusion of constants header.
23-Nov-2012 G.Cosmo (geom-specific-V09-05-22)
- Added 'const' qualifiers to signature in G4VoxelComparator::operator()
for porting on AIX-xlC compiler.
14-Nov-2012 P.Mato (geom-specific-V09-05-21)
- Added #undef NDEBUG in unit tests to ensure assert works also in
full optimised mode.
14-Nov-2012 P. Mato (geom-specific-V09-05-20)
- Added #undef NDEBUG in unit tests to ensure that assert always works
13-Nov-2012 M.Gayer (geom-specific-V09-05-19)
- More fixes for out-of-bound array accesses in G4SurfaceVoxelizer.
12-Nov-2012 M.Gayer (geom-specific-V09-05-18)
- Fixed out-of-bound array access in BuildReduceVoxels2().
06-Nov-2012 G.Cosmo (geom-specific-V09-05-17)
- Correction in sources.cmake script for missing .icc file.
06-Nov-2012 G.Cosmo (geom-specific-V09-05-16)
- Fixed Coverity defects in new code (M.Gayer).
- Minor fixes for porting on AIX.
01-Nov-2012 G.Cosmo (geom-specific-V09-05-15)
- Fixed compilation of debug code under G4SPECSDEBUG.
01-Nov-2012 M.Gayer (geom-specific-V09-05-14)
- Corrected signature for voxels count methods in G4SurfaceVoxelizer.
31-Oct-2012 M.Gayer (geom-specific-V09-05-13)
- Added set/get methods for voxels count in G4SurfaceVoxelizer.
30-Oct-2012 M.Gayer (geom-specific-V09-05-12)
- Fixed indexing of vertices in facets for tessellated-solid and some cleanup.
27-Oct-2012 G.Cosmo (geom-specific-V09-05-11)
- Fixed initialization of data in G4SurfaceVoxelizer (M.Gayer).
- Added post-const qualifier to G4VertextComparator::operator() in
G4TessellatedSolid.
- Fixed more compilation warnings on unused variable.
26-Oct-2012 G.Cosmo (geom-specific-V09-05-10)
- Corrected compilation problem on G4SurfBits for use of fprint().
- Polished comments in disclaimer in new updated classes.
25-Oct-2012 G.Cosmo (geom-specific-V09-05-09)
- Corrected compilation warnings on Linux and fixed use of memset/memcpy.
25-Oct-2012 G.Cosmo (geom-specific-V09-05-08)
- Correction to sources.cmake.
19-Oct-2012 M.Gayer (geom-specific-V09-05-07)
- Complete rewrite of G4TessellatedSolid resulting in reduced memory
requirements by 50%, and factor of tens or more speedup for number of facets
of the order of thousands, thanks to ad-hoc voxelization of the surface.
Factor of thousands speedup when number of facets of the order of hundreds
thousand. New classes introduced, G4SurfBits and G4SurfaceVoxelizer.
12-Jun-2012 G.Cosmo (geom-specific-V09-05-06)
- Explicitly use inclusion of headers for system of units and physical
constants, in plan to remove implicit inclusion from globals.hh.
14-May-2012 G.Cosmo (geom-specific-V09-05-05)
- Fixed spurious cases of hidden variable visibility, detected with
'-Wshadow' compilation option on gcc compiler.
06-Apr-2012 M.Kelsey (geom-specific-V09-05-04)
- Modified GetPointOnSurface() to throw sqrt(r) uniformly for disk surfaces,
in G4Paraboloid, G4Polycone and G4TwistedTubs.
13-Dec-2011 G.Cosmo (geom-specific-V09-05-03, 02, 01)
- Fixed trivial Coverity defects in G4TwistedTubs and G4VTwisteFaceted for
missing protection against self-assignment.
09-Dec-2011 T.Nikitina (geom-specific-V09-05-00)
- Fix in G4EllipticalCone in DistanceToIn(p,v) to exclude imaginary solution
(virtual cone) when distance is calculated.
10-Nov-2011 G.Cosmo (geom-specific-V09-04-09)
- Fixed trivial Coverity defects on assignment operators...
25-Oct-2011 G.Cosmo (geom-specific-V09-04-08)
- Fixed logic in G4VTwistSurface::GetEdgeVisibility() in treatment of corners.
16-Sep-2011 G.Cosmo (geom-specific-V09-04-07)
- Fix compilation error in code within G4SPECSDEBUG. No functional changes.
13-Sep-2011 I.Hrivnacova (geom-specific-V09-04-06)
- G4TriangularFacet: fixed tests where square root was compared to
half Cartesian tolerance; now compared to kCarTolerance.
Addressing problem report #1242.
25-Aug-2011 G.Cosmo
- 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.
- Added unit test for G4ExtrudedSolid (J.Apostolakis).
22-Aug-2011 I.Hrivnacova (geom-specific-V09-04-05)
- Fix in G4TriangularFacet::Intersect() to take into account geometrical
tolerance and cases of zero distance from surface's facet.
- Fix in G4TessellatedSolid::DistanceToOut(p) and DistanceToIn(p) to exactly
compute distance from facet avoiding use of 'outgoing' flag shortcut variant.
- Addressing problem report #1242.
17-Aug-2011 T.Nikitina (geom-specific-V09-04-04)
- Fix in G4Paraboloid::DistanceToIn(p,v) and DistanceToIn(p) to properly
take into account tolerance and provide better estimation of distance
respectively. Addresses problem report #1234.
04-Aug-2011 T.Nikitina (geom-specific-V09-04-03)
- Added SetReferences() and InvertFacets() to G4GenericTrap::CreatePolyhedron()
for proper visualisation of Boolean compositions with G4GenericTrap.
- Added SetReferences() to G4TessellatedSolid::CreatePolyhedron()
for proper visualisation of Boolean compositions with G4TessellatedSolid.
- Requires tag "greps-V09-04-04", for addressing problem report #1235.
17-May-2011 I.Hrivnacova (geom-specific-V09-04-02)
- G4ExtrudedSolid: fix in Inside(p) for false overlap reporting.
Addressing problem report #1211.
12-May-2011 G.Cosmo (geom-specific-V09-04-01)
- Fixed compilation warnings from gcc-4.6.0 for variables set but not used.
06-May-2011 G.Cosmo (geom-specific-V09-04-00)
- Use G4 typedef for CLHEP types.
26-Nov-2010 T.Nikitina (geom-specific-V09-03-20)
- Fixes in G4GenericTrap reported by SBT unit test in SurfaceNormal(),
DistanceToPlane() and VisExtent().
16-Nov-2010 T.Nikitina (geom-specific-V09-03-19)
- G4EllipticalCone: fixes in DistanceToIn(p,v) and DistanceToOut(p,v) for
correct handling of point on the surface.
Corrected formula for SurfaceNormal(p).
10-Nov-2010 T.Nikitina (geom-specific-V09-03-18)
- Added checks on crossing of vertices and too big twisted angle in
G4GenericTrap.
- Fixed case of division by zero in G4TwistedTubs.
- Added unit test for G4Polyhedra.
02-Nov-2010 G.Cosmo (geom-specific-V09-03-17)
- More fixes on Coverity reports for G4TessellatedSolid and G4ReduciblePolygon.
20-Oct-2010 G.Cosmo (geom-specific-V09-03-16)
- Implemented Clone() virtual method for all solids, returning a pointer
to a dynamically allocated copy of the solid. To be used by Geant4-MT.
23-Sep-2010 G.Cosmo (geom-specific-V09-03-15)
- Initialize fpPolyhedron to zero in copy-ctor and operator=().
- Completed implementation of copy-ctor and operator=() for facets.
20-Sep-2010 G.Cosmo (geom-specific-V09-03-14)
- Implemented copy-constructor and assignment operator for all solids
to facilitate conversion to Geant4-MT.
08-Sep-2010 G.Cosmo (geom-specific-V09-03-13)
- Correction to previous fix in G4ReduciblePolygon to avoid deleting current
'vertexHead' pointer.
07-Sep-2010 G.Cosmo (geom-specific-V09-03-12)
- Fix within G4CSGDEBUG code for restoring cout precision.
- Fix in G4ReduciblePolygon::RemoveRedundantVertices() to avoid potential
case of dereferencing freed pointer.
19-Aug-2010 T.Nikitina (geom-specific-V09-03-11)
- G4EllipticalTube: extended implementation of SurfaceNormal(p) in agreement
with canonical form. Added unit test testG4EllipticalTube.cc.
16-Jul-2010 G.Cosmo (geom-specific-V09-03-10)
- Fixed cases of division by zero in G4VTwistSurface and G4TwistBoxSide.
- Use INT_MAX as initialisation for max limits in G4SolidExtentList.
12-Jul-2010 G.Cosmo (geom-specific-V09-03-09)
- Added dummy initialization to members in struct
G4PolyPhiFace::G4PolyPhiFaceEdge, struct G4ReduciblePolygon::ABVertex.
G4Ellipsoid, G4EllipticalTube, G4EnclosingCylinder, G4ExtrudedSolid, G4Hype,
G4IntersectingCone, G4Paraboloid, G4PolyPhiFace, G4Polycone, G4PolyconeSide,
G4Polyhedra, G4PolyhedraSide, G4QuadrangularFacet, G4ReduciblePolygon,
G4TessellatedSolid, G4TriangularFacet, G4TwistBoxSide, G4TwistTrapAlphaSide,
G4TwistTrapFlatSide, G4TwistTrapParallelSide, G4TwistTubsFlatSide,
G4TwistTubsHypeSide, G4TwistTubsSide, G4TwistedTubs, G4VCSGfaceted, G4VFacet,
G4VTwistSurface, G4VTwistedFaceted.
- Fixed case of dereferencing null pointer in methods
G4EllipticalTube::DistanceToOut(p,v), G4VCSGfaceted::DistanceToIn(p,v)
and G4VCSGfaceted::DistanceToOut(p,v).
- Fixed unecessary object copy as argument in method
G4PolyhedraSide::IntersectSidePlane().
- Avoid possible case of derefencing null pointer in G4ReduciblePolygon
RemoveDuplicateVertices() and RemoveRedundantVertices() methods.
- Replaced calls to std::abs() with std::fabs() where suitable.
16-Jun-2010 G.Cosmo (geom-specific-V09-03-08)
- Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone
and G4Polyhedra.
11-Jun-2010 T.Nikitina (geom-specific-V09-03-07)
- G4GenericTrap: fixed cases of zero dToIn/sToOut when vertices are collapsed
to triangle, line or point. Added new methods handling those specific cases.
- Added unit test for G4GenericTrap.
10-Jun-2010 I.Hrivnacova
- G4GenericTrap: fixed parameter names in CalculateExtent() for the test
case construction through tessellated facets.
09-Jun-2010 G.Cosmo
- G4GenericTrap: moved internal methods to private section and reordered
in source file. Added missing implementation for IsTwisted() method.
03-Jun-2010 T.Nikitina, G.Cosmo (geom-specific-V09-03-06)
- G4GenericTrap:
o Fixed initialization of fSurfaceArea and fCubicVolume and
calculation of surface area.
o Fixed error in Inside(p) function, and corrected use std::fabs() instead
of std::abs() for floating point values.
o Added missing initialisation of fpPolyhedron pointer.
o More corrected signatures for use of non-const references for vectors
passed as arguments to functions.
02-Jun-2010 G.Cosmo (geom-specific-V09-03-05)
- G4GenericTrap: use const reference for vector of vertices passed as argument
in constructor and accessor.
27-May-2010 T.Nikitina (geom-specific-V09-03-04)
- First implementation of G4GenericTrap shape, a new solid representing an
arbitrary trapezoid with up to 8 vertices standing on two parallel planes
perpendicular to the Z axis.
28-Apr-2010 P.R.Truscott (geom-specific-V09-03-03)
- Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment of
optical photon transport related to internal reflection at surface.
Addresses problem report #1103.
15-Apr-2010 I.Hrivnacova (geom-specific-V09-03-02)
- G4ExtrudedSolid: eliminated requirement for clockwise ordering of polygon
vertices. Added a check for vertices ordering; if vertices are defined
anti-clockwise their ordering is reverted.
Fix in polygon facet triangularization for consequent concave vertices.
24-Feb-2010 G.Cosmo (geom-specific-V09-03-01)
- Adopt caching of Phi in G4PolyconeSide and G4PolyhedraSide to avoid
unnecessary consecutive computations on the same point.
10-Feb-2010 G.Cosmo (geom-specific-V09-03-00)
- Use kInfinity for initialising minimum and maximum allowed extent for
G4SolidExtentList of faceted solids.
11-Nov-2009 G.Cosmo (geom-specific-V09-02-08)
- Avoid fake (and redundant) assignment of value to 3-vector in
G4PolyconeSide and G4TwistTubsSide.
24-Sep-2009 T.Nikitina (geom-specific-V09-02-07)
- G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the
curved surface, and correct treatment of geometrical tolerance.
09-Sep-2009 G.Cosmo (geom-specific-V09-02-06)
- G4Ellipsoid: fixed usage of half-tolerances (radial and Cartesian) in
DistanceToIn(p,v), based on incorrect assumptions introduced in tag
"geom-specific-V09-02-04", responsible for zero steps on configurations
with cut in Z. Addresses problem report #1076.
04-Aug-2009 T.Nikitina (geom-specific-V09-02-05)
- G4Ellipsoid:
o Fixes in Inside(p) and in DistanceToIn(p,v) for points
located on the curved surface within tolerance. Final fix for issue
reported in problem report #1050 and concerning warnings reported by
grid_test.
o Adopt pre-computed half-tolerance values for optimisation.
23-Jul-2009 T.Nikitina (geom-specific-V09-02-04)
- G4Ellipsoid: fix to DistanceToIn(p,v) in the calculation of the roots of
the quadratic equation and in DistanceToOut(p,v) in the calculation of the
normal on cut surfaces. Final fix for problem report #1022 and #1050.
- G4PolyconeSide: added protection in method Normal(), addressing problem
report #1073.
30-Jun-2009 T.Nikitina (geom-specific-V09-02-03)
- G4Ellipsoid: 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.
Also addressing problem report #1022.
08-May-2009, G.Cosmo (geom-specific-V09-02-02)
- Corrected typo in base implementation of G4VCSGfaceted::GetSurfaceArea(),
which was erroneously returning cubic volume estimation.
Addresses problem report #1062.
27-Apr-2009, G.Cosmo (geom-specific-V09-02-01)
- Relaxed error condition in G4TessellatedSolid::Inside(p) to warning, for
excess of max trials and anomalous conditions in distance calculation.
Added more printout information when error condition is detected.
27-Feb-2009, T.Nikitina (geom-specific-V09-02-00)
- Fix in G4Paraboloid::DistanceToOut(p,v,..) for the computation of normal
to surface; added missing normalisation to unit, following remark in the
Geometry Forum Hypernews posting #953.
21-Nov-2008, G.Cosmo (geom-specific-V09-01-19)
- Added missing accessors to G4EllipticalCone, required for detector
persistency.
13-Nov-2008, G.Cosmo (geom-specific-V09-01-18)
- Corrected initialisation of algorithm in G4TriangularFacet constructor.
30-Oct-2008, I.Hrivnacova (geom-specific-V09-01-17)
- G4ExtrudedSolid: fixed bug in the decomposition of polygonal sides for
quadrangular facets in MakeFacets(). Addresses problem report #1029.
23-Sep-2008, T.Nikitina (geom-specific-V09-01-16)
- Corrected algorithm in G4TriangularFacet::GetPointOnFace() according to
suggestion advanced in problem report #1025. Fixes a problem of false
overlaps detection related to G4ExtrudedSolid and G4TessellatedSolid.
12-Sep-2008, G.Cosmo (geom-specific-V09-01-15)
- G4VFacet: corrected increment of indeces in operator==(), following
problem report #1024.
25-Jul-2008, I.Hrivnacova (geom-specific-V09-01-14)
- G4ExtrudedSolid: fix in polygon decomposition; systematically use
half kCarTolerance instead of kCarTolerance; added solid name in the
error messages coming from fatal exceptions.
16-Jul-2008, T.Nikitina (geom-specific-V09-01-13)
- G4Paraboloid: revised DistanceToOut(p,v,...) in answer to problem report
#1015. Fixed precision problem when solving quadratic equation; apply
comparison with kCarTolerance and not with zero; fixed logic problem in
algoritm for points on surface and direction inside, relative to directions
along Z, (0,0,Vz).
22-May-2008, G.Cosmo (geom-specific-V09-01-12)
- Removed left-over debug printout in G4VCSGFaceted::DistanceToIn().
15-May-2008, T.Nikitina (geom-specific-V09-01-11)
- Enhanced GetPointOnSurface() for generic G4Polycone and G4Polyhedra
constructs; the method uses new triangulation algorithm for G4PolyPhiFace.
- G4ExtrudedSolid: added missing 'std' namespace to standard mathematical
function calls.
28-Apr-2008, T.Nikitina (geom-specific-V09-01-10)
- Added kCarTolerance in definition of "low" and "high" cone limits in R
and in Z in order to protect against numerical errors. This fixes cases of
DistanceToIn(p,v) returning 'kInfinity' when p+t*v cross intersection
between two cones.
25-Apr-2008, T.Nikitina (geom-specific-V09-01-09)
- Added protection against NaN in G4IntersectingCone::LineHitsCone1() in
case of configuration where a conic section becomes a tube.
- G4EllipticalCone: removed some debug printouts.
14-Apr-2008, T.Nikitina (geom-specific-V09-01-08)
- G4Hype: refined polyhedron representation for correct visualization of
the shape. Coworks with tag "greps-V09-01-04".
13-Mar-2008, G.Cosmo (geom-specific-V09-01-07)
- Cleared compilation warnings in G4Paraboloid and G4TessellatedSolid
on gcc-4.3.0 for ambiguous use of parentheses in condition statements.
28-Feb-2008, I.Hrivnacova (geom-specific-V09-01-06)
- Correction to previous fix in G4ExtrudedSolid: testing on the edges has
to be limited to the line segment, for this purpose a new internal method
IsSameLineSegment() has been introduced for use instead of IsSameLine().
- Updated and extended unit test testG4ExtrudedSolid.cc.
27-Feb-2008, I.Hrivnacova (geom-specific-V09-01-05)
- Fix in G4TessellatedSolid::DistanceToOut(p,v,..) to compute normal only
if specified by flag in input.
- Fix in G4ExtrudedSolid::Inside(p) for correctly handling the case of
points located on the edges of triangles which are not the outline edges
of the polygon.
21-Feb-2008, T.Nikitina (geom-specific-V09-01-04)
- G4Polyhedra: fixed problem of out-of-bound access to vectors in
GetPointOnSurface().
20-Feb-2008, I.Hrivnacova (geom-specific-V09-01-03)
- G4TessellatedSolid: fixed bug in copy-constructor and internal method
CopyObjects() for cloning of facets.
05-Feb-2008, I.Hrivnacova (geom-specific-V09-01-02)
- G4ExtrudedSolid: bug fix in MakeFacets() to fill 'fTriangles' also in case
of polygon with 3 or 4 vertices, as they are needed for Inside(p).
02-Feb-2008, I.Hrivnacova (geom-specific-V09-01-01)
- Corrected triangularization of polygon, now correctly handling case
of concave shapes.
- Corrected order of arguments in G4Paraboloid constructor.
16-Jan-2008, I.Hrivnacova (geom-specific-V09-01-00)
- In G4ExtrudedSolid::MakeFacets(), now adding triangular facets before quadrangular
ones, following logic behind G4TessellatedSolid.
12-Dec-2007, G.Cosmo (geom-specific-V09-00-08a)
- Remove use of global static constant from singleton initialisation in
G4TessellatedGeometryAlgorithms class. Use 'sqrEpsilon' as local value.
15-Nov-2007, P.Truscott (geom-specific-V09-00-08)
- Reviewed implementation of G4TessellatedSolid::CalculateExtent() to
make it more robust and precise, following suggestion by S.Seibert
addressed in problem report #983, now fixed.
12-Oct-2007, G.Cosmo (geom-specific-V09-00-07)
- Corrected wrong boolean condition in method IntersectLineAndTriangle2D()
of G4TessellatedGeometryAlgorithms causing compilation error on VC++8.
09-Oct-2007, G.Cosmo (geom-specific-V09-00-06)
- Reviewed G4TessellatedSolid classes in order not to make use of random
numbers for selection of direction (by P.Truscott).
02-Oct-2007, G.Cosmo
- Removed debug printout in G4Polycone::GetPointOnCone().
23-Aug-2007, G.Cosmo (geom-specific-V09-00-05)
- Revision of G4TessellatedSolid classes:
o Fixed problem report #931 by P.Truscott, based on suggestion of
R.Holmberg. Modified classes G4TessellatedSolid and G4TriangularFacet.
o Modified data and accessor 'centroid' and 'GetCentroid()' for G4VFacet;
replaced by 'circumcentre' and 'GetCircumcentre()' respectively.
o Added utility class G4TessellatedGeometryAlgorithms.
- Added formulas for calculating SemiAxis and Zheight in G4EllipticalCone
(by T.Nikitina).
20-Aug-2007, T.Nikitina & L.Lindroos (geom-specific-V09-00-04)
- Revision of G4EllipticalCone:
o DistanceToIn(p): corrected answer for p.z()<-zTopCut and for the point
p on the surface.
o DistanceToOut(p,v): now returning positive solution or zero when crossing
the elliptical surface.
o Fix in DistanceToOut(p) which was giving always zero.
o Corrected visualisation error of solid in graphics_reps.
o Added some formulas on how to pre-calculate 'SemiAxis' and 'zheight'.
o Added checkDistanceToOut() method to unit test.
- Corrections to G4Paraboloid:
o Fixed bug in CalculateSurfaceArea() method
o Added correct initialisation of 'fPolyhedron' in constructor.
o Added unit test testG4Paraboloid.
13-Aug-2007, W.Pokorski (geom-specific-V09-00-03)
- G4PolyconeSide: added workaround to initialisation of 'corners' vector,
to allow for object persistency with Root-I/O (W.Pokorski).
18-Jul-2007, G.Cosmo (geom-specific-V09-00-02)
- New specific G4Paraboloid with cuts along the Z axis (by L.Lindroos).
- Fixed dummy constructors of G4Polycone and G4PolyPhiFace for initialisation
of 'edges' and 'corners'.
- Coworks with tag "greps-V09-00-01".
12-Jul-2007, T.Nikitina (geom-specific-V09-00-01)
- Fix in G4Polyhedra::GetPointOnSurface() to correctly treat 'totalPhi' instead of
'endPhi' for the case of open shapes and 'twopi' for not open shapes.
05-Jul-2007, T.Nikitina (geom-specific-V09-00-00)
- Fix in G4Polyhedra::GetPointOnSurface() for the case when number of sectors
(numSide) is equal to 1. At the origin of problems observed when checking
overlaps for polyhedra solids defined as such.
31-May-2007, G.Cosmo (geom-specific-V08-03-03)
- Fixed initialisation of constants in constructor for - G4VTwistSurface,
G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide - following latest changes
for tunable tolerance.
25-May-2007, G.Cosmo (geom-specific-V08-03-02)
- Fixed default response of DistToIn/DistToOut for twisted solids.
- Use G4TWISTDEBUG instead of G4SPECSDEBUG as debug conditional flag
for twisted solids.
- Some cleanup in G4TwistTrapAlphaSide code.
18-May-2007, G.Cosmo (geom-specific-V08-03-01)
- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class.
- Coworks with tag "global-V08-03-03".
11-May-2007, T.Nikitina (geom-specific-V08-03-00)
- Use call to G4GeometryTolerance instead of kCarTolerance where needed.
- Requires tag "global-V08-03-00" and related tag set.
26-Apr-2007, T.Nikitina (geom-specific-V08-02-05)
- Fix in GetPointOnSurface() for G4Polycone to consider also points laying
on rings when consecutive Z-sections are coincident.
Added method GetPointOnRing().
- Added unit test testPointOnSurfacePoly.cc.
27-Feb-2007, I.Hrivnacova (geom-specific-V08-02-04)
- Added specialised constructor for handling Z-sections in G4ExtrudedSolid.
- Cleared unecessary declaration of IsInside() methods in G4TriangularFacet
and G4QuadrangularFacet.
- Updated unit test for G4ExtrudedSolid.
26-Feb-2007, I.Hrivnacova (geom-specific-V08-02-04)
- Added specialised constructor for handling Z-sections in G4ExtrudedSolid.
- Cleared unecessary declaration of IsInside() methods in G4TriangularFacet
and G4QuadrangularFacet.
- Updated unit test for G4ExtrudedSolid.
15-Feb-2007, I.Hrivnacova (geom-specific-V08-02-03)
- Corrected caching of values in G4ExtrudedSolid.
- Bug fix in G4TriangularFacet::Intersect() to allow for correct update of
'Distance' in condition.
- Updated unit test for G4ExtrudedSolid.
09-Feb-2007, G.Cosmo (geom-specific-V08-02-02)
- Introduced new shape G4ExtrudedSolid, a solid representing the extrusion
of an arbitrary polygon with fixed outline in the two Z sections.
New files: G4ExtrudedSolid[.hh.icc.cc] and testG4ExtrudedSolid.cc
by I.Hrivnacova.
- G4TessellatedSolid:
o Made relevant solid's methods virtual, to be used as base class.
o Added implementation for GetSurfaceArea() and GetPointOnSurface() methods.
o Added protection in SurfaceNormal() method in case of facet not found.
o Check and return kOutside in Inside() if point out of solid's extent.
01-Feb-2007, G.Cosmo (geom-specific-V08-02-01)
- Fix in G4PolyconeSide::DistanceAway() for correct estimation of distance
for the case of Phi sections (T.Nikitina).
Addresses problem report #598.
- Updated unit test for G4Polycone to consider new test case.
22-Jan-2007, G.Cosmo (geom-specific-V08-02-00)
- Do not scale reducible-polygon in G4Polyhedra::Reset() method.
The 'original_parameters' structure offered as input through the accessors
are always assumed to be already scaled by the 'cos(0.5*phiTotal/theNumSide)'
factor. Addresses problem report #873.
- Fixed warning printout in G4Polycone::Reset().
15-Nov-2006, J.Allison (geom-specific-V08-01-04)
- Fixed typo in G4Polycone::CreatePolyhedron() introduced by mistake in
the last cleanup of the source code.
13-Nov-2006, G.Cosmo (geom-specific-V08-01-03)
- Added concrete implementation of GetSurfaceArea() in G4Tet (M.H.Mendenhall).
08-Nov-2006, G.Cosmo (geom-specific-V08-01-02)
- Cleared compilation warnings on SUN-CC for changes in the last tag.
Fixed overloaded class variables in G4Polyhedra and G4Polycone
implementation of CreatePolyhedron().
31-Oct-2006, J.Allison (geom-specific-V08-01-01)
- Implemented CreatePolyhedron() for G4Polyhedra and G4Polycone.
20-Oct-2006, G.Cosmo (geom-specific-V08-01-00)
- Implemented caching mechanism for computation of surface area in
all solids and base classes, as done for the geometrical volume
computation.
- Added missing fake constructor for object persistency to G4TessellatedSolid.
20-Jun-2006, G.Cosmo (geom-specific-V08-00-10)
- Added accessor method GetVertices() in G4Tet to return the list of
vertices composing the solid. Required for GDML persistency.
06-Jun-2006, G.Cosmo (geom-specific-V08-00-09)
- Added protection against NaNs in G4PolyconeSide::Normal() for points at
the origin.
19-May-2006, G.Cosmo (geom-specific-V08-00-08)
- Fix in G4Ellipsoid::SetZCuts() and G4EllipticalTube::SetZCut() for usage
of uninitialised variables.
08-May-2006, G.Cosmo (geom-specific-V08-00-07)
- Cleared compilation warning on SUN-CC in G4TriangularFacet.cc.
04-May-2006, G.Cosmo (geom-specific-V08-00-06)
- Use different names for unit tests to avoid confusing liblist ...
03-May-2006, G.Cosmo (geom-specific-V08-00-05)
- Added four unit tests for G4TessellatedSolid.
24-Mar-2006, G.Cosmo (geom-specific-V08-00-04)
- G4TwistedTubs: defined exact estimation for GetCubicVolume(),
similar to the one adopted for G4Tubs.
03-Mar-2006, G.Cosmo (geom-specific-V08-00-03)
- Corrected boolean condition in G4TriangularFacet::Intersect().
Use '&&' operator in condition. Allows for porting on WIN32-VC.
01-Mar-2006, G.Cosmo (geom-specific-V08-00-02)
- Introducing first implementation of a tessellated solid, contribution
of P.R.Truscott (QinetiQ Ltd, UK).
New classes: G4QuadrangularFacet, G4TessellatedSolid, G4TriangularFacet
and G4VFacet.
- Requires tag "greps-V08-00-00".
12-Jan-2006, J.Allison (geom-specific-V08-00-01)
- G4TwistedTubs and G4VTwistedFaceted::CreatePolyhedron():
parameterised polyhedron mesh approximation in terms of
G4Polyhedron::GetNumberOfRotationSteps().
This is (a) more economical and (b) amenable to user control.
19-Dec-2005, O.Link (geom-specific-V08-00-00)
- Fixes in G4EllipticalCone:
o Changed GetPointOnSurface(), which was not uniform in endcaps.
o Bug fix in Inside(), which was not correct for the elliptic mantel.
Made test similar as in G4EllipticTube.
o Several fixes in DistanceToIn/Out(): for looping events (shortest
distance was taken, even if 0); now comparing the distance to the endcap
and to the mantel and decide afterwards which distance is shortest;
added check n*v.
o The code is now "good" at 90%. Still 10% wrong reconstructed events.
e.g there is a problem is DistanceToOut(): missed the intersection
(reconstruction took the encap instead of the mantel).
09-Dec-2005, O.Link
- Fixed visibility of soft edges on the twisted solids.
08-Dec-2005, O.Link (geom-specific-V07-01-14)
- Fixed bug in G4VTwistSurface::ComputeLocalPoint(p) for point coordinate
transformation. The bug affected only G4TwistTrapFlatSide.
06-Dec-2005, G.Cosmo (geom-specific-V07-01-13)
- Fixed compilation errors on WIN32-VC for last tag changes.
05-Dec-2005, O.Link (geom-specific-V07-01-12)
- Added polyhedron definition for twisted solids (G4TwistedTrap,
G4TwistedTrd, G4TwistedBox, G4TwistedTubs) for visualization.
30-Nov-2005, G.Cosmo (geom-specific-V07-01-11)
- Trivial fixes for porting on CLHEP-2.0.X series.
18-Nov-2005, O.Link (geom-specific-V07-01-10)
- Renamed classes for twisted solids set, to identify them in the
twisted framework.
17-Nov-2005, O.Link
- G4VTwistedFacted:
o corrected bug in DistanceToSurface() implementation
o added GetPointOnSurface() method
- G4TwistedTubs:
o added GetPointOnSurface() method
- G4Hype:
o corrected surface area calculation used in GetPointOnSurface()
17-Nov-2005, G.Cosmo (geom-specific-V07-01-09)
- More fixes required for direct object persistency to G4Polycone,
G4polyhedra and related utility classes.
10-Nov-2005, J.Allison (geom-specific-V07-01-08)
- G4Tet:
o Added implementation for GetPolyhedron() and GetCubicVolume().
o Corrected order of specifying vertices in CreatePolyhedron().
09-Nov-2005, G.Cosmo (geom-specific-V07-01-07)
- 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.
07-Nov-2005, G.Cosmo (geom-specific-V07-01-06)
- G4Ellipsoid: replaced call to hypot(x,y) with std::sqrt(x*x+y*y)
for porting to ISO standard.
02-Nov-2005, G.Cosmo (geom-specific-V07-01-05)
- G4Polyhedra, G4Polycone:
o Protected case of generic construct for visualization.
o Introduced explicit flag and method IsGeneric() to identify the kind
of constructor used.
29-Sep-2005, G.Cosmo (geom-specific-V07-01-04)
- Fix in G4EllipticalCone methods DistanceToIn() and DistanceToOut().
Added unit test for it (by D.Anninos).
- Coworks with tag "greps-V07-01-02".
10-Aug-2005, G.Cosmo (geom-specific-V07-01-03)
- Introduced new solid G4EllipticalCone, a full cone with elliptical base
that can be cut in Z (by D.Anninos).
Coworks with tag "greps-V07-01-02".
08-Aug-2005, D.Anninos (geom-specific-V07-01-02)
- Added GetPointOnSurface() for all solids except twisted ones.
The method returns a random point according to a quasi-uniform
distribution along the surface.
18-Jul-2005, G.Cosmo (geom-specific-V07-01-01)
- Fixed compilation warning on WIN32-VC for G4VSurface.cc.
- Not including G4Tet.
06-Jul-2005, G.Cosmo (geom-specific-V07-01-00)
- Added new shape G4Ellipsoid. Coworks with tag "greps-V07-01-00".
Contribution of G.Horton-Smith and G.Guerrieri.
Code cleanup, and added default arguments for cuts, added first
implementation of unit test.
- Corrected unit tests for twisted-box/trap.
- Not including G4Tet.
15-Jun-2005, J.Apostolakis
- Introduced new solid G4Tet, contribution of M.H.Mendenhall
and R.A.Weller, Vanderbilt University, USA.
29-Apr-2005, O.Link (geom-specific-V07-00-04)
- G4TwistedSurface: fixed bug in GetAreaCode() affecting G4TwistedTubs.
04-Apr-2005, G.Cosmo (geom-specific-V07-00-03)
- Added test for Number-Of-Rotation-Steps in GetPolyhedron() for
G4VCSGfaceted, G4Hype and G4EllipticalTube (by J.Allison).
Requires tag "greps-V07-00-02".
- Added elementary implementation of CreatePolyhedron() for G4Hype,
G4TwistedBox, G4TwistedTubs, G4TwistedTrd, G4TwistedTrap.
- Some code cleanup.
18-Mar-2005, O.Link (geom-specific-V07-00-02)
- New generic framework for twisted solids G4TwistedBox, G4TwistedTrd and
G4TwistedTrap: inheriting now from the base class G4VTwistedFaceted.
- Extended G4TwistedTrap to support setups with different trapezoidal
endcaps with centres not necessarily on a line parallel to the z axis.
- Added G4TwistedTrd and general G4TwistedTrap as test cases in test.
03-Mar-2005, J.Allison
- Changed AddThis() to AddSolid() for all solids in the implementation
of DescribeYourselfTo(G4VGraphicsScene&).
01-Mar-2005, O.Link (geom-specific-V07-00-01)
- Fixed compilation warnings on WIN32-VC for G4VSurface.cc.
14-Feb-2005, O.Link (geom-specific-V07-00-00)
- Use new polynom approximations based on new solver based on Jenkins-Traub
algorithm, for twisted-box and twisted-trap.
- Fixed bug in the usage of 'fmod' and adopt special treatment for 'parallel'
events in G4TwistedBoxSide and G4TwistedTrapSide.
- Coworks with tag "global-V07-00-00".
08-Dec-2004, O.Link (geom-specific-V06-02-07)
- Extensions to twisted box/trap shapes to consider all 4 solutions
for determining correct intersections.
29-Nov-2004, O.Link (geom-specific-V06-02-06)
- G4TwistedTrapSide, G4TwistedBoxSide: improved (analytical) version
of GetPhiUAtX() method.
24-Nov-2004, O.Link (geom-specific-V06-02-05)
- Fixed bug in description of twisted trapezoid side.
12-Nov-2004, O.Link (geom-specific-V06-02-04)
- Added G4TwistedBox - a twisted box with twist angle alpha,
length a/2,b/2,L/2.
- Added G4TwistedTrap - a twisted trapezoid (still in debug state)
- Changed in G4VSurface.icc:
- GetNeighbours(): corrected axiscode (was returning the wrong neighbours)
- SetNeighbours(): fixed problem #685 (index out of range)
- Added tests for G4TwistedBox and G4TwistedTrap in specific/test.
- Added G4TwistedBox and G4TwistedTrap in system testing, test10.
22-Oct-2004, D.C.Williams (geom-specific-V06-02-03)
- Fix in G4PolyconeSide::Inside for points at radius = 0 for phi slides
solids with an inner radius. Addresses problem report #598.
10-Oct-2004, J.Allison (geom-specific-V06-02-02)
- Added GetPolyhedron, a smart access function that creates a G4Polyhedron
on request and stores for future access. A null pointer means "not
available".
22-Sep-2004, G.Cosmo (geom-specific-V06-02-01)
- Added implementation of GetCubicVolume() with cashing mechanism for
solids: G4EllipticalTube, G4Hype, G4Polyhedra, G4Polycone, G4TwistedTubs.
01-Sep-2004, D.C.Williams (geom-specific-V06-02-00)
- G4VCSGfaceted: fix for rare anomalous situation in which
DistanceToOut(p,v,..) will report kInfinity, make an additional check
for the point p on the surface, in which case will report zero.
Addresses problem observed in G4Polyhedra and reported in #650.
07-Jun-2004, G.Cosmo (geom-specific-V06-01-04)
- Fixed compilation problem in G4TwistedSurface.cc on WIN32-VC.
28-May-2004, G.Cosmo (geom-specific-V06-01-03)
- Fixed archiving problem on WIN32-VC7: replaced structs with classes
in G4VSurface.
- Replaced misleading names for masks in G4VSurface and moved inlined
methods of nested classes to .cc.
25-May-2004, G.Cosmo (geom-specific-V06-01-02)
- Fixed compilation problem on SUN-CC. Made EValidate enum public in
G4VSurface.hh.
24-May-2004, G.Cosmo (geom-specific-V06-01-01)
- Removed compilation warnings and minor cleanup...
19-May-2004, O.Link (geom-specific-V06-01-00)
- First implementation of a framework for twisted surfaces, integrated from
the original version of Kotoyo Hoshina (hoshina@hepburn.s.chiba-u.ac.jp)
implemented in the 'Jupiter' application.
o Includes new specific twisted shape: G4TwistedTubs.
o New classes: G4VSurface, G4TwistedSurface, G4HyperbolicSurface,
G4FlatSurface, G4TwistedTubs.
o Cleanup of original code (debugging messages, compiler errors, migration
of g4std to new convention...)
o New organisation of class G4TwistedTubs: now independent of XXXSurface;
removed backpointer 'fSolid' from XXXSurface to G4TwistedTubs.
o New form of constructors in G4TwistedSurface, G4HyperbolicSurface and
G4FlatSurface.
o Change in G4TwistedSurface::DistanceToIn(p,v,...): roundoff correction.
12-Jan-2004, G.Cosmo (geom-specific-V06-00-00)
- G4PolyhedraSide.cc: fixed bug in which particles could "leak" out the
center of a face if inner radius = 0.
Fixes problem report #547. (D.Williams)
22-Nov-2003, G.Cosmo (geom-specific-V05-02-07)
- Fixed upper bound for protection check introduced in G4Polycone and
G4Polyhedra constructors.
17-Nov-2003, G.Cosmo (geom-specific-V05-02-06)
- Added protections in G4Polycone and G4Polyhedra constructors for
invalid constructs with no contiguous segments in Z planes as input.
04-Nov-2003, G.Cosmo (geom-specific-V05-02-05)
- Added SetOriginalParameters() method to G4Polycone and G4Polyhedra.
03-Nov-2003, G.Cosmo (geom-specific-V05-02-04)
- Code cleanup and headers inclusion review
(replaced by forward declarations where necessary).
28-Oct-2003, G.Cosmo (geom-specific-V05-02-03)
- Migrated to new G4Exception scheme.
20-Oct-2003, G.Cosmo (geom-specific-V05-02-02)
- Added Reset() method in G4Polycone and G4Polyhedra to allow
recalculation and reshape of the solid if new original_parameters
are provided.
30-Sep-2003, G.Cosmo (geom-specific-V05-02-01)
- Updated GNUmakefile for unit tests, according to new structure
introduced in "geometry-V05-02-00".
16-Jun-2003, G.Cosmo (geom-specific-V05-02-00)
- Added accessors to original_parameters for G4Polycone and G4Polyhedra.
Made G4PolyconeHistorical and G4PolyhedraHistorical classes in global
scope (temporary solution).
28-Mar-2003, G.Cosmo (geom-specific-V05-00-00)
- Fixed initialisation of base class in copy contructor for:
G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide.
- Fixed trivial pedantic warnings on G4Polycone and G4Polyhedra.
30-Oct-2002, G.Cosmo (geom-specific-V04-01-01)
- Fixed un-initialised data members in constructors of classes:
G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide,
G4ReduciblePolygon, G4VCSGfaceted.
28-Oct-2002, G.Cosmo (geom-specific-V04-01-00)
- Added implementation of StreamInfo() to comply with new interface for
G4VSolid in "geommng-V04-01-03".
- Created .icc files for G4EllipticalTube, G4Polyhedra and G4Polycone.
- Some cosmetic changes to code formatting: removed <TAB> characters and adopt
uniform code indentation.
08-May-2002, J.Allison (geom-solids-specific-V04-00-01)
- Implemented G4EllipticalTube::CreatePolyhedron.
10-Jan-2002, G.Cosmo (geom-solids-specific-V04-00-00)
- Updated unit tests.
20-Apr-2001, G.Cosmo (geom-solids-specific-V03-01-00)
- Migration to STL vector:
o In G4ClippablePolygon, migrated G4ThreeVectorList typedef and
made private to class.
03-Apr-2001, D.Williams (geom-solids-specific-V03-00-01)
-----------------------
- G4IntersectingCone.cc: make small adjustment to help with roundoff error
in LineHitsCone1() and LineHitsCone2().
08-Jan-2001, D.Williams (geom-solids-specific-V03-00-00)
-----------------------
- G4Hype.cc: Added protecton against zero v.z in DistanceToOut.
20-Nov-2000, G.Cosmo (geom-solids-specific-V02-00-04)
---------------------
- 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.
13-Nov-2000, G.Cosmo (geom-solids-specific-V02-00-03)
--------------------
- Added definition of empty constructor for G4ClippablePolygon which
went lost by mistake...
02-Nov-2000, G.Cosmo (geom-solids-specific-V02-00-02)
--------------------
- QA code revision and cleanup (+fixes from CodeWizard filtering):
o Avoid inline virtual methods.
o General cosmetics for Software Reference Manual.
23-Oct-2000, D.Williams (geom-solids-specific-V02-00-01)
-----------------------
- G4IntersectingCone.cc: the check for a zero radical has been adjusted to be
less sensitive to round off error in LineHitsCone1(), LineHitsCone2().
This fixes a problem discovered in BaBar.
12-Sep-2000, G.Cosmo (geom-solids-specific-V02-00-00)
--------------------
- Organised comments to headers for Software Reference Manual.
27-Jun-2000, G.Cosmo (geom-solids-specific-V01-01-02)
--------------------
- G4Polycone[.hh.cc]: better fix for bug-report #110.
Removed struct and replaced with class.
26-Jun-2000, G.Cosmo (geom-solids-specific-V01-01-01)
--------------------
- G4Polycone.cc: fixed memory leak by invoking destruction of member
enclosingCylinder, which was not cleaned up in the destructor.
This fixes problem report #107.
- G4Polycone.hh: added forward declaration of struct G4PolyconeHistorical
and made it friend, for porting on KCC --strict. This fixes report #110.
- G4Polyhedra.hh: fixed typo in method name. Changed GetNumSIde() to
GetNumSide(). This fixes problem report #105.
08-Jun-2000, G.Gracia
---------------------
- G4VCSGfaceted.cc: fix for Win/NT in function GetExtent().
27-Apr-2000, G.Cosmo
--------------------
- Removed dependency over the CSG domain in GNUmakefile.
18-Apr-2000, D.Williams
-----------------------
- Removed meaningless "const" specifiers from methods in G4ClippablePolygon,
and G4EllipticalTube.
- G4EllipticalTube, G4Hype and G4VCSGfaceted now inherit directly
from G4VSolid (before was G4CSGSolid).
- Reintroduced GetExtent() in G4EllipticalTube, G4Hype and G4VCSGfaceted
(in principle, not needed).
- Modified assertations in unit test testG4Hype.cc.
11-Apr-2000, 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).
05-Apr-2000, G.Cosmo (geom-solids-specific-V01-01-00)
--------------------
- Restructured solids/CSG domain, by moving to "specific" the following
classes: G4ClippablePolygon, G4EnclosingCylinder, G4Hype, G4PolyPhiFace,
G4Polycone, G4PolyconeSide, G4Polyhedra, G4PolyhedraSide, G4ReduciblePolygon,
G4IntersectingCone, G4SolidExtentList, G4VCSGface, G4VCSGfaceted.
The new module's library for "specific" is now called 'G4specsolids'.
- Created specific/test directory and moved testG4Hype.cc and testG4Polycone,cc
from CSG/test.
- Organised class description comments for the Software Reference Manual
and added CVS headers to files.
29-Mar-2000, D.Williams
-----------------------
- Added first implementation of G4EllipticalTube.
It defines a simple elliptical tube, as in geant3 "ELTU".
Files introduced: G4EllipticalTube[.hh.cc].
25-Mar-2000, G.Cosmo
--------------------
- History file created.