TGeoConeSeg


class description - source file - inheritance tree

class TGeoConeSeg : public TGeoCone


    protected:
static Double_t DistToPhiMin(Double_t* point, Double_t* dir, Double_t s1, Double_t c1, Double_t s2, Double_t c2, Double_t sm, Double_t cm) public:
TGeoConeSeg TGeoConeSeg() TGeoConeSeg TGeoConeSeg(Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) TGeoConeSeg TGeoConeSeg(const char* name, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) TGeoConeSeg TGeoConeSeg(Double_t* params) TGeoConeSeg TGeoConeSeg(const TGeoConeSeg&) virtual void ~TGeoConeSeg() static TClass* Class() virtual void ComputeBBox() virtual Bool_t Contains(Double_t* point) const virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) virtual Double_t DistToIn(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const static Double_t DistToInS(Double_t* point, Double_t* dir, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t dz, Double_t ro1, Double_t tg1, Double_t cr1, Double_t zv1, Double_t ro2, Double_t tg2, Double_t cr2, Double_t zv2, Double_t r2, Double_t rin, Double_t rout, Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cfio, Double_t sfio, Double_t cdfi) virtual Double_t DistToOut(Double_t* point, Double_t* dir, Int_t iact = 1, Double_t step = 0, Double_t* safe = 0) const static Double_t DistToOutS(Double_t* point, Double_t* dir, Int_t iact, Double_t step, Double_t* safe, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) 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 void GetBoundingCylinder(Double_t* param) const virtual Int_t GetByteCount() const virtual TGeoShape* GetMakeRuntimeShape(TGeoShape* mother) const Double_t GetPhi1() const Double_t GetPhi2() const virtual void InspectShape() const virtual TClass* IsA() 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, Double_t* spoint, Option_t* option) const void SetConsDimensions(Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) virtual void SetDimensions(Double_t* param) virtual void SetPoints(Double_t* buff) const virtual void SetPoints(Float_t* buff) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Sizeof3D() const virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Double_t fPhi1 first phi limit Double_t fPhi2 second phi limit

Class Description


TGeoConeSeg()
 Default constructor

TGeoConeSeg(Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) :TGeoCone(dz, rmin1, rmax1, rmin2, rmax2)
 Default constructor specifying minimum and maximum radius

TGeoConeSeg(const char *name, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2) :TGeoCone(name, dz, rmin1, rmax1, rmin2, rmax2)
 Default constructor specifying minimum and maximum radius

TGeoConeSeg(Double_t *param)
 Default constructor specifying minimum and maximum radius
 param[0] = dz
 param[1] = Rmin1
 param[2] = Rmax1
 param[3] = Rmin2
 param[4] = Rmax2
 param[5] = phi1
 param[6] = phi2

~TGeoConeSeg()
 destructor

void ComputeBBox()
 compute bounding box of the tube segment

Bool_t Contains(Double_t *point) const
 test if point is inside this sphere

Double_t DistToPhiMin(Double_t *point, Double_t *dir, Double_t s1, Double_t c1, Double_t s2, Double_t c2, Double_t sm, Double_t cm)
 compute distance from poin to both phi planes. Return minimum.

Double_t DistToOutS(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe, Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2)
 compute distance from inside point to surface of the cone segment (static)

Double_t DistToOut(Double_t *point, Double_t *dir, Int_t iact, Double_t step, Double_t *safe) const
 compute distance from inside point to surface of the tube segment

Double_t DistToInS(Double_t *point, Double_t *dir, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t dz, Double_t ro1, Double_t tg1, Double_t cr1, Double_t zv1, Double_t ro2, Double_t tg2, Double_t cr2, Double_t zv2, Double_t r2, Double_t rin, Double_t rout, Double_t c1, Double_t s1, Double_t c2, Double_t s2, Double_t cfio, Double_t sfio, Double_t cdfi)
 compute distance from outside point to surface of arbitrary tube

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 tube

return DistToInS(point, dir,fRmin1,fRmax1,fRmin2,fRmax2,fDz, ro1,tg1,cr1,zv1,ro2,tg2,cr2,zv2,r2,rin,rout,c1,s1,c2,s2,cfio,sfio,cdfi); } //----------------------------------------------------------------------------- Int_t TGeoConeSeg::DistancetoPrimitive(Int_t px, Int_t py)
 compute closest distance from point px,py to each corner

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)
--- Divide this cone segment shape belonging to volume "voldiv" into ndiv volumes
 called divname, from start position with the given step. Returns pointer
 to created division cell volume in case of Z divisions. For Z division
 creates all volumes with different shapes and returns pointer to volume that
 was divided. In case a wrong division axis is supplied, returns pointer to
 volume that was divided.

TGeoVolume* Divide(TGeoVolume *voldiv, const char *divname, Int_t iaxis, Double_t step)
 Divide all range of iaxis in range/step cells

void GetBoundingCylinder(Double_t *param) const
--- Fill vector param[4] with the bounding cylinder parameters. The order
 is the following : Rmin, Rmax, Phi1, Phi2

TGeoShape* GetMakeRuntimeShape(TGeoShape *mother) const
 in case shape has some negative parameters, these has to be computed
 in order to fit the mother

void InspectShape() const
 print shape parameters

void Paint(Option_t *option)
 paint this shape according to option

void PaintNext(TGeoHMatrix *glmat, 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 SetConsDimensions(Double_t dz, Double_t rmin1, Double_t rmax1, Double_t rmin2, Double_t rmax2, Double_t phi1, Double_t phi2)

void SetDimensions(Double_t *param)

void SetPoints(Double_t *buff) const
 create cone segment mesh points

void SetPoints(Float_t *buff) const
 create cone segment mesh points

void Sizeof3D() const
 fill size of this 3-D object



Inline Functions


              Int_t DistancetoPrimitive(Int_t px, Int_t py)
              Int_t GetByteCount() const
           Double_t GetPhi1() const
           Double_t GetPhi2() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
        TGeoConeSeg TGeoConeSeg(const TGeoConeSeg&)


Author: Andrei Gheata 31/01/02
Last update: root/geom:$Name: $:$Id: TGeoCone.cxx,v 1.4 2002/09/27 16:16:06 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.