TGeoShape


class description - source file - inheritance tree

class TGeoShape : public TNamed


    public:
virtual void ~TGeoShape() static TClass* Class() static Double_t ClosenessToCorner(Double_t* point, Bool_t in, Double_t* vertex, Double_t* normals, Double_t* cldir) virtual void ComputeBBox() virtual Bool_t Contains(Double_t* point) const virtual Bool_t CouldBeCrossed(Double_t* point, Double_t* dir) const virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) static Double_t DistToCorner(Double_t* point, Double_t* dir, Bool_t in, Double_t* vertex, Double_t* norm, Int_t& inorm) virtual Double_t DistToIn(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const virtual Double_t DistToOut(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const virtual Double_t DistToSurf(Double_t* point, Double_t* dir) 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 Int_t GetByteCount() const Int_t GetId() const virtual TGeoShape* GetMakeRuntimeShape(TGeoShape* mother) const virtual const char* GetName() const static Int_t GetVertexNumber(Bool_t vx, Bool_t vy, Bool_t vz) virtual void InspectShape() const virtual TClass* IsA() const virtual Bool_t IsCylType() const Bool_t IsRunTimeShape() const Bool_t IsValid() const virtual Bool_t IsValidBox() const virtual void* Make3DBuffer(const TGeoVolume* vol) const virtual void NextCrossing(TGeoParamCurve* c, Double_t* point) const virtual void Paint(Option_t* option) virtual void PaintNext(TGeoHMatrix* glmat, Option_t* option) virtual Double_t Safety(Double_t* point, Bool_t in = kTRUE) const static Double_t SafetyPhi(Double_t* point, Bool_t in, Double_t c1, Double_t s1, Double_t c2, Double_t s2) virtual void SetDimensions(Double_t* param) void SetId(Int_t id) virtual void SetPoints(Double_t* buff) const virtual void SetPoints(Float_t* buff) const void SetRuntime(Bool_t flag = kTRUE) Int_t ShapeDistancetoPrimitive(Int_t numpoints, Int_t px, Int_t py) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sizeof3D() const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Int_t fShapeId shape id public:
static const TGeoShape::EShapeType kGeoNoShape static const TGeoShape::EShapeType kGeoBad static const TGeoShape::EShapeType kGeoRSeg static const TGeoShape::EShapeType kGeoPhiSeg static const TGeoShape::EShapeType kGeoThetaSeg static const TGeoShape::EShapeType kGeoVisX static const TGeoShape::EShapeType kGeoVisY static const TGeoShape::EShapeType kGeoVisZ static const TGeoShape::EShapeType kGeoRunTimeShape static const TGeoShape::EShapeType kGeoInvalidShape static const TGeoShape::EShapeType kGeoBox static const TGeoShape::EShapeType kGeoPara static const TGeoShape::EShapeType kGeoSph static const TGeoShape::EShapeType kGeoTube static const TGeoShape::EShapeType kGeoTubeSeg static const TGeoShape::EShapeType kGeoCone static const TGeoShape::EShapeType kGeoConeSeg static const TGeoShape::EShapeType kGeoPcon static const TGeoShape::EShapeType kGeoPgon static const TGeoShape::EShapeType kGeoArb8 static const TGeoShape::EShapeType kGeoEltu static const TGeoShape::EShapeType kGeoTrap static const TGeoShape::EShapeType kGeoCtub static const TGeoShape::EShapeType kGeoTrd1 static const TGeoShape::EShapeType kGeoTrd2 static const TGeoShape::EShapeType kGeoComb static const Double_t kRadDeg conversion factor rad->deg static const Double_t kDegRad conversion factor deg->rad static const Double_t kBig infinity


See also

TGeoBBox

Class Description

 TGeoShape - base class for all geometrical shapes. Abstract functionality
   regarding point and segment classification has to be implemented by classes
   that inherits from it.



/*

*/


~TGeoShape()
 Destructor

const char* GetName() const

Int_t ShapeDistancetoPrimitive(Int_t numpoints, Int_t px, Int_t py) const

Double_t ClosenessToCorner(Double_t *point, Bool_t in, Double_t *vertex, Double_t *normals, Double_t *cldir)
 Static method returning distance to closest point of a corner. The corner is
 defined by vertex and normals to the 3 planes (in order X, Y, Z - norm[9]).
 also return unit vector pointing to this

Double_t DistToCorner(Double_t *point, Double_t *dir, Bool_t in, Double_t *vertex, Double_t *norm, Int_t &inorm)
 Static method to compute distance along a direction from inside/outside point to a corner.
 The corner is  defined by its normals to planes n1, n2, n3, and its vertex.
 Also compute distance to closest plane belonging to corner, normal to this plane and
 normal to shape at intersection point.

Int_t GetVertexNumber(Bool_t vx, Bool_t vy, Bool_t vz)
 get visible vertex number for : box, trd1, trd2, trap, gtra, para shapes

Double_t SafetyPhi(Double_t *point, Bool_t in, Double_t c1, Double_t s1, Double_t c2, Double_t s2)
 Static method to compute safety w.r.t a phi corner defined by cosines/sines
 of the angles phi1, phi2.



Inline Functions


               void ComputeBBox()
             Bool_t Contains(Double_t* point) const
             Bool_t CouldBeCrossed(Double_t* point, Double_t* dir) const
              Int_t DistancetoPrimitive(Int_t px, Int_t py)
           Double_t DistToOut(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
           Double_t DistToIn(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const
           Double_t DistToSurf(Double_t* point, Double_t* dir) const
        TGeoVolume* Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Int_t ndiv, Double_t start, Double_t step)
        const char* GetAxisName(Int_t iaxis) const
           Double_t GetAxisRange(Int_t iaxis, Double_t& xlo, Double_t& xhi) const
               void GetBoundingCylinder(Double_t* param) const
              Int_t GetByteCount() const
              Int_t GetId() const
         TGeoShape* GetMakeRuntimeShape(TGeoShape* mother) const
             Bool_t IsCylType() const
             Bool_t IsRunTimeShape() const
             Bool_t IsValid() const
             Bool_t IsValidBox() const
               void InspectShape() const
              void* Make3DBuffer(const TGeoVolume* vol) const
               void NextCrossing(TGeoParamCurve* c, Double_t* point) const
               void Paint(Option_t* option)
               void PaintNext(TGeoHMatrix* glmat, Option_t* option)
           Double_t Safety(Double_t* point, Bool_t in = kTRUE) const
               void SetDimensions(Double_t* param)
               void SetId(Int_t id)
               void SetPoints(Double_t* buff) const
               void SetPoints(Float_t* buff) const
               void SetRuntime(Bool_t flag = kTRUE)
               void Sizeof3D() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoShape.cxx,v 1.8 2003/02/07 13:46:47 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - 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.