]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/blacklisted-classes/AliEveCascadeEditors.h
Move core classes from EveDet to EveBase.
[u/mrichter/AliRoot.git] / EVE / EveBase / blacklisted-classes / AliEveCascadeEditors.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9 /***********************************************************************
10   This editor appears in the TEveUtil window when cascades are visualize.
11 It allows to select the cascades as a function of some useful parameters.
12
13 Ludovic Gaudichet (gaudichet@to.infn.it)
14 ************************************************************************/
15
16
17 #ifndef ALIEVE_CascadeEditors_H
18 #define ALIEVE_CascadeEditors_H
19
20 #include <TGedFrame.h>
21
22 class TGCheckButton;
23 class TGNumberEntry;
24 class TGColorSelect;
25 class TRootEmbeddedCanvas;
26 class TH1F;
27 class TGCompositeFrame;
28 class TGTab;
29
30 namespace TEveUtil
31 {
32 class TEveGValuator;
33 class TEveGDoubleValuator;
34 }
35
36 class CascadeList;
37
38 class CascadeListEditor : public TGedFrame
39 {
40   CascadeListEditor(const CascadeListEditor&);            // Not implemented
41   CascadeListEditor& operator=(const CascadeListEditor&); // Not implemented
42
43 protected:
44   CascadeList* fMList; // fModel dynamic-casted to CascadeListEditor
45
46   TGCheckButton*     fRnrV0Daughters;
47   TGCheckButton*     fRnrV0path;
48   TGCheckButton*     fRnrVtx;
49   TGCheckButton*     fRnrBach;
50   TGCheckButton*     fRnrCasPath;
51
52   TGTab *fMainTabA;
53   TGTab *fMainTabB;
54   TGTab *fTabA[3];
55   TGTab *fTabB[3];
56   static const Int_t fgkNRange = 14;
57   TEveGDoubleValuator *fRange[fgkNRange];
58
59   static const Int_t fgkNCanvas = 15;
60   TRootEmbeddedCanvas *fCanvasA[fgkNCanvas];
61   TRootEmbeddedCanvas *fCanvasB[fgkNCanvas];
62
63   TGCompositeFrame*  AddTab(TGTab *tab, Int_t i, Int_t can, char *name);
64   TGCompositeFrame** CreateTab(TGTab **pMainTab, TGTab **ptab, Int_t can);
65
66   void UpdateAll(Int_t iCanA);
67   void AddSelectTab();
68   void AddSeeTab();
69   void AddValuator(TGCompositeFrame* frame, char *name,
70                    Float_t min, Float_t max, Int_t pres, char *func,
71                    Int_t iHist);
72
73
74 public:
75   CascadeListEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
76                   UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
77   ~CascadeListEditor();
78
79   virtual void SetModel(TObject* obj);
80   void DoRnrV0Daughters();
81   void DoRnrV0path();
82   void DoRnrVtx();
83   void DoRnrBach();
84   void DoRnrCasPath();
85
86   void FillCanvas();
87   void UpdateSelectedTab();
88   void AdjustHist(Int_t iHist);
89   void ResetCuts();
90
91   void MassXiRange();
92   void MassOmegaRange();
93   void IndexRange();
94   void CosPointingRange();
95   void BachV0DCARange();
96   void RadiusRange();
97   void PtRange();
98   void PseudoRapRange();
99   void NegPtRange();
100   void NegEtaRange();
101   void PosPtRange();
102   void PosEtaRange();
103   void BachPtRange();
104   void BachEtaRange();
105
106   ClassDef(CascadeListEditor, 1); // Editor for CascadeList
107 }; // endclass CascadeListEditor
108
109 #endif