TGeoShape
class description - source file - inheritance tree
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)
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
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.