$Id: History,v 1.62 2007/10/24 08:19:11 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= 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 category-tags. It DOES NOT substitute the CVS log-message one should put at every committal in the CVS repository ! Please keep a summary of these message in geometry/History! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- Oct 24, 2007 V.Grichine geom-bool-V09-00-00 - Improved response of Inside() for G4SubtractionSolid and G4UnionSolid according to suggestion in problem report #979. May 18, 2007 G.Cosmo geom-bool-V08-03-00 - Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. - Updated unit tests. - Coworks with tag "global-V08-03-03". Nov 08, 2006 G.Cosmo geom-bool-V08-01-02 - Fixed compilation problems on SUN-CC for changes in the last tag. Added inclusion of header in G4IntersectionSolid.cc and G4UnionSolid.cc. Nov 06, 2006 J.Allison geom-bool-V08-01-01 - G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid: fixed CreatePolyhedron() for case of component that does not have a G4Polyhedron representation. - Added checks for point on boolean surface to unit tests testG4DisplacedSolid and testG4SubtractionSolid (V.Grichine). Oct 19, 2006 G.Cosmo geom-bool-V08-01-00 - Added GetSurfaceArea() method, accessors and modifiers to base class G4BooleanSolid, implementing the caching mechanism as for volumes. May 03, 2006 V.Grichine geom-bool-V08-00-00 - Fix in G4IntersectionSolid::CalculateExtent() for the correctly handling extent computation for nested intersections and always respect the rule pMax > pMin. Nov 09, 2005 G.Cosmo geom-bool-V07-01-01 - Added fake default constructor for concrete solids types and relevant utility classes, for usage of direct object persistency. Sep 15, 2005 V.Grichine geom-bool-V07-01-00 - Added concrete implementation for GetPointOnSurface() to G4BooleanSolid and G4DisplacedSolid. - Updated unit tests testG4DisplacedSolid and testG4IntersectionSolid. May 04, 2005 V.Grichine geom-bool-V07-00-03 - Make the new implementation of Inside() with surface-normal for edges/vertices the deafult one. Removed G4NEW_SURF_NORMAL compilation flag. Mar 23, 2005 J.Allison geom-bool-V07-00-02 - Added test for Number-Of-Rotation-Steps in GetPolyhedron() for G4DisplacedSolid and G4BooleanSolid. Requires tag "greps-V07-00-02". Mar 10, 2005 V.Grichine geom-bool-V07-00-01 - Modified Inside(p) G4SubtractionSolid and G4UnionSolid, to fix inconsistency for non-zero sum of surface-normals. Available only through activation of G4NEW_SURF_NORMAL compilation flag. - Updated unit tests. Mar 03, 2005 J.Allison - Changed AddThis() to AddSolid() in the concrete implementations of DescribeYourselfTo(G4VGraphicsScene&) for all solids. Use the newly available CreatePolyhedron() for components of Boolean solids, instead of GetPolyhedron(). Feb 22, 2005 V.Grichine geom-bool-V07-00-00 - Fix in G4IntersectionSolid::DistanceToIn(p,v) to allow for correct simmetrical treatment of the solids' intersection. Algorithm reviewed as proposed by D.Bazzacco in problem report #723. - New unit test testBoolSurfaceInOut.cc for checking dIn-dOut and AB, BA booleans on surface. Oct 10, 2004 J.Allison geom-bool-V06-02-01 - 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-bool-V06-02-00 - Added specific implementation for G4BooleanSolid::GetCubicVolume() to cache the computed value. - Moved inline methods for G4BooleanSolid to .icc file. May 07, 2004 G.Cosmo geom-bool-V06-01-00 - Moved G4ReflectedSolid class to "management" module. - Moved G4ReflectionFactory class to "volumes" module. - Moved unit test for reflection to "volumes" module. - Coworks with tags: geommng-V06-01-00, geomvol-V06-01-00 and geomdiv-V06-01-00. Feb 27, 2004 V.Grichine geom-bool-V06-00-00 - G4UnionSolid.cc, G4SubtractionSolid.cc: fix in debug printout for SurfaceNomal(). Dec 01, 2003 G.Cosmo geom-bool-V05-02-04 - G4ReflectedSolid.cc: fixed trivial leak in constructor. Nov 03, 2003 G.Cosmo geom-bool-V05-02-03 - Code cleanup and headers inclusion review (replaced by forward declarations where necessary). Oct 28, 2003 G.Cosmo geom-bool-V05-02-02 - Migration to new G4Exception scheme. Oct 28, 2003 J.Apostolakis - Modified test/GNUmakefile to delete un-necessary directories. It no longer refers to navigator (old volumes), but includes intercoms (for G4VVisManager). Oct 9, 2003 V.Grichine geom-bool-V05-02-01 - Fixes to default safety to zero in DistIn/Out(p) methods. Note: Using previous test GNUmakefile (to be corrected). Sep 30, 2003 G.Cosmo geom-bool-V05-02-00 - Updated GNUmakefile for unit tests, according to new structure introduced in "geometry-V05-02-00". Jun 12, 2003 G.Cosmo geom-bool-V05-01-02 - G4ReflectionFactory: o Made public accessors: GetConstituentLV(), GetReflectedLV(), IsConstituent() and IsReflected(). o Added accessor GetReflectedVolumesMap() to access list of reflected volumes. May 22, 2003 G.Cosmo geom-bool-V05-01-01 - Implementations for Set/GetScalePrecision() in G4ReflectionFactory missing! Now fixed. May 12, 2003 G.Cosmo geom-bool-V05-01-00 - Added set/get methods for scale precision in G4ReflectionFactory. Mar 25, 2003 G.Cosmo geom-bool-V05-00-01 - Fixed trivial strict pedantic warnings in G4ReflectedSolid.cc and G4ReflectionFactory.cc. - Minor fixes to unit tests. Jan 27, 2003 G.Cosmo geom-bool-V05-00-00 - G4ReflectionFactory[.hh.cc] (courtesy of I.Hrivnacova): o Added set/get functions Set/GetVolumesNameExtension() for volume-name extension. By default now the factory assigns "_refl" postfix to name of reflected volumes. o Assumed less strict condition in the CheckScale() method, to avoid precision problems with imported rotation matrices. Oct 29 2002 Gabriele Cosmo geom-bool-V04-01-01 - Added method CleanTransformations() to G4DisplacedSolid and corrected implementation in destructor of G4BooleanSolid to not call for deletion of G4VSolid in the case where displacement is used. This fixes a problem noticed on Linux-g++ at application closeout for double deletion of a solid in such special case. Oct 28 2002 Gabriele Cosmo geom-bool-V04-01-00 - Added implementation of StreamInfo() to comply with new interface for G4VSolid in "geommng-V04-01-03". - Some cosmetic changes to code formatting. - Extended unit tests to include new user test-cases (V.Grichine). May 11 2002 Vladimir Grichine geom-bool-V04-00-05 - G4ReflectedSolid.cc: bounding-box like algorithm for CalculateExtent(). Apr 16 2002 Vladimir Grichine geom-bool-V04-00-04 - G4ReflectedSolid.cc: enhanced algorithm for CalculateExtent(), now passing all basic unit tests. - Updated unit test for G4ReflectedSolid, testG4ReflectedSolid.cc Mar 26 2002 Vladimir Grichine geom-bool-V04-00-03 - G4ReflectedSolid.cc: modified implementation of CalculateExtent() to properly consider transformation of reflected extent. Feb 15 2002 Vladimir Grichine geom-bool-V04-00-02 - G4ReflectedSolid[.hh.cc]: o Defined new methods Set/GetTransform3D() and Set/GetDirectTransform3D() for defining/accessing the real reflected transformation o Moved methods for G4AffineTransform to protected. Feb 07 2002 Gabriele Cosmo geom-bool-V04-00-01 - G4ReflectionFactory.cc: fixed bug causing repetition of daughter volumes. Jan 10 2002 Gabriele Cosmo geom-solid-bool-V04-00-00 - Moved all verbosity mode warnings to G4BOOLDEBUG and commented exceptions. - Activated G4BOOLDEBUG mechanism in GNUmakefile. - Fixed unit tests. Nov 08 2001 Gabriele Cosmo geom-solid-bool-V03-02-02 - Fix for verbosity in G4ReflectionFactory.cc. Reduced of one level. Oct 18 2001 Gabriele Cosmo geom-solid-bool-V03-02-01 - Introduced first implementation of classes G4ReflectedSolid and G4ReflectionFactory for reflections of positioned volumes (courtesy of V.Grichine and I.Hrivnacova). - Fixed bug in G4ReflectedSolid::CreatePolyhedron(). Aug 13 2001 Vladimir Grichine geom-solid-bool-V03-02-00 - Introduced G4BOOLDEBUG flag and replaced G4Exception statements with simple warnings to G4cerr for rare occurences of anomalous conditions. May 30 2001 Vladimir Grichine geom-solid-bool-V03-01-00 - G4IntersectionSolid: fix in DistanceToIn(p,v) resolving bug observed in problem report #153. Mar 19 2001 Gabriele Cosmo geom-solid-bool-V03-00-03 - G4IntersectionSolid: o fix in CalculateExtent() for computation of pMin and pMax, to avoid assignment in case CalculateExtent() of one component solid fails. o fix in Inside() to return kOutside in case first component solid's Inside() returns kOutside. - G4UnionSolid: o fix in CalculateExtent() for computation of pMin and pMax: initialised local variables. Jan 31 2001 Gabriele Cosmo geom-solid-bool-V03-00-02 - Fix in G4UnionSolid::DistanceToOut(p,v,...) for assignment of argument *n. Previous fix was incomplete! Jan 23 2001 Gabriele Cosmo geom-solid-bool-V03-00-01 - Fixed wrong labels for G4Exception calls in G4UnionSolid.cc and G4SubtractionSolid.cc to identify the correct class. Fixes bug report #200. Jan 08 2001 Vladimir Grichine geom-solid-bool-V03-00-00 - Fix in G4UnionSolid::DistanceToOut(p,v,...) for assignment of argument *n to happen only if calcNorm is false. (courtesy of D.Williams) - Updated unit tests testG4IntersectionSolid.cc, testG4SubtractionSolid.cc and test/testG4UnionSolid.cc. Nov 22 2000 Vladimir Grichine geom-solid-bool-V02-00-03 - Added new set methods for matrix/vectors to G4DisplacedSolid: SetTransform(G4AffineTransform&), SetDirectTransform(G4AffineTransform&), SetFrameRotation(const G4RotationMatrix&), SetFrameTranslation(const G4ThreeVector&), SetObjectRotation(const G4RotationMatrix&), SetObjectTranslation(const G4ThreeVector&). Nov 20 2000 Gabriele Cosmo geom-solid-bool-V02-00-02 - 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. Nov 2 2000 Gabriele Cosmo geom-solid-bool-V02-00-01 - QA code revision and cleanup (+fixes from CodeWizard filtering): o Added (private) declarations of copy constructor and assignment operator where needed. o Changed virtual functions to non-inline wherever's the case. Sep 13 2000 Vladimir Grichine geom-solid-bool-V02-00-00 - G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), where it is allowed for a point to be inside the solid. A message is thrown to cerr instead of a G4Exception. Jun 26 2000 Vladimir Grichine geom-solid-bool-V01-01-03 - Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...). validNorm flag was uncorrectly set to true. Fixes report #102. Jun 6 2000 John Apostolakis geom-solid-bool-V01-01-02 - Protecting the use of pointers validNorm and n, if calcNorm is false Jun 6 2000 John Allison geom-solid-bool-V01-01-01 - Re-enabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid and G4SubtractionSolid. Coworks with greps-V01-01-04. May 26 2000 John Allison geom-solid-bool-V01-01-00 - Disabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid and G4SubtractionSolid. It now temporarly returns a NULL pointer. Visualisation of Boolean solids is therefore temporarly disabled, pending a definitive fix in graphics_reps. Files G4UnionSolid.cc, G4SubtractionSolid.cc and G4IntersectionSolid.cc are included in the branch-tag "boolean_nopoly_branch". Apr 27 2000 Gabriele Cosmo - Reorganised comments for the Software Reference Manual. - Added CVS headers and standard G4 header where missing. Apr 11 2000 John Allison - CreatePolyhedron implemented for BooleanSolids. - G4DisplacedSolid: reversed implementation of GetFrameRotation and GetObjectRotation, removing inappropriate invertion. - G4DisplacedSolid::GetConstituentMovedSolid() made const. Jan 19 2000 Gabriele Cosmo geom-solid-bool-V01-00-00 - Syncronized file versions with HEAD (essentially CVS headers changes) - Fixed cases of G4std::min which were not migrated on the HEAD in files: G4UnionSolid.cc and G4IntersectionSolid.cc Nov 24 1999 geom-solid-bool-V00-01-05 - Small fix in src/G4DisplacedSolid.cc to the return type (const G4AffineTransform --> G4AffineTransform) to conform with the specification of the class. Nov 19 1999 geom-solid-bool-V00-01-04 - Fixes from Vladimir, and additional tests Nov 10 1999 geom-solid-bool-V00-01-03b - Renamed GetConstituentSolid to GetConstituentMovedSolid in G4DisplacedSolid to avoid clashing with method that gets the contituents of a G4BooleanSolid. Nov 10 1999 geom-solid-bool-V00-01-03a - Tag with additional methods for Persistency Nov 10 1999 geom-solid-bool-V00-01-03-cand New method: Get Object Rotation/Translation methods in Displaced Solid Nov 9 1999 geom-solid-bool-V00-01-02-cand - Tag with additional methods for Visualisation G4DisplacedSolid, G4BooleanSolid Added methods to access data members: Get Constituent Solid (int) for Boolean Solid Get Constituent Solid for Displaced Solid Get Frame Rotation/Translation methods in Displaced Solid Dec 1 1998 John Apostolakis geom-boolean-4-ja Code portability changes. Nov 27 1998 J.Apostolakis & V.Grichine geom-boolean-3-vg Fixes agreed in code review were implemented.