Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TTUBS.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/g3d:$Id$
0002 // Author: Nenad Buncic   18/09/95
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TTUBS
0013 #define ROOT_TTUBS
0014 
0015 
0016 ////////////////////////////////////////////////////////////////////////////
0017 //                                                                        //
0018 // TTUBS                                                                  //
0019 //                                                                        //
0020 // TUBS is a phi segment of a tube. It has 5 parameters, the same 3 as    //
0021 // TUBE plus the phi limits. The segment start at first limit and         //
0022 // includes increasing phi value up to the second limit or that plus      //
0023 // 360 degrees.                                                           //
0024 //                                                                        //
0025 ////////////////////////////////////////////////////////////////////////////
0026 
0027 #include "TTUBE.h"
0028 
0029 class TTUBS : public TTUBE {
0030 protected:
0031    Float_t fPhi1;        // first phi limit
0032    Float_t fPhi2;        // second phi limit
0033    void    MakeTableOfCoSin() const override;  // Create the table of the fSiTab; fCoTab
0034 
0035    void    SetPoints(Double_t *points) const override;
0036 
0037 public:
0038    TTUBS();
0039    TTUBS(const char *name, const char *title, const char *material, Float_t rmin, Float_t rmax, Float_t dz,
0040          Float_t phi1, Float_t phi2);
0041    TTUBS(const char *name, const char *title, const char *material, Float_t rmax, Float_t dz,
0042          Float_t phi1, Float_t phi2);
0043    ~TTUBS() override;
0044 
0045    Int_t   DistancetoPrimitive(Int_t px, Int_t py) override;
0046    const TBuffer3D &GetBuffer3D(Int_t reqSections) const override;
0047    virtual Float_t GetPhi1() const {return fPhi1;}
0048    virtual Float_t GetPhi2() const {return fPhi2;}
0049    void    Sizeof3D() const override;
0050 
0051    ClassDefOverride(TTUBS,1)  //TUBS shape
0052 };
0053 
0054 #endif