Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -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;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user