// @(#)root/g3d:$Id$
// Author: Rene Brun   26/06/97

/*************************************************************************
 * 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.             *
 *************************************************************************/

#ifndef ROOT_TCTUB
#define ROOT_TCTUB


////////////////////////////////////////////////////////////////////////////
//                                                                        //
// TCTUB                                                                  //
//                                                                        //
// 'CTUB' is a cut  tube with 11 parameters.  The  first 5 parameters     //
//        are the same  as for the TUBS.  The  remaining 6 parameters     //
//        are the director  cosines of the surfaces  cutting the tube     //
//        respectively at the low and high Z values.                      //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TTUBS
#include "TTUBS.h"
#endif

class TCTUB : public TTUBS {

protected:
   Float_t fCosLow[3];        // dir cosinus of surface cutting tube at low z
   Float_t fCosHigh[3];       // dir cosinus of surface cutting tube at high z

   virtual void    SetPoints(Double_t *points) const;
public:
   TCTUB();
   TCTUB(const char *name, const char *title, const char *material, Float_t rmin,
         Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2,
         Float_t coslx, Float_t cosly, Float_t coslz,
         Float_t coshx, Float_t coshy, Float_t coshz);
   TCTUB(const char *name, const char *title, const char *material, Float_t rmin,
         Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2,
         Float_t *lowNormal, Float_t *highNormal);
   virtual ~TCTUB();

   ClassDef(TCTUB,2)  //The Cut Tube shape
};

#endif
 TCTUB.h:1
 TCTUB.h:2
 TCTUB.h:3
 TCTUB.h:4
 TCTUB.h:5
 TCTUB.h:6
 TCTUB.h:7
 TCTUB.h:8
 TCTUB.h:9
 TCTUB.h:10
 TCTUB.h:11
 TCTUB.h:12
 TCTUB.h:13
 TCTUB.h:14
 TCTUB.h:15
 TCTUB.h:16
 TCTUB.h:17
 TCTUB.h:18
 TCTUB.h:19
 TCTUB.h:20
 TCTUB.h:21
 TCTUB.h:22
 TCTUB.h:23
 TCTUB.h:24
 TCTUB.h:25
 TCTUB.h:26
 TCTUB.h:27
 TCTUB.h:28
 TCTUB.h:29
 TCTUB.h:30
 TCTUB.h:31
 TCTUB.h:32
 TCTUB.h:33
 TCTUB.h:34
 TCTUB.h:35
 TCTUB.h:36
 TCTUB.h:37
 TCTUB.h:38
 TCTUB.h:39
 TCTUB.h:40
 TCTUB.h:41
 TCTUB.h:42
 TCTUB.h:43
 TCTUB.h:44
 TCTUB.h:45
 TCTUB.h:46
 TCTUB.h:47
 TCTUB.h:48
 TCTUB.h:49
 TCTUB.h:50
 TCTUB.h:51
 TCTUB.h:52