]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/V0Editors.h
First big commit of the mchview program and its accompanying library,
[u/mrichter/AliRoot.git] / EVE / Alieve / V0Editors.h
1
2 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               */
4
5
6 /***********************************************************************
7   This editor appears in the Reve window when v0 are visualize.
8 It allows to select the v0 as a function of some useful parameters.
9
10 Ludovic Gaudichet (gaudichet@to.infn.it)
11 ************************************************************************/
12
13 #ifndef ALIEVE_V0Editors_H
14 #define ALIEVE_V0Editors_H
15
16 #include <TGedFrame.h>
17
18 class TGCheckButton;
19 class TGNumberEntry;
20 class TGColorSelect;
21 class TRootEmbeddedCanvas;
22 class TH1F;
23 class TGCompositeFrame;
24 class TGTab;
25
26 namespace Reve
27 {
28 class RGValuator;
29 class RGDoubleValuator;
30 }
31
32 namespace Alieve
33 {
34 class V0List;
35
36 class V0ListEditor : public TGedFrame
37 {
38   V0ListEditor(const V0ListEditor&);            // Not implemented
39   V0ListEditor& operator=(const V0ListEditor&); // Not implemented
40
41 protected:
42   V0List* fMList; // fModel dynamic-casted to V0ListEditor
43
44   TGCheckButton*     fRnrV0sDaugh;
45   TGCheckButton*     fRnrV0vtx;
46   TGCheckButton*     fRnrV0path;
47
48   TGTab *fMainTabA;
49   TGTab *fMainTabB;
50   TGTab *fTabA[3];
51   TGTab *fTabB[3];
52   static const Int_t fgkNRange = 13;
53   Reve::RGDoubleValuator    *fRange[fgkNRange];
54
55   static const Int_t fgkNCanvas = 14;
56   TRootEmbeddedCanvas *fCanvasA[fgkNCanvas];
57   TRootEmbeddedCanvas *fCanvasB[fgkNCanvas];
58
59   TGCompositeFrame*  AddTab(TGTab *tab, Int_t i, Int_t can, char *name);
60   TGCompositeFrame** CreateTab(TGTab **pMainTab, TGTab **ptab, Int_t can);
61
62   void UpdateAll(Int_t iCanA);
63   void AddSelectTab();
64   void AddSeeTab();
65   void AddValuator(TGCompositeFrame* frame, char *name,
66                    Float_t min, Float_t max, Int_t pres, char *func,
67                    Int_t iHist);
68
69
70 public:
71   V0ListEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
72                   UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
73   ~V0ListEditor();
74
75   virtual void SetModel(TObject* obj);
76   void DoRnrDaughters();
77   void DoRnrV0vtx();
78   void DoRnrV0path();
79   void FillCanvas();
80   void UpdateSelectedTab();
81   void AdjustHist(Int_t iHist);
82   void ResetCuts();
83
84   void MassK0sRange();
85   void MassLamRange();
86   void MassAntiLamRange();
87   void ESDv0IndexRange();
88   void CosPointingRange();
89   void DaughterDcaRange();
90   void RadiusRange();
91   void PtRange();
92   void EtaRange();
93   void NegPtRange();
94   void NegEtaRange();
95   void PosPtRange();
96   void PosEtaRange();
97
98   ClassDef(V0ListEditor, 1); // Editor for V0List
99 }; // endclass V0ListEditor
100
101 } // end namespace Alieve
102
103 #endif