Import Geant4 8.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:36:02 +02:00
parent d93e1e39a9
commit 8a51e0bc40
5471 changed files with 99628 additions and 55248 deletions
@@ -21,9 +21,9 @@
// ********************************************************************
//
//
// $Id: G4Hype.hh,v 1.9 2004/10/10 10:39:19 johna Exp $
// $Id: G4Hype.hh,v 1.13 2005/11/17 16:59:23 link Exp $
// $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $
// GEANT4 tag $Name: geant4-07-01 $
// GEANT4 tag $Name: geant4-08-00 $
//
//
// --------------------------------------------------------------------
@@ -34,54 +34,24 @@
//
// Class description:
//
// This class implements in G4 the volume equivalent to the
// HYPE volume in Geant 3.21, i.e. a tube with hyperbolic profile.
// This class implements a tube with hyperbolic profile.
//
// For further informations, please read G4Hype.history and G4Hype.doc.
//
// An hyperbolic volume with curved sides parallel to the z-axis.
// The Hype has a specified half-length along the z axis, about which
// it is centred, and a given minimum and maximum radius.
// It describes an hyperbolic volume with curved sides parallel to
// the z-axis. The solid has a specified half-length along the z axis,
// about which it is centered, and a given minimum and maximum radius.
// A minimum radius of 0 signifies a filled Hype (with hyperbolical
// inner surface). To have a filled Hype the user must specify
// inner radius = 0 AND inner stereo angle = 0.
//
// The inner and outer hyperbolical surfaces can have different
// stereo angles. A stereo angle of 0 gives a cylindrical surface.
//
// Member functions:
//
// As inherited from G4VSolid,
//
// G4Hype(const G4String& pName
// const G4double innerRadius
// const G4double outerRadius
// const G4double innerStereo
// const G4double outerStereo
// const G4double halfLenZ )
//
// Construct an hype with the given name and dimensions.
// The provided angles are in radians.
//
//
// Protected:
//
// G4ThreeVectorList*
// CreateRotatedVertices(const G4AffineTransform& pTransform) const
//
// Create the List of transformed vertices in the format required
// for G4VSolid::ClipCrossSection and ClipBetweenSections.
// Authors:
// Ernesto Lamanna (Ernesto.Lamanna@roma1.infn.it) &
// Francesco Safai Tehrani (Francesco.SafaiTehrani@roma1.infn.it)
// Rome, INFN & University of Rome "La Sapienza", 9 June 1998.
//
// History:
// Updated Feb 2000 D.C. Williams
//
// --------------------------------------------------------------------
#ifndef G4HYPE_HH
#define G4HYPE_HH
@@ -95,12 +65,12 @@ class G4Hype : public G4VSolid
{
public: // with description
G4Hype(const G4String &pName,
G4double newInnerRadius,
G4double newOuterRadius,
G4double newInnerStereo,
G4double newOuterStereo,
G4double newHalfLenZ);
G4Hype(const G4String& pName,
G4double newInnerRadius,
G4double newOuterRadius,
G4double newInnerStereo,
G4double newOuterStereo,
G4double newHalfLenZ);
virtual ~G4Hype();
@@ -139,15 +109,24 @@ class G4Hype : public G4VSolid
G4GeometryType GetEntityType() const;
std::ostream& StreamInfo(std::ostream& os) const;
G4double GetCubicVolume();
G4ThreeVector GetPointOnSurface() const;
void DescribeYourselfTo (G4VGraphicsScene& scene) const;
G4VisExtent GetExtent () const;
G4Polyhedron* CreatePolyhedron () const;
G4NURBS* CreateNURBS () const;
G4Polyhedron* GetPolyhedron () const;
public: // without description
G4Hype(__void__&);
// Fake default constructor for usage restricted to direct object
// persistency for clients requiring preallocation of memory for
// persistifiable objects.
protected: // without description
inline G4bool InnerSurfaceExists() const;
@@ -202,7 +181,12 @@ class G4Hype : public G4VSolid
private:
G4double asinh(G4double arg);
private:
G4double fCubicVolume;
mutable G4Polyhedron* fpPolyhedron;
};