ROOT logo
// @(#)root/g3d:$Id$
// Author: Nenad Buncic   17/09/95

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#include "TTRD1.h"
#include "TNode.h"

ClassImp(TTRD1)

//______________________________________________________________________________
// Begin_Html <P ALIGN=CENTER> <IMG SRC="gif/trd1.gif"> </P> End_Html
// TRD1 is a trapezoid with the x dimension varying along z.
// It has 7 parameters:
//
//     - name       name of the shape
//     - title      shape's title
//     - material  (see TMaterial)
//     - dx1        half-length along x at the z surface positioned at -DZ
//     - dx2        half-length along x at the z surface positioned at +DZ
//     - dy         half-length along the y-axis
//     - dz         half-length along the z-axis


//______________________________________________________________________________
TTRD1::TTRD1()
{
   // TRD1 shape default constructor

   fDx2 = 0.;
}


//______________________________________________________________________________
TTRD1::TTRD1(const char *name, const char *title, const char *material, Float_t dx1, Float_t dx2, Float_t dy, Float_t dz)
      : TBRIK(name, title,material,dx1,dy,dz)
{
   // TRD1 shape normal constructor

   fDx2 = dx2;
}


//______________________________________________________________________________
TTRD1::~TTRD1()
{
   // TRD1 shape default destructor
}


//______________________________________________________________________________
void TTRD1::SetPoints(Double_t *points) const
{
   // Create TRD1 points

   Float_t dx1, dx2, dy, dz;

   dx1 = TBRIK::fDx;
   dx2 = fDx2;
   dy  = TBRIK::fDy;
   dz  = TBRIK::fDz;

   if (points) {
      points[ 0] = -dx1 ; points[ 1] = -dy ; points[ 2] = -dz;
      points[ 3] = -dx1 ; points[ 4] =  dy ; points[ 5] = -dz;
      points[ 6] =  dx1 ; points[ 7] =  dy ; points[ 8] = -dz;
      points[ 9] =  dx1 ; points[10] = -dy ; points[11] = -dz;
      points[12] = -dx2 ; points[13] = -dy ; points[14] =  dz;
      points[15] = -dx2 ; points[16] =  dy ; points[17] =  dz;
      points[18] =  dx2 ; points[19] =  dy ; points[20] =  dz;
      points[21] =  dx2 ; points[22] = -dy ; points[23] =  dz;
   }
}
 TTRD1.cxx:1
 TTRD1.cxx:2
 TTRD1.cxx:3
 TTRD1.cxx:4
 TTRD1.cxx:5
 TTRD1.cxx:6
 TTRD1.cxx:7
 TTRD1.cxx:8
 TTRD1.cxx:9
 TTRD1.cxx:10
 TTRD1.cxx:11
 TTRD1.cxx:12
 TTRD1.cxx:13
 TTRD1.cxx:14
 TTRD1.cxx:15
 TTRD1.cxx:16
 TTRD1.cxx:17
 TTRD1.cxx:18
 TTRD1.cxx:19
 TTRD1.cxx:20
 TTRD1.cxx:21
 TTRD1.cxx:22
 TTRD1.cxx:23
 TTRD1.cxx:24
 TTRD1.cxx:25
 TTRD1.cxx:26
 TTRD1.cxx:27
 TTRD1.cxx:28
 TTRD1.cxx:29
 TTRD1.cxx:30
 TTRD1.cxx:31
 TTRD1.cxx:32
 TTRD1.cxx:33
 TTRD1.cxx:34
 TTRD1.cxx:35
 TTRD1.cxx:36
 TTRD1.cxx:37
 TTRD1.cxx:38
 TTRD1.cxx:39
 TTRD1.cxx:40
 TTRD1.cxx:41
 TTRD1.cxx:42
 TTRD1.cxx:43
 TTRD1.cxx:44
 TTRD1.cxx:45
 TTRD1.cxx:46
 TTRD1.cxx:47
 TTRD1.cxx:48
 TTRD1.cxx:49
 TTRD1.cxx:50
 TTRD1.cxx:51
 TTRD1.cxx:52
 TTRD1.cxx:53
 TTRD1.cxx:54
 TTRD1.cxx:55
 TTRD1.cxx:56
 TTRD1.cxx:57
 TTRD1.cxx:58
 TTRD1.cxx:59
 TTRD1.cxx:60
 TTRD1.cxx:61
 TTRD1.cxx:62
 TTRD1.cxx:63
 TTRD1.cxx:64
 TTRD1.cxx:65
 TTRD1.cxx:66
 TTRD1.cxx:67
 TTRD1.cxx:68
 TTRD1.cxx:69
 TTRD1.cxx:70
 TTRD1.cxx:71
 TTRD1.cxx:72
 TTRD1.cxx:73
 TTRD1.cxx:74
 TTRD1.cxx:75
 TTRD1.cxx:76
 TTRD1.cxx:77
 TTRD1.cxx:78
 TTRD1.cxx:79