G4ToroidalSurface


Directory: source/geometry/solids/BREPS/include
File Name: G4ToroidalSurface.hh






Class Description :

  
     
   Definition of a toroidal surface.


Public members :

  G4ToroidalSurface();
  G4ToroidalSurface(const G4Vector3D&, 
		    const G4Vector3D&,  
		    const G4Vector3D&,  
		    G4double, 
		    G4double);
  virtual ~G4ToroidalSurface();
    // Constructors & destructor.

  inline G4String GetEntityType() const;
    // Returns type identifier of the shape.

  G4int Intersect(const G4Ray&);
    // Determines the intersection of a ray with a torus.	 
    // Returns 1 if the ray intersects the torus.

  void CalcBBox();
    // Computes the bounding-box.

  inline G4Vector3D  	GetDirection() const;
  inline G4Vector3D 	GetAxis()      const;
  inline G4Point3D	GetLocation()  const;
  inline G4double   	GetMinRadius() const;
  inline G4double   	GetMaxRadius() const;
    // Accessors to geometrical data.

  G4double ClosestDistanceToPoint(const G4Point3D& x);
    // Returns the closest distance to the torus surface from a point x.

  virtual G4Vector3D SurfaceNormal(const G4Point3D& Pt) const;
    // Returns the Normal unit vector to the G4ToroidalSurface at a point Pt
    // on (or nearly on) the G4ToroidalSurface.

  inline void MultiplyPointByMatrix(G4Point3D& Base);
  inline void MultiplyVectorByMatrix(G4Vector3D& DCos);
    // Utility methods.