TGeoArb8
class description - source file - inheritance tree
public:
TGeoArb8 TGeoArb8()
TGeoArb8 TGeoArb8(Double_t dz, Double_t* vertices = 0)
TGeoArb8 TGeoArb8(const TGeoArb8&)
virtual void ~TGeoArb8()
static TClass* Class()
virtual void ComputeBBox()
void ComputeTwist()
virtual Bool_t Contains(Double_t* point) const
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
Double_t DistToPlane(Double_t* point, Double_t* dir, Int_t ipl, Bool_t in) 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 TGeoVolume* Divide(TGeoVolume* voldiv, const char* divname, Int_t iaxis, Double_t step)
virtual Int_t GetByteCount() const
Double_t GetDz() const
virtual TGeoShape* GetMakeRuntimeShape(TGeoShape* mother) const
Double_t* GetVertices()
virtual void InspectShape() const
virtual TClass* IsA() const
Bool_t IsTwisted() const
virtual void NextCrossing(TGeoParamCurve* c, Double_t* point) const
virtual void Paint(Option_t* option)
virtual Double_t Safety(Double_t* point, Double_t* spoint, Option_t* option) const
virtual void SetDimensions(Double_t* param)
void SetPlaneVertices(Double_t zpl, Double_t* vertices) const
virtual void SetPoints(Double_t* buff) const
virtual void SetPoints(Float_t* buff) const
virtual void SetVertex(Int_t vnum, Double_t x, Double_t y)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Sizeof3D() const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Double_t fDz half length in Z
Double_t* fTwist [4] tangents of twist angles
Double_t fXY[8][2] list of vertices
public:
static const TGeoArb8::EGeoArb8Type kArb8Trap
static const TGeoArb8::EGeoArb8Type kArb8Tra
See also
-
TGeoTrap
TGeoTrap
TRAP is a general trapezoid, i.e. one for which the faces perpendicular
to z are trapezia and their centres are not the same x, y. It has 11
parameters: the half length in z, the polar angles from the centre of
the face at low z to that at high z, H1 the half length in y at low z,
LB1 the half length in x at low z and y low edge, LB2 the half length
in x at low z and y high edge, TH1 the angle w.r.t. the y axis from the
centre of low y edge to the centre of the high y edge, and H2, LB2,
LH2, TH2, the corresponding quantities at high z.
/*
*/
TGeoArb8()
dummy ctor
TGeoArb8(Double_t dz, Double_t *vertices)
:TGeoBBox(0,0,0)
constructor. If the array of vertices is not null, this should be
in the format : (x0, y0, x1, y1, ... , x7, y7)
~TGeoArb8()
destructor
void SetVertex(Int_t vnum, Double_t x, Double_t y)
set values for a given vertex
void ComputeBBox()
compute bounding box for a Arb8
void ComputeTwist()
compute tangents of twist angles (angles between projections on XY plane
of corresponding -dz +dz edges). Called after last point [7] was set.
Bool_t Contains(Double_t *point) const
test if point is inside this sphere
first check Z range
Double_t DistToPlane(Double_t *point, Double_t *dir, Int_t ipl, Bool_t in) const
compute distance to plane ipl :
ipl=0 : points 0,4,1,5
ipl=1 : points 1,5,2,6
ipl=2 : points 2,6,3,7
ipl=3 : points 3,7,0,4
Double_t DistToIn(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
compute distance from outside point to surface of the arb8
Double_t DistToOut(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
compute distance from outside point to surface of the arb8
Double_t DistToSurf(Double_t *point, Double_t *dir) const
computes the distance to next surface of the sphere along a ray
starting from given point to the given direction.
TGeoVolume* Divide(TGeoVolume *voldiv, const char *divname, Int_t iaxis, Int_t ndiv,
Double_t start, Double_t step)
TGeoVolume* Divide(TGeoVolume *voldiv, const char *divname, Int_t iaxis, Double_t step)
Divide all range of iaxis in range/step cells
void InspectShape() const
print shape parameters
void Paint(Option_t *option)
paint this shape according to option
void NextCrossing(TGeoParamCurve *c, Double_t *point) const
computes next intersection point of curve c with this shape
Double_t Safety(Double_t *point, Double_t *spoint, Option_t *option) const
computes the closest distance from given point to this shape, according
to option. The matching point on the shape is stored in spoint.
void SetPlaneVertices(Double_t zpl, Double_t *vertices) const
compute intersection points between plane at zpl and non-horizontal edges
void SetDimensions(Double_t *param)
set arb8 params in one step :
void SetPoints(Double_t *buff) const
create arb8 mesh points
void SetPoints(Float_t *buff) const
create arb8 mesh points
void Sizeof3D() const
fill size of this 3-D object
Inline Functions
Int_t GetByteCount() const
Double_t GetDz() const
Double_t* GetVertices()
Bool_t IsTwisted() const
TGeoShape* GetMakeRuntimeShape(TGeoShape* mother) const
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TGeoArb8 TGeoArb8(const TGeoArb8&)
Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoArb8.cxx,v 1.7 2002/07/15 15:32:25 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.