Latest version
[u/mrichter/AliRoot.git] / GEODB / AliGSphere.h
CommitLineData
ab2f6604 1#ifndef ALIGSPHERE_H
2#define ALIGSPHERE_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
ab2f6604 7
8#include "AliGShape.h"
9
10class AliGSphere: public AliGShape {
11
12 private:
13 Float_t fAspectRatio; // Relation between asumth and grid size (by default 1.0)
14 Double_t* fCoTab; // Table of cos(fPhimin) .... cos(Phi)
15 Double_t* fCoThetaTab; // Table of sin(gThemin) .... cos(Theta)
16 Int_t fNdiv; // number of divisions
17 Int_t fNz; // number of sections
18 Double_t* fSiTab; // Table of sin(fPhimin) .... sin(Phi)
19
20 protected:
21 Float_t faX; // Coeff along Ox
22 Float_t faY; // Coeff along Oy
23 Float_t faZ; // Coeff along Oz
24 Float_t fPhimax; // maximum phi
25 Float_t fPhimin; // minimum phi
26 Float_t fRmax; // maximum radius
27 Float_t fRmin; // minimum radius
28 Float_t fThemax; // maximum theta
29 Float_t fThemin; // minimum theta
30
31 virtual void MakeTableOfCoSin(); // Create the table of the fSiTab; fCoTab
32 virtual void PaintGLPoints(Float_t *vertex);
33
34 public:
35 AliGSphere();
36 AliGSphere(Text_t *name, Text_t *title, Float_t rmin, Float_t rmax, Float_t themin, Float_t themax, Float_t phimin, Float_t phimax);
37 AliGSphere(Text_t *name, Text_t *title, Float_t rmax);
38 AliGSphere(AliGSphere *sphere);
39 virtual ~AliGSphere(); // Destructor
40
41 virtual void Draw(Option_t *option);
42 virtual void DrawShape(Option_t *option); // *MENU*
43 virtual Int_t GetNumberOfDivisions () const {if (fNdiv) return fNdiv; else return 0; /*kDiv;*/}
44 virtual void Paint(Option_t *option);
45 virtual void SetEllipse(Float_t *factors);
46 virtual void SetNumberOfDivisions (Int_t p);
47 virtual void SetPoints(Float_t *buff);
48 void Sizeof3D() const;
49
50 ClassDef(AliGSphere,1) //Simple sphere class
51};
52#endif