// @(#)root/g3d:$Name: $:$Id: TTRD2.cxx,v 1.1.1.1 2000/05/16 17:00:43 rdm Exp $ // Author: Nenad Buncic 13/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 "TTRD2.h" #include "TNode.h" ClassImp(TTRD2) //______________________________________________________________________________ //
// TRD2 is a trapezoid with both x and y dimensions varying along z.
// It has 8 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
// - dy1 half-length along y at the z surface positioned at -DZ
// - dy2 half-length along y at the z surface positioned at +DZ
// - dz half-length along the z-axis
//______________________________________________________________________________
TTRD2::TTRD2()
{
//*-*-*-*-*-*-*-*-*-*-*-*TRD2 shape default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* ==============================
}
//______________________________________________________________________________
TTRD2::TTRD2(const char *name, const char *title, const char *material, Float_t dx1, Float_t dx2, Float_t dy1,
Float_t dy2, Float_t dz) : TBRIK(name, title,material,dx1,dy1,dz)
{
//*-*-*-*-*-*-*-*-*-*-*-*-*TRD2 shape normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* =============================
fDx2 = dx2;
fDy2 = dy2;
}
//______________________________________________________________________________
TTRD2::~TTRD2()
{
//*-*-*-*-*-*-*-*-*-*-*-*-*TRD2 shape default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* =============================
}
//______________________________________________________________________________
void TTRD2::SetPoints(Float_t *buff)
{
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Create TRD2 points*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//*-* ==================
Float_t dx1, dx2, dy1, dy2, dz;
dx1 = TBRIK::fDx;
dx2 = fDx2;
dy1 = TBRIK::fDy;
dy2 = fDy2;
dz = TBRIK::fDz;
if (buff) {
buff[ 0] = -dx1; buff[ 1] = -dy1; buff[ 2] = -dz;
buff[ 3] = dx1; buff[ 4] = -dy1; buff[ 5] = -dz;
buff[ 6] = dx1; buff[ 7] = dy1; buff[ 8] = -dz;
buff[ 9] = -dx1; buff[10] = dy1; buff[11] = -dz;
buff[12] = -dx2; buff[13] = -dy2; buff[14] = dz;
buff[15] = dx2; buff[16] = -dy2; buff[17] = dz;
buff[18] = dx2; buff[19] = dy2; buff[20] = dz;
buff[21] = -dx2; buff[22] = dy2; buff[23] = dz;
}
}