Import Geant4 4.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:18:25 +02:00
parent 36c080dca6
commit 921d3b1cda
3990 changed files with 185376 additions and 82884 deletions
+24 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.25 2001/06/15 11:59:35 gcosmo Exp $
$Id: History,v 1.31 2001/08/13 14:08:28 gcosmo Exp $
----------------------------------------------------------------------------
=========================================================
@@ -17,6 +17,29 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
01/08/2001 : R. Chytracek breps-V03-02-03
- G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi and
all RMINs = 0.0. In this case the inner planes are not created.
More than 2 z-planes and inner planes are not created whenever two
consecutive RMINs are = 0.0.
Fixes problem report #266.
20/07/2001 : G. Cosmo breps-V03-02-02
- Still fixed for ambiguous use of casts for G4Point3D, G4ThreeVector
and G4Vector3D types. Fixed compilation warnings detected with gcc-2.95-3.
Modified files: G4Axis2Placement3D.icc, G4BREPSolid.cc, G4BREPSolidBox.cc,
G4BREPSolidPCone.cc, G4BREPSolidPolyhedra.cc
17/07/2001 : G. Cosmo breps-V03-02-01
- Fix in G4BSplineCurve::Init() for initialisation of point vector. Replaced
usage of 'reserve' with explicit initialisation of components in collection.
11/07/2001 : G. Cosmo breps-V03-02-00
- Fixes for overloading ambiguity on SUN-CC with new CLHEP-1.7, files:
G4BREPSolidPolyhedra.cc, G4BREPSolidPCone.cc, G4BREPSolidCylinder.cc
and G4BREPSolidCone.cc.
- Synchronized with HEAD.
15/06/2001 : G. Cosmo breps-V03-01-02
- Fixes to allow -ansi compilation on Linux-g++, gcc-2.95-2 compiler:
o G4Ray.cc: changed usage of hypot(x,y) to sqrt(x*x+y*y).
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Assembly.hh,v 1.7.2.1 2001/06/28 19:08:38 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Assembly.hh,v 1.8 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Assembly
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Assembly.icc,v 1.2.4.1 2001/06/28 19:08:38 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Assembly.icc,v 1.3 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Axis2Placement3D.hh,v 1.3.4.1 2001/06/28 19:08:38 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Axis2Placement3D.hh,v 1.4 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2Placement3D
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Axis2Placement3D.icc,v 1.4.4.1 2001/06/28 19:08:38 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Axis2Placement3D.icc,v 1.7 2001/07/20 11:52:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -59,9 +59,9 @@ void G4Axis2Placement3D::Init( const G4Vector3D& refDirection0 ,
pY = pZ.cross(pX); // normalized
// basis transformation
fromPlacementCoordinates= HepTranslate3D(location)
* G4Transform3D(HepXHat, HepYHat, HepZHat,
pX, pY, pZ);
fromPlacementCoordinates =
G4Translate3D(location0) *
G4Transform3D(HepXHat, HepYHat, HepZHat, pX, pY, pZ);
toPlacementCoordinates= fromPlacementCoordinates.inverse();
}
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolid.hh,v 1.8.4.1 2001/06/28 19:08:38 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolid.hh,v 1.9 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolid
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolid.icc,v 1.3.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolid.icc,v 1.4 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidBox.hh,v 1.4.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidBox.hh,v 1.5 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidBox
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidCone.hh,v 1.4.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidCone.hh,v 1.5 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidCone
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidCylinder.hh,v 1.4.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidCylinder.hh,v 1.5 2001/07/11 09:59:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidCylinder
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidOpenPCone.hh,v 1.4.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidOpenPCone.hh,v 1.5 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidOpenPCone
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidPCone.hh,v 1.5.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidPCone.hh,v 1.6 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidPCone
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidPolyhedra.hh,v 1.6.4.1 2001/06/28 19:08:39 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidPolyhedra.hh,v 1.7 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidPolyhedra
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidSphere.hh,v 1.5.4.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidSphere.hh,v 1.6 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidSphere
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidTorus.hh,v 1.4.4.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidTorus.hh,v 1.5 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BREPSolidTorus
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineCurve.hh,v 1.9.2.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineCurve.hh,v 1.10 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineCurve
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineCurve.icc,v 1.5.2.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineCurve.icc,v 1.6 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineCurveWithKnots.hh,v 1.3.4.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineCurveWithKnots.hh,v 1.4 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineCurveWithKnots
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineSurface.hh,v 1.9.4.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineSurface.hh,v 1.10 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineSurface.icc,v 1.3.4.1 2001/06/28 19:08:40 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineSurface.icc,v 1.4 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BSplineSurfaceWithKnots.hh,v 1.2.4.1 2001/06/28 19:08:41 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BSplineSurfaceWithKnots.hh,v 1.3 2001/07/11 09:59:31 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurfaceWithKnots
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BezierSurface.hh,v 1.5.4.1 2001/06/28 19:08:41 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BezierSurface.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BezierSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BezierSurface.icc,v 1.2.4.1 2001/06/28 19:08:41 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BezierSurface.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BoundingBox3D.hh,v 1.4.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BoundingBox3D.hh,v 1.5 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BoundingBox3D
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BoundingBox3D.icc,v 1.2.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BoundingBox3D.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CircularCurve.hh,v 1.6.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CircularCurve.hh,v 1.7 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CircularCurve
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CircularCurve.icc,v 1.4.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CircularCurve.icc,v 1.5 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CompositeCurve.hh,v 1.5.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CompositeCurve.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CompositeCurve
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CompositeCurve.icc,v 1.3.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CompositeCurve.icc,v 1.4 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Conic.hh,v 1.5.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Conic.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Conic
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Conic.icc,v 1.2.4.1 2001/06/28 19:08:42 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Conic.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ConicalSurface.hh,v 1.7.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ConicalSurface.hh,v 1.8 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ConicalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ConicalSurface.icc,v 1.2.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ConicalSurface.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ControlPoints.hh,v 1.5.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ControlPoints.hh,v 1.6 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ControlPoints
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ControlPoints.icc,v 1.1.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ControlPoints.icc,v 1.2 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ConvexHull.hh,v 1.4.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ConvexHull.hh,v 1.5 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ConvexHull
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Curve.hh,v 1.7.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Curve.hh,v 1.8 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Curve
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Curve.icc,v 1.4.4.1 2001/06/28 19:08:43 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Curve.icc,v 1.5 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CurvePoint.hh,v 1.4.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CurvePoint.hh,v 1.5 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CurvePoint
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CurvePoint.icc,v 1.2.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CurvePoint.icc,v 1.3 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CurveRayIntersection.hh,v 1.3.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CurveRayIntersection.hh,v 1.4 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CurveRayIntersection
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CurveRayIntersection.icc,v 1.2.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CurveRayIntersection.icc,v 1.3 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CurveVector.hh,v 1.4.2.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CurveVector.hh,v 1.5 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CurveVector
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CylindricalSurface.hh,v 1.7.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CylindricalSurface.hh,v 1.8 2001/07/11 09:59:33 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4CylindricalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4CylindricalSurface.icc,v 1.2.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4CylindricalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Ellipse.hh,v 1.7.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Ellipse.hh,v 1.8 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Ellipse
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Ellipse.icc,v 1.5.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Ellipse.icc,v 1.6 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FConicalSurface.hh,v 1.10.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FConicalSurface.hh,v 1.11 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4FConicalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FConicalSurface.icc,v 1.2.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FConicalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FCylindricalSurface.hh,v 1.10.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FCylindricalSurface.hh,v 1.11 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4FCylindricalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FCylindricalSurface.icc,v 1.2.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FCylindricalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FPlane.hh,v 1.10.4.1 2001/06/28 19:08:44 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FPlane.hh,v 1.11 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4FPlane
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FPlane.icc,v 1.3.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FPlane.icc,v 1.4 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Globals.hh,v 1.3.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Globals.hh,v 1.4 2001/07/11 09:59:34 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// Author: A.Breakstone
// Adaptation: J.Sulkimo, P.Urban.
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Hyperbola.hh,v 1.7.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Hyperbola.hh,v 1.8 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Hyperbola
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Hyperbola.icc,v 1.6.2.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Hyperbola.icc,v 1.7 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4KnotVector.hh,v 1.6.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4KnotVector.hh,v 1.7 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4KnotVector
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4KnotVector.icc,v 1.2.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4KnotVector.icc,v 1.3 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Line.hh,v 1.6.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Line.hh,v 1.7 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Line
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Line.icc,v 1.6.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Line.icc,v 1.7 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4OsloMatrix.hh,v 1.4.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4OsloMatrix.hh,v 1.5 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4OsloMatrix
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4OsloMatrix.icc,v 1.2.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4OsloMatrix.icc,v 1.3 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Parabola.hh,v 1.7.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Parabola.hh,v 1.8 2001/07/11 09:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Parabola
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Parabola.icc,v 1.5.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Parabola.icc,v 1.6 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlacedSolid.hh,v 1.6.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlacedSolid.hh,v 1.7 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4PlacedSolid
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlacedSolid.icc,v 1.4.4.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlacedSolid.icc,v 1.5 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlacementVector.hh,v 1.4.2.1 2001/06/28 19:08:45 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlacementVector.hh,v 1.5 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4PlacementVector
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Plane.hh,v 1.4.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Plane.hh,v 1.5 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Plane
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Point3DVector.hh,v 1.5.2.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Point3DVector.hh,v 1.6 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Point3DVector
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PointRat.hh,v 1.8.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PointRat.hh,v 1.9 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4PointRat
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PointRat.icc,v 1.2.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PointRat.icc,v 1.3 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ProjectedSurface.hh,v 1.5.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ProjectedSurface.hh,v 1.6 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ProjectedSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ProjectedSurface.icc,v 1.2.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ProjectedSurface.icc,v 1.3 2001/07/11 09:59:36 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Ray.hh,v 1.5.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Ray.hh,v 1.6 2001/07/11 09:59:37 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Ray
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Ray.icc,v 1.4.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Ray.icc,v 1.5 2001/07/11 09:59:37 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4RectangularTrimmedSurface.hh,v 1.6.4.1 2001/06/28 19:08:46 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4RectangularTrimmedSurface.hh,v 1.7 2001/07/11 09:59:37 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4BezierSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4STEPEntity.hh,v 1.5.2.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4STEPEntity.hh,v 1.6 2001/07/11 09:59:37 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4STEPEntity
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Sort.hh,v 1.3.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Sort.hh,v 1.4 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SphericalSurface.hh,v 1.7.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SphericalSurface.hh,v 1.8 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4SphericalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SphericalSurface.icc,v 1.2.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SphericalSurface.icc,v 1.3 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Surface.hh,v 1.6.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Surface.hh,v 1.7 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4Surface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Surface.icc,v 1.2.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Surface.icc,v 1.3 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceBoundary.hh,v 1.5.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SurfaceBoundary.hh,v 1.6 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4SurfaceBoundary
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceBoundary.icc,v 1.3.2.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SurfaceBoundary.icc,v 1.4 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceList.hh,v 1.4.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SurfaceList.hh,v 1.5 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4SurfaceList
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceOfLinearExtrusion.hh,v 1.3.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SurfaceOfLinearExtrusion.hh,v 1.4 2001/07/11 09:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4SurfaceOfLinearExtrusion
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceOfRevolution.hh,v 1.3.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4SurfaceOfRevolution.hh,v 1.4 2001/07/11 09:59:39 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4SurfaceOfRevolution
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ThreeMat.hh,v 1.7.4.1 2001/06/28 19:08:47 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ThreeMat.hh,v 1.8 2001/07/11 09:59:39 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ThreeMat
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ToroidalSurface.hh,v 1.5.4.1 2001/06/28 19:08:48 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ToroidalSurface.hh,v 1.6 2001/07/11 09:59:39 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4ToroidalSurface
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4ToroidalSurface.icc,v 1.2.4.1 2001/06/28 19:08:48 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4ToroidalSurface.icc,v 1.3 2001/07/11 09:59:39 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4UVHit.hh,v 1.5.4.1 2001/06/28 19:08:48 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4UVHit.hh,v 1.6 2001/07/11 09:59:39 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// Class G4UVHit
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Assembly.cc,v 1.4.2.1 2001/06/28 19:08:49 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Assembly.cc,v 1.5 2001/07/11 09:59:40 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4Axis2Placement3D.cc,v 1.5.4.1 2001/06/28 19:08:49 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4Axis2Placement3D.cc,v 1.6 2001/07/11 09:59:40 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolid.cc,v 1.18.2.1 2001/06/28 19:08:49 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolid.cc,v 1.20 2001/07/20 11:52:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -784,8 +784,7 @@ G4ThreeVector G4BREPSolid::SurfaceNormal(const G4ThreeVector& Pt) const
// at a point on the surface
// Note : the sense of the normal depends on the sense of the surface
G4Vector3D n(0,0,0);
G4int iplane;
G4int iplane;
G4Vector3D norm;
G4Ray r( Pt, G4Vector3D(1, 0, 0) );
@@ -801,7 +800,7 @@ G4ThreeVector G4BREPSolid::SurfaceNormal(const G4ThreeVector& Pt) const
// calcul of the normal at this point
norm = SurfaceVec[iplane]->SurfaceNormal(Pt);
n = G4ThreeVector ( norm.x(), norm.y(), norm.z() );
G4ThreeVector n( norm.x(), norm.y(), norm.z() );
n = n.unit();
return n;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidBox.cc,v 1.4.4.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidBox.cc,v 1.6 2001/07/20 12:47:52 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -98,10 +98,10 @@ EInside G4BREPSolidBox::Inside(register const G4ThreeVector& Pt) const
// Get the bounding box extent
G4Point3D min = bbox->GetBoxMin();
min = min + -(0.5*kCarTolerance);
min += G4Point3D(-0.5*kCarTolerance,-0.5*kCarTolerance,-0.5*kCarTolerance);
G4Point3D max = bbox->GetBoxMax();
max = max + (0.5*kCarTolerance);
max += G4Point3D(0.5*kCarTolerance,0.5*kCarTolerance,0.5*kCarTolerance);
if( (Point.x() < min.x() || Point.x() > max.x()) ||
(Point.y() < min.y() || Point.y() > max.y()) ||
@@ -20,9 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4BREPSolidCone.cc,v 1.5.2.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidCone.cc,v 1.7 2001/07/11 09:59:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -52,7 +51,7 @@ G4BREPSolidCone::G4BREPSolidCone(const G4String& name,
G4Vector3D tmporigin(origin);
G4Point3D tmppoint;
tmppoint= origin + (length*tmpaxis);
tmppoint= G4Point3D(origin) + (length*tmpaxis);
G4Point3D origin2(tmppoint.x(), tmppoint.y(), tmppoint.z());
tmppoint= origin2 + (large_radius*tmpaxis);
@@ -20,9 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4BREPSolidCylinder.cc,v 1.5.2.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidCylinder.cc,v 1.7 2001/07/11 09:59:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -72,7 +71,7 @@ G4BREPSolidCylinder::G4BREPSolidCylinder(const G4String& name,
// Creation of the second circular surface
G4Point3D origin2 = G4Point3D( origin + ( length*axis ) );
G4Point3D ArcStart2 = G4Point3D( origin2 + ( radius*direction ) );
G4Point3D ArcStart2 = origin2 + G4Point3D( radius*direction );
G4Vector3D axis2 = axis1;
tmp = new G4CircularCurve;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4BREPSolidOpenPCone.cc,v 1.5.4.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidOpenPCone.cc,v 1.6 2001/07/11 09:59:41 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -20,9 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4BREPSolidPCone.cc,v 1.18.2.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidPCone.cc,v 1.21 2001/07/20 11:52:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -459,8 +458,8 @@ EInside G4BREPSolidPCone::Inside(register const G4ThreeVector& Pt) const
// Find the point of intersection on the surface and the normal
// !!!! be carefull the distance is sqrt(dist) !!!!
G4ThreeVector IntersectionPoint = Pttmp + sqrt(dist)*Vtmp;
G4ThreeVector Normal = SurfaceVec[WhichSurface]->SurfaceNormal(IntersectionPoint);
G4Vector3D IntersectionPoint = Pttmp + sqrt(dist)*Vtmp;
G4Vector3D Normal = SurfaceVec[WhichSurface]->SurfaceNormal(IntersectionPoint);
if ( Normal*Vtmp > 0 ) return kInside;
return kOutside;
@@ -472,7 +471,7 @@ G4ThreeVector G4BREPSolidPCone::SurfaceNormal(const G4ThreeVector& Pt) const
// at a point on the surface
// Note : the sense of the normal depends on the sense of the surface
G4Vector3D n(0,0,0);
G4ThreeVector n(0,0,0);
G4int iplane;
G4int normflag = 0;
@@ -20,9 +20,8 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4BREPSolidPolyhedra.cc,v 1.15.4.1 2001/06/28 19:08:50 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4BREPSolidPolyhedra.cc,v 1.19 2001/08/01 21:32:59 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -40,6 +39,12 @@
//
// History
// -------
// Bugfix 266 by Radovan Chytracek:
// The situation when phi1 = 0 dphi1 = 2*pi and all RMINs = 0.0 is handled
// now. In this case the inner planes are not created. The fix goes even
// further this means it consideres more than 2 z-planes and inner planes
// are not created whenever two consecutive RMINs are = 0.0 .
//
// Corrections by S.Giani:
// - Xaxis now corresponds to phi=0
// - partial angle = phiTotal / Nsides
@@ -67,7 +72,7 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
G4double RMAX[] )
: G4BREPSolid(name)
{
G4int sections= num_z_planes - 1;
G4int sections = num_z_planes - 1;
if(dphi >= 2*pi-perMillion)
nb_of_surfaces = 2*(sections * sides) + 2;
@@ -75,7 +80,9 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
nb_of_surfaces = 2*(sections * sides) + 4;
SurfaceVec = new G4Surface*[nb_of_surfaces];
//SurfaceVec = new G4Surface*[nb_of_surfaces];
G4int MaxNbOfSurfaces = nb_of_surfaces;
G4Surface** MaxSurfaceVec = new G4Surface*[MaxNbOfSurfaces];
G4Vector3D Axis(0,0,1);
G4Vector3D XAxis(1,0,0);
@@ -104,6 +111,7 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
for(G4int b=0;b<sides;b++)
{
G4Point3DVector PointList(4);
// Create inner side
// Calc points for the planar surface boundary
// The order of the point give the sense
@@ -113,14 +121,26 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
PointList[2] = LocalOrigin + (Length*Axis) + (RMIN[a+1] * TmpAxis);
PointList[1] = LocalOrigin + (RMIN[a] * TmpAxis);
// Add to surface list and reverse sense
SurfaceVec[Count] = new G4FPlane( &PointList, 0, 0);
// We must check if a pair of two consecutive RMINs is not = 0.0
// which means no inner planes can exist!
if( RMIN[a] != 0.0 && RMIN[a+1] != 0.0 )
{
// Add to surface list and reverse sense
MaxSurfaceVec[Count] = new G4FPlane( &PointList, 0, 0);
}
else
{
// Insert nothing into the vector of sufaces, we'll replicate the vector anyway later
MaxSurfaceVec[Count] = 0;
// We need to reduce the number of planes by 1, one we have just skipped
nb_of_surfaces--;
}
Count++;
// Rotate axis back for the other surface point calculation
TmpAxis.rotateZ(-PartAngle);
// Create outer side
// Calc points for the planar surface boundary
// The order of the point give the sense
@@ -132,8 +152,8 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
PointList2[1] = LocalOrigin + (RMAX[a] * TmpAxis);
// Add to surface list and set sense
SurfaceVec[Count] = new G4FPlane(&PointList2);
MaxSurfaceVec[Count] = new G4FPlane(&PointList2);
Count++;
}
@@ -141,7 +161,6 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
}
// Create end planes
if(dphi >= 2*pi-perMillion)
{
// Create only end planes
@@ -163,13 +182,51 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
TmpAxis.rotateZ(-PartAngle);
}
// Add to surface list and set sense
SurfaceVec[nb_of_surfaces-2] =
new G4FPlane(&EndPointList, &InnerPointList);
if( RMIN[0] != 0.0 )
{
// Add to surface list and set sense
MaxSurfaceVec[MaxNbOfSurfaces-2] = new G4FPlane(&EndPointList, &InnerPointList);
}
else
{
// Add to surface list and set sense
MaxSurfaceVec[MaxNbOfSurfaces-2] = new G4FPlane(&EndPointList, 0);
}
if( RMIN[sections] != 0.0 )
{
// Add to surface list and reverse sense
MaxSurfaceVec[MaxNbOfSurfaces-1] = new G4FPlane(&EndPointList2, &InnerPointList2, 0);
}
else
{
// Add to surface list and reverse sense
MaxSurfaceVec[MaxNbOfSurfaces-1] = new G4FPlane(&EndPointList2, 0, 0);
}
// Add to surface list and reverse sense
SurfaceVec[nb_of_surfaces-1] =
new G4FPlane(&EndPointList2, &InnerPointList2, 0);
// Now let's replicate the relevant surfaces into polyhedra's vector of surfaces
SurfaceVec = new G4Surface*[nb_of_surfaces];
G4int sf = 0;
for( G4int srf = 0; srf < MaxNbOfSurfaces; srf++ )
{
if( MaxSurfaceVec[srf] != 0 )
{
if( sf < nb_of_surfaces )
{
SurfaceVec[sf] = MaxSurfaceVec[srf];
}
sf++;
}
}
if( sf != nb_of_surfaces )
{
G4cerr << "Bad number of surfaces!\a\n" << "sf: " << sf << " nb_of_surfaces: " << nb_of_surfaces << G4endl;
// Should we call G4Exception here ?
}
// Clean up the temporary vector of surfaces
delete [] MaxSurfaceVec;
}
else
{
@@ -194,7 +251,7 @@ G4BREPSolidPolyhedra::G4BREPSolidPolyhedra(const G4String& name,
// Create the lateral planars
TmpAxis = XAxis;
G4ThreeVector TmpAxis2 = XAxis;
G4Vector3D TmpAxis2 = XAxis;
TmpAxis.rotateZ(phi1);
TmpAxis2.rotateZ(phi1);
TmpAxis2.rotateZ(dphi);
@@ -347,7 +404,9 @@ EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const
// Check if point is inside the Polyhedra bounding box
if( !GetBBox()->Inside(Pttmp) )
{
return kOutside;
}
// Set the surfaces to active again
Reset();
@@ -370,21 +429,25 @@ EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const
// was not found before
if( (SurfaceVec[a]->Intersect(r)) & 1 )
{
// test if the point is on the surface
if(SurfaceVec[a]->GetDistance() <= kCarTolerance*kCarTolerance)
return kSurface;
// test if the point is on the surface
if(SurfaceVec[a]->GetDistance() <= kCarTolerance*kCarTolerance)
{
return kSurface;
}
// test if this intersection was found before
for(G4int i=0; i<a; i++)
if(SurfaceVec[a]->GetDistance() == SurfaceVec[i]->GetDistance())
{
samehit++;
break;
}
// test if this intersection was found before
for(G4int i=0; i<a; i++)
if(SurfaceVec[a]->GetDistance() == SurfaceVec[i]->GetDistance())
{
samehit++;
break;
}
// count the number of surfaces intersected by the ray
if(!samehit)
hits++;
// count the number of surfaces intersected by the ray
if(!samehit)
{
hits++;
}
}
}
}
@@ -392,9 +455,13 @@ EInside G4BREPSolidPolyhedra::Inside(register const G4ThreeVector& Pt) const
// if the number of surfaces intersected is odd,
// the point is inside the solid
if(hits&1)
{
return kInside;
}
else
{
return kOutside;
}
}
G4ThreeVector
@@ -404,7 +471,6 @@ G4BREPSolidPolyhedra::SurfaceNormal(const G4ThreeVector& Pt) const
// at a point on the surface
// Note : the sense of the normal depends on the sense of the surface
G4Vector3D n(0,0,0);
G4int iplane;
G4Vector3D norm;
@@ -421,7 +487,7 @@ G4BREPSolidPolyhedra::SurfaceNormal(const G4ThreeVector& Pt) const
// calcul of the normal at this point
norm = SurfaceVec[iplane]->SurfaceNormal(Pt);
n = G4ThreeVector ( norm.x(), norm.y(), norm.z() );
G4ThreeVector n( norm.x(), norm.y(), norm.z() );
n = n.unit();
return n;
@@ -439,7 +505,7 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(const G4ThreeVector& Pt) const
// Set the surfaces to active again
Reset();
// compute the shortest distance of the point to each surfaces
// Be careful : it's a signed value
for(a=0; a< nb_of_surfaces; a++)
@@ -462,11 +528,15 @@ G4double G4BREPSolidPolyhedra::DistanceToIn(const G4ThreeVector& Pt) const
delete[] dists;
if(Dist == kInfinity)
{
// the point is inside the solid or on a surface
return 0;
}
else
{
//return Dist;
return fabs(Dist);
}
}
G4double
@@ -500,25 +570,33 @@ G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt,
{
if(SurfaceVec[a]->IsActive())
{
G4int intersects = SurfaceVec[a]->Intersect(r);
// test if the ray intersect the surface
if( (SurfaceVec[a]->Intersect(r)) )
if( intersects != 0 )
{
// if more than 1 surface is intersected,
// take the nearest one
if( SurfaceVec[a]->GetDistance() < ShortestDistance )
if( SurfaceVec[a]->GetDistance() > halfTolerance )
{
ShortestDistance = SurfaceVec[a]->GetDistance();
}
else
{
// the point is within the boundary
// ignored it if the direction is away from the boundary
G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp);
G4double surfDistance = SurfaceVec[a]->GetDistance();
// if more than 1 surface is intersected,
// take the nearest one
if( surfDistance < ShortestDistance )
{
//if( surfDistance > halfTolerance )
if( surfDistance > halfTolerance*halfTolerance )
{
ShortestDistance = surfDistance;
}
else
{
// the point is within the boundary
// ignored it if the direction is away from the boundary
G4Vector3D Norm = SurfaceVec[a]->SurfaceNormal(Pttmp);
if( (Norm * Vtmp) < 0 )
ShortestDistance = SurfaceVec[a]->GetDistance();
}
if( (Norm * Vtmp) < 0 )
{
ShortestDistance = surfDistance;
}
}
}
}
}
}
@@ -526,10 +604,14 @@ G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt,
// Be carreful !
// SurfaceVec->Distance is in fact the squared distance
if(ShortestDistance != kInfinity)
{
return sqrt(ShortestDistance);
}
else
{
// no intersection, return kInfinity
return kInfinity;
}
}
G4double
@@ -575,37 +657,46 @@ G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt,
for(a=0; a< nb_of_surfaces; a++)
{
double surfDistance = SurfaceVec[a]->GetDistance();
if(SurfaceVec[a]->IsActive())
{
G4int intersects = SurfaceVec[a]->Intersect(r);
// test if the ray intersects the surface
if( (SurfaceVec[a]->Intersect(r)) )
if( intersects != 0 )
{
parity += 1;
// if more than 1 surface is intersected,
// take the nearest one
if( SurfaceVec[a]->GetDistance() < ShortestDistance )
if( SurfaceVec[a]->GetDistance() > halfTolerance*halfTolerance )
{
ShortestDistance = SurfaceVec[a]->GetDistance();
}
else
{
// the point is within the boundary: ignore it
parity -= 1;
}
}
// if more than 1 surface is intersected,
// take the nearest one
if( surfDistance < ShortestDistance )
{
if( surfDistance > halfTolerance*halfTolerance )
{
ShortestDistance = surfDistance;
}
else
{
// the point is within the boundary: ignore it
parity -= 1;
}
}
}
}
}
// Be careful !
// SurfaceVec->Distance is in fact the squared distance
if((ShortestDistance != kInfinity) && (parity&1))
{
return sqrt(ShortestDistance);
}
else
{
// if no intersection is found, the point is outside
// so return 0
return 0;
}
}
G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const
@@ -622,8 +713,9 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const
// calcul of the shortest distance of the point to each surfaces
// Be carreful : it's a signed value
for(a=0; a< nb_of_surfaces; a++)
dists[a] = SurfaceVec[a]->HowNear(Pt);
for(a=0; a< nb_of_surfaces; a++) {
dists[a] = SurfaceVec[a]->HowNear(Pt);
}
G4double Dist = kInfinity;
@@ -635,19 +727,22 @@ G4double G4BREPSolidPolyhedra::DistanceToOut(const G4ThreeVector& Pt) const
// function. But I don`t know if it is really needed because dToOut is
// called only if the point is inside )
for(a = 0; a < nb_of_surfaces; a++)
if( fabs(Dist) > fabs(dists[a]) )
for(a = 0; a < nb_of_surfaces; a++) {
if( fabs(Dist) > fabs(dists[a]) ) {
//if( dists[a] <= 0)
Dist = dists[a];
Dist = dists[a];
}
}
delete[] dists;
if(Dist == kInfinity)
if(Dist == kInfinity) {
// the point is ouside the solid or on a surface
return 0;
else
} else {
// return Dist;
return fabs(Dist);
}
}
// In graphics_reps:

Some files were not shown because too many files have changed in this diff Show More