library: libGraf3d #include "TTUBE.h"

# TTUBE

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

## class TTUBE : public TShape

| Inheritance Chart:

`TObject`

<-

`TNamed`

`TAttLine`

`TAttFill`

`TAtt3D`

<-

`TShape`

<-

`TTUBE`

<-

`TCONE` |

`TELTU` |

`THYPE` |

`TTUBS`

<-

`TCONS` |

`TCTUB` |

        protected:

          virtual void MakeTableOfCoSin()
          virtual void PaintGLPoints(Float_t* vertex)

        public:

                          TTUBE()
                          TTUBE(const char* name, const char* title, const char* material, Float_t rmin, Float_t rmax, Float_t dz, Float_t aspect = 1)
                          TTUBE(const char* name, const char* title, const char* material, Float_t rmax, Float_t dz)
                          TTUBE(const TTUBE&)
                  virtual ~TTUBE()
           static TClass* Class()
            virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
          virtual Float_t GetAspectRatio()
          virtual Float_t GetDz()
            virtual Int_t GetNdiv()
            virtual Int_t GetNumberOfDivisions() const
          virtual Float_t GetRmax()
          virtual Float_t GetRmin()
          virtual TClass* IsA() const
                   TTUBE& operator=(const TTUBE&)
             virtual void Paint(Option_t* option)
             virtual void SetAspectRatio(Float_t factor = 1)
             virtual void SetNumberOfDivisions(Int_t ndiv)
             virtual void SetPoints(Float_t* buff)
             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 fRmin         ellipse  semi-axis   in  X inside
            Float_t fRmax         ellipse  semi-axis   in  X outside
            Float_t fDz           half length in z
              Int_t fNdiv         number of segments (precision)
            Float_t fAspectRatio  defines  (the ellipse semi-axis in Y)/(the ellipse semi-axis in X)
          Double_t* fSiTab        ! Table of sin(fPhi1) .... sin(fPhil+fDphi1)
          Double_t* fCoTab        ! Table of cos(fPhi1) .... cos(fPhil+fDphi1)

## Class Description

     TUBE is a tube. It has 6 parameters:

         - name       name of the shape
         - title      shape's title
         - material  (see TMaterial)
         - rmin       inside radius
         - rmax       outside radius
         - dz         half length in z

TTUBE()

    *-*-*-*-*-*-*-*-*-*-*-*TUBE shape default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                    ==============================

TTUBE(const char *name, const char *title, const char *material, Float_t rmin, Float_t rmax, Float_t dz,Float_t aspect) : TShape(name, title,material)

    *-*-*-*-*-*-*-*-*-*-*-*-*TUBE shape normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      =============================

TTUBE(const char *name, const char *title, const char *material, Float_t rmax, Float_t dz) : TShape(name, title,material)

    *-*-*-*-*-*-*-*-*-*-*-*-*TUBE shape "simplified" constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                      ===================================

void MakeTableOfCoSin()

~TTUBE()

    *-*-*-*-*-*-*-*-*-*-*-*-*TUBE 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 Paint(Option_t *option)

    *-*-*-*-*-*-*-*Paint this 3-D shape with its current attributes*-*-*-*-*-*-*-*
    *-*            ================================================

void PaintGLPoints(Float_t *vertex)

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Paint BRIK via OpenGL *-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                            =====================

void SetNumberOfDivisions (Int_t ndiv)

    *-*-*-*-*Set number of divisions used to draw this tube*-*-*-*-*-*-*-*-*-*-*
    *-*      ==============================================

void SetPoints(Float_t *buff)

    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*Create TUBE points*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                          ==================

void Sizeof3D() const

    *-*-*-*-*-*Return total X3D size of this shape with its attributes*-*-*-*-*-*-*
    *-*        =======================================================

void Streamer(TBuffer &R__b)

     Stream an object of class TTUBE.

### Inline Functions

                Float_t GetRmin()
                Float_t GetRmax()
                Float_t GetDz()
                  Int_t GetNdiv()
                Float_t GetAspectRatio()
                  Int_t GetNumberOfDivisions() const
                   void SetAspectRatio(Float_t factor = 1)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
                  TTUBE TTUBE(const TTUBE&)
                 TTUBE& operator=(const TTUBE&)

Author: Nenad Buncic 18/09/95
Last update: root/g3d:$Name: $:$Id: TTUBE.cxx,v 1.3 2002/11/11 11:21:16 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *