Make coherent ROOTLIBS definition
[u/mrichter/AliRoot.git] / ALIFAST / AliFDisplay.h
1 #ifndef AliFDisplay_H
2 #define AliFDisplay_H
3
4 //////////////////////////////////////////////////////////////////////////
5 //                                                                      //
6 // AliFDisplay                                                          //
7 //                                                                      //
8 // Utility class to display ALICE outline, tracks, clusters, jets,..    //
9 //                                                                      //
10 //////////////////////////////////////////////////////////////////////////
11
12 #ifndef AliFVirtualDisplay_H
13 #include "AliFVirtualDisplay.h"
14 #endif
15
16 class TCanvas;
17 class TPad;
18 class TArc;
19 class TTUBE;
20 class TNode;
21 class TPolyLine3D;
22 class TList;
23 class AliFParticle;
24
25 class AliFDisplay : public AliFVirtualDisplay {
26
27 private:
28    Bool_t            fDrawAllViews;         //Flag True if AllViews selected
29    Bool_t            fDrawParticles;        //Flag True if particles to be drawn
30    Float_t           fPTcut;                //PT cut to display objects
31    Float_t           fPTcutEGMUNU;          //PT cut for Electrons, Gammas, MUons, Neutrinos
32    Float_t           fRin;                  //Inner ALIAS radius
33    Float_t           fRout;                 //Outer ALIAS radius
34    Float_t           fZin;                  //Inner ALIAS length along Z
35    Float_t           fZout;                 //Outer ALIAS length along Z
36    Float_t           fTheta;                //Viewing angle theta
37    Float_t           fPhi;                  //Viewing angle phi
38    TCanvas          *fCanvas;               //Pointer to the display canvas
39    TPad             *fTrigPad;              //Pointer to the trigger pad 
40    TPad             *fButtons;              //Pointer to the buttons pad
41    TPad             *fPad;                  //Pointer to the event display main pad
42    TTUBE            *fTubin;                //Inner tube
43    TTUBE            *fTubout;               //outer tube
44    TNode            *fNodin;                //Node for detector outline
45    TList            *fFruits;               //List for fruits
46    AliFParticle     *fParticle;             //Pointer to Particle graphics manager
47    
48 public:
49                      AliFDisplay();
50                      AliFDisplay(const char *title);
51    virtual          ~AliFDisplay();
52    virtual Bool_t    AllViews() {return fDrawAllViews;}
53    virtual void      Clear(Option_t *option="");
54    virtual void      DisplayButtons();
55    virtual Int_t     DistancetoPrimitive(Int_t px, Int_t py);
56    virtual void      Draw(Option_t *option="");
57    virtual void      DrawAllViews();
58    Bool_t            DrawParticles() {return fDrawParticles;}
59    virtual void      DrawTitle(Option_t *option="");
60    virtual void      DrawView(Float_t theta, Float_t phi);
61    virtual void      DrawViewGL();
62    virtual void      DrawViewX3D();
63    virtual void      ExecuteEvent(Int_t event, Int_t px, Int_t py);
64    virtual void      GetEvent(Int_t event); //*MENU*
65    TNode            *Nodin() {return fNodin;}
66    TTUBE            *Tubin() {return fTubin;}
67    TPad             *Pad() {return fPad;}
68    virtual void      Paint(Option_t *option="");
69    virtual void      PaintFruit(TObject *obj, Float_t eta, Float_t phi, Float_t pt, Int_t type, Option_t *option="");
70    virtual void      PaintParticles(Option_t *option="");
71    Float_t           PTcut() {return fPTcut;}
72    Float_t           PTcutEGMUNU() {return fPTcutEGMUNU;}
73    Float_t           Rin() {return fRin;}
74    Float_t           Rout() {return fRout;}
75    virtual void      SetDrawParticles(Bool_t draw=kTRUE) {fDrawParticles=draw;} // *MENU*
76    virtual void      SetPTcut(Float_t ptcut=0.4); // *MENU*
77    virtual void      SetPTcutEGMUNU(Float_t ptcut=5); // *MENU*
78    virtual void      SetGeometry(Float_t rin=115); // *MENU*
79    virtual void      SetView(Float_t theta, Float_t phi);
80    virtual void      ShowNextEvent(Int_t delta=1);
81    virtual void      SizeFruit() const;
82    virtual void      SizeParticles() const;
83    Float_t           Zin() {return fZin;}
84    Float_t           Zout() {return fZout;}
85
86    ClassDef(AliFDisplay, 0)   //Utility class to display ALIAS outline, tracks, clusters, jets,..
87 };
88
89 #endif
90
91
92
93
94
95
96