]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ANALYSIS/Aliengui/AliTagAnalysisFrame.h
Adding includes now needed by ROOT
[u/mrichter/AliRoot.git] / ANALYSIS / Aliengui / AliTagAnalysisFrame.h
1 #ifndef ALITAGANALYSISFRAME_H
2 #define ALITAGANALYSISFRAME_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //                          Class AliTagAnalysisFrame
10 //   AliTagAnalysisFrame class that describes the event tag frame of the GUI
11 //
12 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
14
15
16
17 //////////////////////////////////////////////////////////////////////////
18 //                                                                      //
19 //                        AliTagAnalysisFrame                           //
20 //                                                                      //
21 //                      Event tag tab of the GUI.                       //
22 //                                                                      //
23 //////////////////////////////////////////////////////////////////////////
24
25 #include <TGFrame.h>
26
27 class TGListTreeItem;
28 class TGLabel;
29 class TGTextEntry;
30 class TGVerticalFrame;
31 class TGButton;
32 class TGGroupFrame;
33 class TGComboBox;
34 class TGListBox;
35 class TGTransientFrame;
36
37 class TGridResult;
38 class TChain;
39
40 class AliRunTagCuts;
41 class AliEventTagCuts;
42 class AliTagAnalysis;
43
44 class AliAlienBrowser;
45 class AliTagFrame;
46 class AliAnalysisGUI;
47
48 //___________________________________________________________________________
49 class AliTagAnalysisFrame : public TGMainFrame {
50 public:
51   AliTagAnalysisFrame(const TGWindow *main, UInt_t w, UInt_t h, AliAnalysisGUI* a=0);
52   ~AliTagAnalysisFrame();
53   
54   //___________________________________________________________________________
55   // slots
56   void LocalBrowse();
57   void GridBrowse();
58   void OnDoubleClick(TGListTreeItem* item, Int_t btn);
59   void OnOKButton();
60   void InsertTagCutsRangeLocal();
61   void InsertTagCutsRangeGrid();
62   void RunLocal();
63   void RunGrid();
64   void ProcessSelector(const char* selectorfile);
65
66   //___________________________________________________________________________
67  private:
68   AliTagAnalysisFrame(const AliTagAnalysisFrame&); // cp ctor
69   AliTagAnalysisFrame& operator= (const AliTagAnalysisFrame&); // op=
70    
71   // private methods
72   void BuildLocalGroup (TGCompositeFrame* frame);
73   void BuildGridGroup  (TGCompositeFrame* frame);
74   void InsertTagCutsRange(Int_t id);
75   void AddResult (const char* line);
76
77   const Int_t fkNumberOfTags; //event tags
78
79   TGVerticalFrame     *fVFrame1, *fVFrame2; //vertical frames
80   TGGroupFrame        *fGroup1, *fGroup2, *fGroup3; //group of frames
81    
82   AliAnalysisGUI      *fAliAnalysisGUI; //analysis gui pointer
83   AliTagFrame         *fTagFrame; //tag frame pointer
84   AliAlienBrowser     *fAliEnBrowser; //alien browser pointer
85
86   // local 
87   TGLabel             *fLocalLabel1; //label - local tags
88   TGTextEntry         *fLocalPath; //text box - local tags
89   TGButton            *fLocalButton, *fButtonInsert, *fButtonRun; //buttons
90   TGComboBox          *fComboEventTagCut; //combo box
91      
92   // Grid
93   TGLabel             *fGridLabel1; //label - grid tags
94   TGTextEntry         *fGridPath; //text box - grid tags
95   TGButton            *fGridButton, *fButtonInsert2, *fButtonRun2; //buttons
96   TGComboBox          *fComboEventTagCut2; //combo box
97
98   TGridResult         *fTagResult; //grid result
99   TChain              *fAnalysisChain; //tchain object
100
101   TGListBox           *fListBox; //list box
102   TGTransientFrame    *fBrowser; //frame
103   TGButton            *fBrowserButton; //browse button
104
105   // AliRoot Tag cut analysis 
106   AliTagAnalysis      *fAliTagAnalysis; //alitaganalysis object
107   AliRunTagCuts       *fAliRunCuts; //run cuts object
108   AliEventTagCuts     *fAliEventCuts; //event cuts object
109   
110   const char          **fEventTagCutsName; //event tag names
111
112   ClassDef(AliTagAnalysisFrame, 0); // Tag Analysis Frame
113 };
114
115 #endif