$Id: History,v 1.94 2006/06/20 10:09:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= Geant4 - an Object-Oriented Toolkit for Simulation in HEP ========================================================= Sub-Category History file ------------------------- This file should be used by G4 developers and category coordinators to briefly summarize all major modifications introduced in the code and keep track of all directory-tags. It DOES NOT substitute the CVS log-message one should put at every committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- 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 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.