Import Geant4 9.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:58:43 +02:00
parent 96c8bcd0af
commit b79225fb37
7544 changed files with 245407 additions and 91099 deletions
@@ -25,7 +25,7 @@
//
//
// $Id: G4ClippablePolygon.hh,v 1.11 2007/05/11 13:54:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ClippablePolygon.icc,v 1.4 2006/06/29 18:46:41 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -25,7 +25,7 @@
//
//
// $Id: G4Ellipsoid.hh,v 1.12 2007/05/18 07:39:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Ellipsoid.icc,v 1.7 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EllipticalCone.hh,v 1.11 2007/08/20 15:21:40 tnikitin Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4EllipticalCone.hh,v 1.12 2008/11/21 09:26:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -95,6 +95,9 @@ class G4EllipticalCone : public G4VSolid
// Access functions
//
inline G4double GetSemiAxisMax () const;
inline G4double GetSemiAxisX () const;
inline G4double GetSemiAxisY () const;
inline G4double GetZMax() const;
inline G4double GetZTopCut() const;
inline void SetSemiAxis (G4double x, G4double y, G4double z);
inline void SetZCut (G4double newzTopCut);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EllipticalCone.icc,v 1.6 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4EllipticalCone.icc,v 1.7 2008/11/21 09:26:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -44,6 +44,24 @@ G4double G4EllipticalCone::GetSemiAxisMax () const
return ySemiAxis > xSemiAxis ? ySemiAxis : xSemiAxis;
}
inline
G4double G4EllipticalCone::GetSemiAxisX () const
{
return xSemiAxis;
}
inline
G4double G4EllipticalCone::GetSemiAxisY () const
{
return ySemiAxis;
}
inline
G4double G4EllipticalCone::GetZMax() const
{
return zheight;
}
inline
G4double G4EllipticalCone::GetZTopCut() const
{
@@ -25,7 +25,7 @@
//
//
// $Id: G4EllipticalTube.hh,v 1.18 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file
@@ -25,7 +25,7 @@
//
//
// $Id: G4EllipticalTube.icc,v 1.4 2006/06/29 18:46:55 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -25,7 +25,7 @@
//
//
// $Id: G4EnclosingCylinder.hh,v 1.8 2006/06/29 18:46:58 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ExtrudedSolid.hh,v 1.5 2007/02/26 08:40:01 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4ExtrudedSolid.hh,v 1.7 2008/02/27 12:32:48 ivana Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -139,10 +139,13 @@ class G4ExtrudedSolid : public G4TessellatedSolid
G4bool IsSameLine(G4TwoVector p,
G4TwoVector l1, G4TwoVector l2) const;
G4bool IsSameLineSegment(G4TwoVector p,
G4TwoVector l1, G4TwoVector l2) const;
G4bool IsSameSide(G4TwoVector p1, G4TwoVector p2,
G4TwoVector l1, G4TwoVector l2) const;
G4bool IsPointInside(G4TwoVector a, G4TwoVector b, G4TwoVector c,
G4TwoVector p) const;
G4double GetAngle(G4TwoVector p0, G4TwoVector pa, G4TwoVector pb) const;
G4VFacet* MakeDownFacet(G4int ind1, G4int ind2, G4int ind3) const;
G4VFacet* MakeUpFacet(G4int ind1, G4int ind2, G4int ind3) const;
@@ -25,7 +25,7 @@
//
//
// $Id: G4ExtrudedSolid.icc,v 1.2 2007/02/19 10:17:45 ivana Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -26,7 +26,7 @@
//
// $Id: G4Hype.hh,v 1.15 2006/10/20 13:45:20 gcosmo Exp $
// $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Hype.icc,v 1.7 2006/06/29 18:47:03 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4IntersectingCone.hh,v 1.9 2006/06/29 18:47:05 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4IntersectingCone.hh,v 1.11 2008/04/28 08:59:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -85,6 +85,8 @@ class G4IntersectingCone
// type 1: r = A + B*z
// type 2: z = A + B*r
G4double half_kCarTolerance; // half of Surface Thickness
G4int LineHitsCone1( const G4ThreeVector &p, const G4ThreeVector &v,
G4double *s1, G4double *s2 );
G4int LineHitsCone2( const G4ThreeVector &p, const G4ThreeVector &v,
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Paraboloid.hh,v 1.3 2007/08/21 12:58:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Paraboloid.hh,v 1.4 2008/01/22 17:42:09 tnikitin Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -65,9 +65,9 @@ class G4Paraboloid : public G4VSolid
public: // with description
G4Paraboloid(const G4String& pName,
G4double pDz,
G4double pR1,
G4double pR2,
G4double pDz);
G4double pR2);
virtual ~G4Paraboloid();
@@ -25,7 +25,7 @@
//
//
// $Id: G4Paraboloid.icc,v 1.4 2007/08/21 12:58:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PolyPhiFace.hh,v 1.10 2007/05/11 13:54:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PolyPhiFace.hh,v 1.12 2008/05/15 11:41:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -57,6 +57,7 @@
#define G4PolyPhiFace_hh
#include "G4VCSGface.hh"
#include "G4TwoVector.hh"
class G4ReduciblePolygon;
@@ -66,6 +67,11 @@ struct G4PolyPhiFaceVertex
G4double rNorm,
zNorm; // r/z normal
G4ThreeVector norm3D; // 3D normal
// Needed for Triangulation Algorithm
//
G4bool ear;
G4PolyPhiFaceVertex *next,*prev;
};
struct G4PolyPhiFaceEdge
@@ -121,6 +127,12 @@ class G4PolyPhiFace : public G4VCSGface
inline G4VCSGface *Clone();
// Allocates on the heap a clone of this face.
G4double SurfaceArea();
G4double SurfaceTriangle( G4ThreeVector p1, G4ThreeVector p2,
G4ThreeVector p3, G4ThreeVector* p4);
G4ThreeVector GetPointOnFace();
// Auxiliary methods for determination of points on surface.
public: // without description
G4PolyPhiFace(__void__&);
@@ -155,6 +167,56 @@ class G4PolyPhiFace : public G4VCSGface
void CopyStuff( const G4PolyPhiFace &source );
protected:
// Functions used for Triangulation in Case of generic Polygone.
// The triangulation is used for GetPointOnFace()
G4double Area2( G4TwoVector a, G4TwoVector b, G4TwoVector c);
// Calculation of 2*Area of Triangle with Sign
G4bool Left( G4TwoVector a, G4TwoVector b, G4TwoVector c );
G4bool LeftOn( G4TwoVector a, G4TwoVector b, G4TwoVector c );
G4bool Collinear( G4TwoVector a, G4TwoVector b, G4TwoVector c );
// Boolean functions for sign of Surface
G4bool IntersectProp( G4TwoVector a, G4TwoVector b,
G4TwoVector c, G4TwoVector d );
// Boolean function for finding proper intersection of two
// line segments (a,b) and (c,d).
G4bool Between( G4TwoVector a, G4TwoVector b, G4TwoVector c );
// Boolean function for determining if point c is between a and b
// where the three points (a,b,c) are on the same line.
G4bool Intersect( G4TwoVector a, G4TwoVector b,
G4TwoVector c, G4TwoVector d );
// Boolean function for finding proper intersection or not
// of two line segments (a,b) and (c,d).
G4bool Diagonalie( G4PolyPhiFaceVertex *a, G4PolyPhiFaceVertex *b );
// Boolean Diagonalie help to determine if diagonal s
// of segment (a,b) is convex or reflex.
G4bool InCone( G4PolyPhiFaceVertex *a, G4PolyPhiFaceVertex *b );
// Boolean function for determining if b is inside the cone (a0,a,a1)
// where a is the center of the cone.
G4bool Diagonal( G4PolyPhiFaceVertex *a, G4PolyPhiFaceVertex *b );
// Boolean function for determining if Diagonal is possible
// inside Polycone or PolyHedra.
void EarInit();
// Initialisation for Triangulisation by ear tips.
// For details see "Computational Geometry in C" by Joseph O'Rourke.
void Triangulate();
// Triangulisation by ear tips for Polycone or Polyhedra.
// For details see "Computational Geometry in C" by Joseph O'Rourke.
// NOTE: a copy of the shape is made and this copy is reordered in
// order to have a list of triangles. This list is used by the
// method GetPointOnFace().
protected:
G4int numEdges; // Number of edges
@@ -163,11 +225,17 @@ class G4PolyPhiFace : public G4VCSGface
G4ThreeVector normal; // Normal unit vector
G4ThreeVector radial; // Unit vector along radial direction
G4ThreeVector surface; // Point on surface
G4ThreeVector surface_point; // Auxiliary point on surface used for
// method GetPointOnFace()
G4double rMin, rMax, // Extent in r
zMin, zMax; // Extent in z
G4bool allBehind; // True if the polycone/polyhedra
// is behind the place of this face
G4double kCarTolerance; // Surface thickness
G4double kCarTolerance;// Surface thickness
G4double fSurfaceArea; // Surface Area of PolyPhiFace
G4PolyPhiFaceVertex *triangles; // Auxiliary pointer to 'corners' used for
// triangulation. Copy structure, changing
// the structure of 'corners' (ear removal)
};
#include "G4PolyPhiFace.icc"
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolyPhiFace.icc,v 1.6 2006/06/29 18:47:10 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Polycone.hh,v 1.20 2007/04/26 06:18:20 tnikitin Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Polycone.hh,v 1.22 2008/05/15 13:45:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -115,7 +115,7 @@ class G4Polycone : public G4VCSGfaceted
G4double DistanceToIn( const G4ThreeVector &p ) const;
G4ThreeVector GetPointOnSurface() const;
void ComputeDimensions( G4VPVParameterisation* p,
const G4int n,
const G4VPhysicalVolume* pRep );
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polycone.icc,v 1.10 2006/06/29 18:47:14 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PolyconeSide.hh,v 1.10 2007/08/13 10:33:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PolyconeSide.hh,v 1.12 2008/05/15 11:41:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -100,6 +100,9 @@ class G4PolyconeSide : public G4VCSGface
G4SolidExtentList &extentList );
G4VCSGface *Clone() { return new G4PolyconeSide( *this ); }
G4double SurfaceArea();
G4ThreeVector GetPointOnFace();
public: // without description
@@ -129,8 +132,7 @@ class G4PolyconeSide : public G4VCSGface
G4double rNormEdge[2],
zNormEdge[2]; // Normal to edges
//(WP)
int ncorners;
G4int ncorners;
G4ThreeVector *corners; // The coordinates of the corners (if phiIsOpen)
G4double DistanceAway( const G4ThreeVector &p, G4bool opposite,
@@ -150,6 +152,7 @@ class G4PolyconeSide : public G4VCSGface
private:
G4double kCarTolerance; // Geometrical surface thickness
G4double fSurfaceArea; // Used for surface calculation
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Polyhedra.hh,v 1.17 2007/01/22 12:58:53 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Polyhedra.hh,v 1.20 2008/05/15 13:45:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polyhedra.icc,v 1.11 2007/01/22 12:58:53 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PolyhedraSide.hh,v 1.9 2007/05/11 13:54:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PolyhedraSide.hh,v 1.11 2008/05/15 11:41:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -69,7 +69,7 @@ struct G4PolyhedraSideRZ
class G4PolyhedraSide : public G4VCSGface
{
public:
public: // with description
G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ,
const G4PolyhedraSideRZ *tail,
@@ -103,7 +103,21 @@ class G4PolyhedraSide : public G4VCSGface
G4SolidExtentList &extentList );
G4VCSGface *Clone() { return new G4PolyhedraSide( *this ); }
public: // without description
// Methods used for GetPointOnSurface()
G4double SurfaceTriangle( G4ThreeVector p1,
G4ThreeVector p2,
G4ThreeVector p3,
G4ThreeVector *p4 );
G4ThreeVector GetPointOnPlane( G4ThreeVector p0, G4ThreeVector p1,
G4ThreeVector p2, G4ThreeVector p3,
G4double *Area );
G4double SurfaceArea();
G4ThreeVector GetPointOnFace();
public: // without description
G4PolyhedraSide(__void__&);
@@ -183,6 +197,7 @@ class G4PolyhedraSide : public G4VCSGface
private:
G4double kCarTolerance; // Geometrical surface thickness
G4double fSurfaceArea; // Surface Area
};
#endif
@@ -17,15 +17,15 @@
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration and of QinetiQ Ltd, *
// * subject DEFCON 705 IPR conditions. *
// * subject to DEFCON 705 IPR conditions. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4QuadrangularFacet.hh,v 1.5 2007/02/26 08:39:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4QuadrangularFacet.hh,v 1.6 2008/12/18 12:57:24 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4ReduciblePolygon.hh,v 1.9 2006/06/29 18:47:29 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4SolidExtentList.hh,v 1.7 2006/06/29 18:47:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -17,6 +17,7 @@
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration and of QinetiQ Ltd, *
// * subject to DEFCON 705 IPR conditions. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
@@ -24,7 +25,7 @@
// ********************************************************************
//
// $Id:
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -17,6 +17,7 @@
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration and of QinetiQ Ltd, *
// * subject to DEFCON 705 IPR conditions. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
@@ -24,7 +25,7 @@
// ********************************************************************
//
// $Id:
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4TessellatedSolid.hh,v 1.10 2007/12/10 16:30:13 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -29,7 +29,7 @@
//
//
// $Id: G4Tet.hh,v 1.9 2006/11/13 08:58:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4TriangularFacet.hh,v 1.8 2007/12/10 16:30:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTrapFlatSide.hh,v 1.5 2006/06/29 18:47:48 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsFlatSide.hh,v 1.5 2006/06/29 18:47:53 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsHypeSide.hh,v 1.5 2006/06/29 18:47:56 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsSide.hh,v 1.5 2006/06/29 18:47:58 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedBox.hh,v 1.10 2006/06/29 18:48:00 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedTrap.hh,v 1.10 2006/06/29 18:48:02 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedTrd.hh,v 1.6 2006/06/29 18:48:04 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedTubs.hh,v 1.14 2007/05/23 09:32:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VCSGface.hh,v 1.7 2006/06/29 18:48:08 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4VCSGface.hh,v 1.9 2008/05/15 11:41:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -299,6 +299,9 @@ class G4VCSGface
G4SolidExtentList &extentList ) = 0;
virtual G4VCSGface* Clone() = 0;
virtual G4double SurfaceArea( ) = 0;
virtual G4ThreeVector GetPointOnFace() = 0;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VCSGfaceted.hh,v 1.13 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4VCSGfaceted.hh,v 1.17 2008/05/15 13:45:15 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -126,6 +126,10 @@ class G4VCSGfaceted : public G4VSolid
virtual G4double DistanceTo( const G4ThreeVector &p,
const G4bool outgoing ) const;
G4ThreeVector GetPointOnSurfaceGeneric()const;
// Returns a random point located on the surface of the solid
// in case of generic Polycone or generic Polyhedra.
void CopyStuff( const G4VCSGfaceted &source );
void DeleteStuff();
@@ -17,15 +17,15 @@
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration and of QinetiQ Ltd, *
// * subject DEFCON 705 IPR conditions. *
// * subject to DEFCON 705 IPR conditions. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VFacet.hh,v 1.6 2007/08/23 14:45:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4VFacet.hh,v 1.7 2008/12/18 12:57:30 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -17,15 +17,15 @@
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration and of QinetiQ Ltd, *
// * subject DEFCON 705 IPR conditions. *
// * subject to DEFCON 705 IPR conditions. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VFacet.icc,v 1.5 2007/08/23 14:45:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4VFacet.icc,v 1.6 2008/12/18 12:57:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTwistSurface.hh,v 1.6 2007/05/11 13:54:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTwistSurface.icc,v 1.3 2006/06/29 18:48:20 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTwistedFaceted.hh,v 1.10 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file