Import Geant4 8.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:55:03 +02:00
parent 216a75eeb1
commit fe73f43734
6714 changed files with 118229 additions and 68144 deletions
@@ -25,7 +25,7 @@
//
//
// $Id: G4ClippablePolygon.hh,v 1.10 2006/06/29 18:46:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ClippablePolygon.icc,v 1.4 2006/06/29 18:46:41 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Ellipsoid.hh,v 1.10 2006/06/29 18:46:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4Ellipsoid.hh,v 1.11 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -76,6 +76,7 @@ class G4Ellipsoid : public G4VSolid
inline void SetSemiAxis (G4double x, G4double y, G4double z);
inline void SetZCuts (G4double newzBottomCut, G4double newzTopCut);
inline G4double GetCubicVolume();
inline G4double GetSurfaceArea();
// Solid standard methods
@@ -126,6 +127,7 @@ class G4Ellipsoid : public G4VSolid
private:
G4double fCubicVolume;
G4double fSurfaceArea;
G4double xSemiAxis, ySemiAxis, zSemiAxis,
semiAxisMax, zBottomCut, zTopCut;
};
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Ellipsoid.icc,v 1.6 2006/06/29 18:46:47 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4Ellipsoid.icc,v 1.7 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -36,6 +36,7 @@
// Implementation of inline methods of G4Ellipsoid
// --------------------------------------------------------------------
inline
G4double G4Ellipsoid::GetSemiAxisMax (G4int i) const
{
return (i==0) ? xSemiAxis
@@ -43,16 +44,19 @@ G4double G4Ellipsoid::GetSemiAxisMax (G4int i) const
: zSemiAxis;
}
inline
G4double G4Ellipsoid::GetZBottomCut() const
{
return zBottomCut;
}
inline
G4double G4Ellipsoid::GetZTopCut() const
{
return zTopCut;
}
inline
void G4Ellipsoid::SetSemiAxis (G4double newxSemiAxis,
G4double newySemiAxis,
G4double newzSemiAxis)
@@ -64,6 +68,7 @@ void G4Ellipsoid::SetSemiAxis (G4double newxSemiAxis,
if (zTopCut > +zSemiAxis) { zTopCut = +zSemiAxis; }
}
inline
void G4Ellipsoid::SetZCuts (G4double newzBottomCut, G4double newzTopCut)
{
if (newzBottomCut < -zSemiAxis)
@@ -97,3 +102,11 @@ G4double G4Ellipsoid::GetCubicVolume()
}
return fCubicVolume;
}
inline
G4double G4Ellipsoid::GetSurfaceArea()
{
if(fSurfaceArea != 0.) {;}
else { fSurfaceArea = G4VSolid::GetSurfaceArea(); }
return fSurfaceArea;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EllipticalCone.hh,v 1.8 2006/06/29 18:46:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4EllipticalCone.hh,v 1.9 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -83,7 +83,9 @@ class G4EllipticalCone : public G4VSolid
inline G4double GetZTopCut() const;
inline void SetSemiAxis (G4double x, G4double y, G4double z);
inline void SetZCut (G4double newzTopCut);
inline G4double GetCubicVolume();
inline G4double GetSurfaceArea();
// Solid standard methods
//
@@ -140,6 +142,7 @@ class G4EllipticalCone : public G4VSolid
private:
G4double fCubicVolume;
G4double fSurfaceArea;
G4double xSemiAxis, ySemiAxis, zheight,
semiAxisMax, zTopCut;
};
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EllipticalCone.icc,v 1.5 2006/06/29 18:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4EllipticalCone.icc,v 1.6 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -38,16 +38,19 @@
// Author: Dionysios Anninos
// --------------------------------------------------------------------
inline
G4double G4EllipticalCone::GetSemiAxisMax () const
{
return ySemiAxis > xSemiAxis ? ySemiAxis : xSemiAxis;
}
inline
G4double G4EllipticalCone::GetZTopCut() const
{
return zTopCut;
}
inline
void G4EllipticalCone::SetSemiAxis (G4double newxSemiAxis,
G4double newySemiAxis,
G4double newzMax)
@@ -59,6 +62,7 @@ void G4EllipticalCone::SetSemiAxis (G4double newxSemiAxis,
if (zTopCut > +zheight) { zTopCut = +zheight; }
}
inline
void G4EllipticalCone::SetZCut (G4double newzTopCut)
{
if (newzTopCut > +zheight)
@@ -85,3 +89,11 @@ G4double G4EllipticalCone::GetCubicVolume()
}
return fCubicVolume;
}
inline
G4double G4EllipticalCone::GetSurfaceArea()
{
if(fSurfaceArea != 0.) {;}
else { fSurfaceArea = G4VSolid::GetSurfaceArea(); }
return fSurfaceArea;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4EllipticalTube.hh,v 1.17 2006/06/29 18:46:53 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4EllipticalTube.hh,v 1.18 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file
@@ -90,6 +90,7 @@ class G4EllipticalTube : public G4VSolid
std::ostream& StreamInfo(std::ostream& os) const;
G4double GetCubicVolume();
G4double GetSurfaceArea();
G4ThreeVector GetPointOnSurface() const;
@@ -134,6 +135,7 @@ class G4EllipticalTube : public G4VSolid
private:
G4double fCubicVolume;
G4double fSurfaceArea;
mutable G4Polyhedron* fpPolyhedron;
};
@@ -25,7 +25,7 @@
//
//
// $Id: G4EllipticalTube.icc,v 1.4 2006/06/29 18:46:55 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-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-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -24,9 +24,9 @@
// ********************************************************************
//
//
// $Id: G4Hype.hh,v 1.14 2006/06/29 18:47:01 gunter Exp $
// $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-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -114,6 +114,7 @@ class G4Hype : public G4VSolid
std::ostream& StreamInfo(std::ostream& os) const;
G4double GetCubicVolume();
G4double GetSurfaceArea();
G4ThreeVector GetPointOnSurface() const;
@@ -189,6 +190,7 @@ class G4Hype : public G4VSolid
private:
G4double fCubicVolume;
G4double fSurfaceArea;
mutable G4Polyhedron* fpPolyhedron;
@@ -25,7 +25,7 @@
//
//
// $Id: G4Hype.icc,v 1.7 2006/06/29 18:47:03 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -25,7 +25,7 @@
//
//
// $Id: G4IntersectingCone.hh,v 1.9 2006/06/29 18:47:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolyPhiFace.hh,v 1.9 2006/06/29 18:47:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolyPhiFace.icc,v 1.6 2006/06/29 18:47:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polycone.hh,v 1.19 2006/06/29 18:47:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polycone.icc,v 1.10 2006/06/29 18:47:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolyconeSide.hh,v 1.8 2006/06/29 18:47:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polyhedra.hh,v 1.16 2006/06/29 18:47:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Polyhedra.icc,v 1.10 2006/06/29 18:47:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 inline definitions file
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolyhedraSide.hh,v 1.8 2006/06/29 18:47:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4QuadrangularFacet.hh,v 1.3 2006/06/29 18:47:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4ReduciblePolygon.hh,v 1.9 2006/06/29 18:47:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4SolidExtentList.hh,v 1.7 2006/06/29 18:47:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TessellatedSolid.hh,v 1.3 2006/06/29 18:47:35 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4TessellatedSolid.hh,v 1.4 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -139,7 +139,9 @@ class G4TessellatedSolid : public G4VSolid
G4VFacet *GetFacet (size_t i) const;
size_t GetNumberOfFacets () const;
// G4double GetCubicVolume ();
G4double GetCubicVolume ();
G4double GetSurfaceArea ();
//
// void ComputeDimensions (G4VPVParameterisation* p, const G4int n,
// const G4VPhysicalVolume* pRep) const;
@@ -177,6 +179,13 @@ class G4TessellatedSolid : public G4VSolid
G4Polyhedron* GetPolyhedron () const;
G4NURBS* CreateNURBS () const;
public: // without description
G4TessellatedSolid(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
// persistifiable objects.
protected: // with description
void DeleteObjects ();
@@ -193,6 +202,7 @@ class G4TessellatedSolid : public G4VSolid
std::vector<G4VFacet *> facets;
G4GeometryType geometryType;
G4double cubicVolume;
G4double surfaceArea;
G4ThreeVectorList vertexList;
G4double xMinExtent;
G4double xMaxExtent;
@@ -28,8 +28,8 @@
// ********************************************************************
//
//
// $Id: G4Tet.hh,v 1.7 2006/06/29 18:47:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4Tet.hh,v 1.9 2006/11/13 08:58:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -46,6 +46,7 @@
// -------
// 03.09.2004 - M.H.Mendenhall & R.A.Weller (Vanderbilt University, USA)
// 10.02.2005 - D.Anninos (CERN) - Added GetPointOnSurface() method.
// 12.11.2006 - M.H.Mendenhall - Added GetSurfaceArea() concrete implementation.
// --------------------------------------------------------------------
#ifndef G4TET_HH
#define G4TET_HH
@@ -90,7 +91,8 @@ class G4Tet : public G4VSolid
G4double DistanceToOut(const G4ThreeVector& p) const;
G4double GetCubicVolume() {return fCubicVolume;}
G4double GetCubicVolume();
G4double GetSurfaceArea();
G4GeometryType GetEntityType() const;
@@ -114,7 +116,7 @@ class G4Tet : public G4VSolid
// persistifiable objects.
const char* CVSHeaderVers()
{ return "$Id: G4Tet.hh,v 1.7 2006/06/29 18:47:38 gunter Exp $"; }
{ return "$Id: G4Tet.hh,v 1.9 2006/11/13 08:58:03 gcosmo Exp $"; }
const char* CVSFileVers()
{ return CVSVers; }
void PrintWarnings(G4bool flag)
@@ -135,7 +137,7 @@ class G4Tet : public G4VSolid
private:
G4double fCubicVolume;
G4double fCubicVolume, fSurfaceArea;
mutable G4Polyhedron* fpPolyhedron;
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4TriangularFacet.hh,v 1.3 2006/06/29 18:47:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTrapFlatSide.hh,v 1.5 2006/06/29 18:47:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsFlatSide.hh,v 1.5 2006/06/29 18:47:53 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsHypeSide.hh,v 1.5 2006/06/29 18:47:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistTubsSide.hh,v 1.5 2006/06/29 18:47:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedBox.hh,v 1.10 2006/06/29 18:48:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedTrap.hh,v 1.10 2006/06/29 18:48:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwistedTrd.hh,v 1.6 2006/06/29 18:48:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TwistedTubs.hh,v 1.12 2006/06/29 18:48:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4TwistedTubs.hh,v 1.13 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -170,6 +170,9 @@ class G4TwistedTubs : public G4VSolid
G4double GetCubicVolume();
// Returns an estimation of the geometrical cubic volume of the
// solid. Caches the computed value once computed the first time.
G4double GetSurfaceArea();
// Returns an estimation of the geometrical surface area of the
// solid. Caches the computed value once computed the first time.
G4ThreeVector GetPointOnSurface() const ;
@@ -231,6 +234,7 @@ class G4TwistedTubs : public G4VSolid
G4VTwistSurface *fOuterHype; // Surface of +ve r
G4double fCubicVolume; // Cached value for cubic volume
G4double fSurfaceArea; // Cached value for surface area
mutable G4Polyhedron* fpPolyhedron; // pointer to polyhedron for vis
@@ -25,7 +25,7 @@
//
//
// $Id: G4VCSGface.hh,v 1.7 2006/06/29 18:48:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VCSGfaceted.hh,v 1.12 2006/06/29 18:48:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4VCSGfaceted.hh,v 1.13 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -55,7 +55,7 @@ class G4VCSGfaceted : public G4VSolid
{
public: // with description
G4VCSGfaceted( G4String name );
G4VCSGfaceted( const G4String& name );
virtual ~G4VCSGfaceted();
G4VCSGfaceted( const G4VCSGfaceted &source );
@@ -96,10 +96,17 @@ class G4VCSGfaceted : public G4VSolid
G4double GetCubVolEpsilon() const;
void SetCubVolStatistics(G4int st);
void SetCubVolEpsilon(G4double ep);
G4int GetAreaStatistics() const;
G4double GetAreaAccuracy() const;
void SetAreaStatistics(G4int st);
void SetAreaAccuracy(G4double ep);
virtual G4double GetCubicVolume();
// Returns an estimation of the geometrical cubic volume of the
// solid. Caches the computed value once computed the first time.
virtual G4double GetSurfaceArea();
// Returns an estimation of the geometrical surface area of the
// solid. Caches the computed value once computed the first time.
public: // without description
@@ -113,6 +120,7 @@ class G4VCSGfaceted : public G4VSolid
G4int numFace;
G4VCSGface **faces;
G4double fCubicVolume;
G4double fSurfaceArea;
mutable G4Polyhedron* fpPolyhedron;
virtual G4double DistanceTo( const G4ThreeVector &p,
@@ -123,8 +131,9 @@ class G4VCSGfaceted : public G4VSolid
private:
G4int fCubVolStatistics;
G4int fStatistics;
G4double fCubVolEpsilon;
G4double fAreaAccuracy;
// Statistics, error accuracy for volume estimation.
};
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4VFacet.hh,v 1.3 2006/06/29 18:48:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
// ********************************************************************
//
// $Id: G4VFacet.icc,v 1.3 2006/06/29 18:48:15 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTwistSurface.hh,v 1.5 2006/06/29 18:48:17 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTwistSurface.icc,v 1.3 2006/06/29 18:48:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// --------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VTwistedFaceted.hh,v 1.9 2006/06/29 18:48:23 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4VTwistedFaceted.hh,v 1.10 2006/10/20 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file
@@ -107,6 +107,7 @@ class G4VTwistedFaceted: public G4VSolid
G4ThreeVector GetPointInSolid(G4double z) const;
virtual inline G4double GetCubicVolume() ;
virtual inline G4double GetSurfaceArea() ;
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const;
virtual G4Polyhedron *CreatePolyhedron () const ;
@@ -194,7 +195,8 @@ class G4VTwistedFaceted: public G4VSolid
G4VTwistSurface *fSide180 ; // Twisted Side at phi = 180 deg
G4VTwistSurface *fSide270 ; // Twisted Side at phi = 270 deg
G4double fCubicVolume ; // volume of the twisted trapezoid
G4double fCubicVolume ; // volume of the solid
G4double fSurfaceArea ; // area of the solid
mutable G4Polyhedron* fpPolyhedron; // pointer to polyhedron for vis
@@ -275,14 +277,20 @@ class G4VTwistedFaceted: public G4VSolid
inline
G4double G4VTwistedFaceted::GetCubicVolume()
{
if(fCubicVolume != 0.) ;
else fCubicVolume = 2 * fDz
* ( ( fDx1 + fDx2 ) * fDy1 + ( fDx3 + fDx4 ) * fDy2 );
return fCubicVolume;
}
inline
G4double G4VTwistedFaceted::GetSurfaceArea()
{
if(fSurfaceArea != 0.) ;
else fSurfaceArea = G4VSolid::GetSurfaceArea();
return fSurfaceArea;
}
inline
G4double G4VTwistedFaceted::GetValueA(G4double phi) const
{