library: libGraf3d #include "TTUBS.h"

# TTUBS

class description - source file - inheritance tree (.pdf)

## class TTUBS : public TTUBE

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`TAttLine`
`TAttFill`
`TAtt3D`
| <- | `TShape`
| <- | `TTUBE`
| <- | `TTUBS` |
<- |
`TCONS` |
`TCTUB` |

        protected:

          virtual void MakeTableOfCoSin() const
          virtual void SetPoints(Double_t* points) const

        public:

                                   TTUBS()
                                   TTUBS(const char* name, const char* title, const char* material, Float_t rmin, Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2)
                                   TTUBS(const char* name, const char* title, const char* material, Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2)
                                   TTUBS(const TTUBS&)
                           virtual ~TTUBS()
                    static TClass* Class()
                     virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
          virtual const TBuffer3D& GetBuffer3D(Int_t reqSections) const
                   virtual Float_t GetPhi1() const
                   virtual Float_t GetPhi2() const
                   virtual TClass* IsA() const
                            TTUBS& operator=(const TTUBS&)
                      virtual void ShowMembers(TMemberInspector& insp, char* parent)
                      virtual void Sizeof3D() const
                      virtual void Streamer(TBuffer& b)
                              void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          Float_t fPhi1  first phi limit
          Float_t fPhi2  second phi limit

## Class Description

     TUBS is a segment of a tube. It has 8 parameters:

         - name       name of the shape
         - title      shape's title
         - material  (see TMaterial)
         - rmin       inside radius
         - rmax       outside radius
         - dz         half length in z
         - phi1       starting angle of the segment
         - phi2       ending angle of the segment

     NOTE: phi1 should be smaller than phi2. If this is not the case,
           the system adds 360 degrees to phi2.

TTUBS()

     TUBS shape default constructor

TTUBS(const char *name, const char *title, const char *material, Float_t rmin, Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2) : TTUBE(name,title,material,rmin,rmax,dz)

     TUBS shape normal constructor

TTUBS(const char *name, const char *title, const char *material, Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2) : TTUBE(name,title,material,rmax,dz)

     TUBS shape "simplified" constructor

void MakeTableOfCoSin() const

~TTUBS()

     TUBS shape default destructor

Int_t DistancetoPrimitive(Int_t px, Int_t py)

     Compute distance from point px,py to a TUBE

     Compute the closest distance of approach from point px,py to each
     computed outline point of the TUBE.

void SetPoints(Double_t *points) const

     Create TUBS points

void Sizeof3D() const

     Return total X3D needed by TNode::ls (when called with option "x")

const TBuffer3D& GetBuffer3D(Int_t reqSections) const

### Inline Functions

                Float_t GetPhi1() const
                Float_t GetPhi2() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
                  TTUBS TTUBS(const TTUBS&)
                 TTUBS& operator=(const TTUBS&)

Author: Nenad Buncic 18/09/95
Last update: root/g3d:$Name: $:$Id: TTUBS.cxx,v 1.7 2005/03/09 18:19:26 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *