library: libGeom #include "TGeoSphere.h" |
TGeoSphere
class description - header file - source file - inheritance tree (.pdf)
public:
TGeoSphere()
TGeoSphere(Double_t rmin, Double_t rmax, Double_t theta1 = 0, Double_t theta2 = 180, Double_t phi1 = 0, Double_t phi2 = 360)
TGeoSphere(const char* name, Double_t rmin, Double_t rmax, Double_t theta1 = 0, Double_t theta2 = 180, Double_t phi1 = 0, Double_t phi2 = 360)
TGeoSphere(Double_t* param, Int_t nparam = 6)
TGeoSphere(const TGeoSphere&)
virtual ~TGeoSphere()
virtual Double_t Capacity() const
static TClass* Class()
virtual void ComputeBBox()
virtual void ComputeNormal(Double_t* point, Double_t* dir, Double_t* norm)
virtual Bool_t Contains(Double_t* point) const
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual Double_t DistFromInside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
virtual Double_t DistFromOutside(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = TGeoShape::Big(), Double_t* safe = 0) const
Double_t DistToSphere(Double_t* point, Double_t* dir, Double_t rsph, Bool_t check = kTRUE, Bool_t firstcross = kTRUE) const
virtual TGeoVolume* Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
virtual const char* GetAxisName(Int_t iaxis) const
virtual Double_t GetAxisRange(Int_t iaxis, Double_t& xlo, Double_t& xhi) const
virtual void GetBoundingCylinder(Double_t* param) const
virtual const TBuffer3D& GetBuffer3D(Int_t reqSections, Bool_t localFrame) const
virtual Int_t GetByteCount() const
virtual TGeoShape* GetMakeRuntimeShape(TGeoShape*, TGeoMatrix*) const
virtual Int_t GetNmeshVertices() const
Int_t GetNumberOfDivisions() const
Int_t GetNz() const
Double_t GetPhi1() const
Double_t GetPhi2() const
virtual Double_t GetRmax() const
virtual Double_t GetRmin() const
Double_t GetTheta1() const
Double_t GetTheta2() const
virtual void InspectShape() const
virtual TClass* IsA() const
virtual Bool_t IsCylType() const
Int_t IsOnBoundary(Double_t* point) const
Bool_t IsPointInside(Double_t* point, Bool_t checkR = kTRUE, Bool_t checkTh = kTRUE, Bool_t checkPh = kTRUE) const
virtual TBuffer3D* MakeBuffer3D() const
TGeoSphere& operator=(const TGeoSphere&)
virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const
virtual void SavePrimitive(ostream& out, Option_t* option = "")
virtual void SetDimensions(Double_t* param)
virtual void SetNumberOfDivisions(Int_t p)
virtual void SetPoints(Double_t* points) const
virtual void SetPoints(Float_t* points) const
virtual void SetSegsAndPols(TBuffer3D& buff) const
void SetSphDimensions(Double_t rmin, Double_t rmax, Double_t theta1, Double_t theta2, Double_t phi1, Double_t phi2)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Sizeof3D() const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Int_t fNz number of z planes for drawing
Int_t fNseg number of segments for drawing
Double_t fRmin inner radius
Double_t fRmax outer radius
Double_t fTheta1 lower theta limit
Double_t fTheta2 higher theta limit
Double_t fPhi1 lower phi limit
Double_t fPhi2 higher phi limit
_____________________________________________________________________________
TGeoSphere - spherical shell class. It takes 6 parameters :
- inner and outer radius Rmin, Rmax
- the theta limits Tmin, Tmax
- the phi limits Pmin, Pmax (the sector in phi is considered
starting from Pmin to Pmax counter-clockwise
_____________________________________________________________________________
void ComputeBBox()
compute bounding box of the sphere
Double_t xmin, xmax, ymin, ymax, zmin, zmax;
Int_t IsOnBoundary(Double_t *point)
Check if a point in local sphere coordinates is close to a boundary within
shape tolerance. Return values:
0 - not close to boundary
1 - close to Rmin boundary
2 - close to Rmax boundary
3,4 - close to phi1/phi2 boundary
5,6 - close to theta1/theta2 boundary
void GetBoundingCylinder(Double_t *param)
--- Fill vector param[4] with the bounding cylinder parameters. The order
is the following : Rmin, Rmax, Phi1, Phi2
Double_t Safety(Double_t *point, Bool_t in)
computes the closest distance from given point to this shape, according
to option. The matching point on the shape is stored in spoint.
void SetDimensions(Double_t *param)
Set dimensions of the spherical segment starting from a list of parameters.
void Sizeof3D()
/// obsolete - to be removed
Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoSphere.cxx,v 1.50 2006/07/03 16:10:44 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.