00001 // @(#)root/g3d:$Id: TCTUB.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Rene Brun 26/06/97 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TCTUB 00013 #define ROOT_TCTUB 00014 00015 00016 //////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TCTUB // 00019 // // 00020 // 'CTUB' is a cut tube with 11 parameters. The first 5 parameters // 00021 // are the same as for the TUBS. The remaining 6 parameters // 00022 // are the director cosines of the surfaces cutting the tube // 00023 // respectively at the low and high Z values. // 00024 // // 00025 //////////////////////////////////////////////////////////////////////////// 00026 00027 #ifndef ROOT_TTUBS 00028 #include "TTUBS.h" 00029 #endif 00030 00031 class TCTUB : public TTUBS { 00032 00033 protected: 00034 Float_t fCosLow[3]; // dir cosinus of surface cutting tube at low z 00035 Float_t fCosHigh[3]; // dir cosinus of surface cutting tube at high z 00036 00037 virtual void SetPoints(Double_t *points) const; 00038 public: 00039 TCTUB(); 00040 TCTUB(const char *name, const char *title, const char *material, Float_t rmin, 00041 Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2, 00042 Float_t coslx, Float_t cosly, Float_t coslz, 00043 Float_t coshx, Float_t coshy, Float_t coshz); 00044 TCTUB(const char *name, const char *title, const char *material, Float_t rmin, 00045 Float_t rmax, Float_t dz, Float_t phi1, Float_t phi2, 00046 Float_t *lowNormal, Float_t *highNormal); 00047 virtual ~TCTUB(); 00048 00049 ClassDef(TCTUB,2) //The Cut Tube shape 00050 }; 00051 00052 #endif