50 #ifndef G4EllipticalTube_hh
51 #define G4EllipticalTube_hh
85 const G4bool calcNorm=
false,
94 std::ostream&
StreamInfo(std::ostream& os)
const;
153 mutable G4bool fRebuildPolyhedron;
157 #include "G4EllipticalTube.icc"
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const
G4double GetSurfaceArea()
virtual ~G4EllipticalTube()
void SetDy(const G4double newDy)
G4ThreeVector GetPointOnSurface() const
G4VisExtent GetExtent() const
void DescribeYourselfTo(G4VGraphicsScene &scene) const
G4Polyhedron * GetPolyhedron() const
G4EllipticalTube & operator=(const G4EllipticalTube &rhs)
G4double CheckXY(const G4double x, const G4double y, const G4double toler) const
G4int IntersectXY(const G4ThreeVector &p, const G4ThreeVector &v, G4double s[2]) const
G4double GetCubicVolume()
void SetDz(const G4double newDz)
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
void SetDx(const G4double newDx)
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const
std::ostream & StreamInfo(std::ostream &os) const
G4Polyhedron * CreatePolyhedron() const
void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const
G4EllipticalTube(const G4String &name, G4double theDx, G4double theDy, G4double theDz)
G4GeometryType GetEntityType() const
EInside Inside(const G4ThreeVector &p) const