library: libGraf3d #include "TGTRA.h"

# TGTRA

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

## class TGTRA : public TBRIK

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`TAttLine`
`TAttFill`
`TAtt3D`
| <- | `TShape`
| <- | `TBRIK`
| <- | `TGTRA` |

        protected:

          virtual void SetPoints(Double_t* points) const

        public:

                          TGTRA()
                          TGTRA(const char* name, const char* title, const char* material, Float_t dz, Float_t theta, Float_t phi, Float_t twist, Float_t h1, Float_t bl1, Float_t tl1, Float_t alpha1, Float_t h2, Float_t bl2, Float_t tl2, Float_t alpha2)
                          TGTRA(const TGTRA&)
                  virtual ~TGTRA()
           static TClass* Class()
                  Float_t GetAlpha1() const
                  Float_t GetAlpha2() const
                  Float_t GetBl1() const
                  Float_t GetBl2() const
                  Float_t GetH1() const
                  Float_t GetH2() const
                  Float_t GetTl1() const
                  Float_t GetTl2() const
                  Float_t GetTwist() const
          virtual TClass* IsA() const
                   TGTRA& operator=(const TGTRA&)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          Float_t fTwist   twisting parameter
          Float_t fH1      half length in y at low z
          Float_t fBl1     half length in x at low z and y low edge
          Float_t fTl1     half length in x at low z and y high edge
          Float_t fAlpha1  angle w.r.t. the y axis
          Float_t fH2      half length in y at high z
          Float_t fBl2     half length in x at high z and y low edge
          Float_t fTl2     half length in x at high z and y high edge
          Float_t fAlpha2  angle w.r.t. the y axis

## Class Description

     GTRA is a general twisted trapezoid. The faces perpendicular to z are trapezia
     and their centres are not necessarily on a line parallel to the z axis as the
     TRAP; additionally, the faces may be twisted so that none of their edges are
     parallel. It is a TRAP shape, except that it is twisted in the x-y plane as a
     function of z. The parallel sides perpendicular to the z axis are rotated with
     respect to the x axis by an angle TWIST, which is one of the parameters. The
     shape is defined by the eight corners and is assumed to be constructed of
     straight lines joining points on the boundary of the trapezoidal face at z=-DZ
     to the corresponding points on the face at z=DZ. Divisions are not allowed.
     It has 15 parameters:

         - name       name of the shape
         - title      shape's title
         - material  (see TMaterial)
         - dZ         half-length along the z axis
         - theta      polar angle of the line joining the centre of the face
                      at -DZ to the centre of the one at +DZ
         - phi        azimuthal angle of the line joining the centre of
                      the face at -DZ to the centre of the one at +DZ
         - twist      twist angle of the faces parallel to the x-y plane
                      at z = +/- DZ around an axis parallel to z passing
                      through their centre
         - h1         half-length along y of the face at -DZ
         - bl1        half-length along x of the side at -H1 in y of
                      the face at -DZ in z
         - tl1        half-length along x of the side at +H1 in y of the face
                      at -DZ in z
         - alpha1     angle with respect to the y axis from the centre of
                      the side at -H1 in y to the centre of the side at
                      +H1 in y of the face at -DZ in z
         - h2         half-length along y of the face at +DZ
         - bL2        half-length along x of the side at -H2 in y of the face at
                      +DZ in z

         - tl2        half-length along x of the side at +H2 in y of the face
                      at +DZ in z

         - alpha2     angle with respect to the y axis from the centre of the side
                      at -H2 in y to the centre of the side at +H2 in y of the
                      face at +DZ in z

TGTRA ()

    *-*-*-*-*-*-*-*-*-*-*-*GTRA shape default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                    ==============================

TGTRA (const char *name, const char *title, const char *material, Float_t dz, Float_t theta, Float_t phi, Float_t twist, Float_t h1, Float_t bl1, Float_t tl1, Float_t alpha1, Float_t h2, Float_t bl2, Float_t tl2, Float_t alpha2) : TBRIK (name, title, material, theta, phi, dz)

     GTRA shape normal constructor

~TGTRA ()

     GTRA shape default destructor

void SetPoints (Double_t *points) const

     Create GTRA points

### Inline Functions

                Float_t GetTwist() const
                Float_t GetH1() const
                Float_t GetBl1() const
                Float_t GetTl1() const
                Float_t GetAlpha1() const
                Float_t GetH2() const
                Float_t GetBl2() const
                Float_t GetTl2() const
                Float_t GetAlpha2() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
                  TGTRA TGTRA(const TGTRA&)
                 TGTRA& operator=(const TGTRA&)

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