Logo ROOT  
Reference Guide
TTRD2.cxx
Go to the documentation of this file.
1// @(#)root/g3d:$Id$
2// Author: Nenad Buncic 13/09/95
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#include "TTRD2.h"
13#include "TNode.h"
14
16
17/** \class TTRD2
18\ingroup g3d
19A trapezoid with both x and y dimensions varying along z.
20
21\image html g3d_trd2.png
22It has 8 parameters:
23
24 - name: name of the shape
25 - title: shape's title
26 - material: (see TMaterial)
27 - dx1: half-length along x at the z surface positioned at -DZ
28 - dx2: half-length along x at the z surface positioned at +DZ
29 - dy1: half-length along y at the z surface positioned at -DZ
30 - dy2: half-length along y at the z surface positioned at +DZ
31 - dz: half-length along the z-axis
32*/
33
34////////////////////////////////////////////////////////////////////////////////
35/// TRD2 shape default constructor
36
38{
39 fDx2 = 0.;
40 fDy2 = 0.;
41}
42
43////////////////////////////////////////////////////////////////////////////////
44/// TRD2 shape normal constructor
45
46TTRD2::TTRD2(const char *name, const char *title, const char *material, Float_t dx1, Float_t dx2, Float_t dy1,
47 Float_t dy2, Float_t dz) : TBRIK(name, title,material,dx1,dy1,dz)
48{
49 fDx2 = dx2;
50 fDy2 = dy2;
51}
52
53////////////////////////////////////////////////////////////////////////////////
54/// TRD2 shape default destructor
55
57{
58}
59
60////////////////////////////////////////////////////////////////////////////////
61/// Create TRD2 points
62
64{
65 Float_t dx1, dx2, dy1, dy2, dz;
66
67 dx1 = TBRIK::fDx;
68 dx2 = fDx2;
69 dy1 = TBRIK::fDy;
70 dy2 = fDy2;
71 dz = TBRIK::fDz;
72
73 if (points) {
74 points[ 0] = -dx1 ; points[ 1] = -dy1 ; points[ 2] = -dz;
75 points[ 3] = -dx1 ; points[ 4] = dy1 ; points[ 5] = -dz;
76 points[ 6] = dx1 ; points[ 7] = dy1 ; points[ 8] = -dz;
77 points[ 9] = dx1 ; points[10] = -dy1 ; points[11] = -dz;
78 points[12] = -dx2 ; points[13] = -dy2 ; points[14] = dz;
79 points[15] = -dx2 ; points[16] = dy2 ; points[17] = dz;
80 points[18] = dx2 ; points[19] = dy2 ; points[20] = dz;
81 points[21] = dx2 ; points[22] = -dy2 ; points[23] = dz;
82 }
83}
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
#define ClassImp(name)
Definition: Rtypes.h:365
char name[80]
Definition: TGX11.cxx:109
point * points
Definition: X3DBuffer.c:22
A box with faces perpendicular to the axes.
Definition: TBRIK.h:26
Float_t fDz
Definition: TBRIK.h:31
Float_t fDy
Definition: TBRIK.h:30
Float_t fDx
Definition: TBRIK.h:29
A trapezoid with both x and y dimensions varying along z.
Definition: TTRD2.h:29
TTRD2()
TRD2 shape default constructor.
Definition: TTRD2.cxx:37
Float_t fDx2
Definition: TTRD2.h:31
virtual void SetPoints(Double_t *points) const
Create TRD2 points.
Definition: TTRD2.cxx:63
virtual ~TTRD2()
TRD2 shape default destructor.
Definition: TTRD2.cxx:56
Float_t fDy2
Definition: TTRD2.h:32