]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveLegoEditor.h
PHOS - Fixing circular dependecies + initial DA files
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveLegoEditor.h
1 // $Id$
2 // Author: Stefano Carrazza 2010, CERN, stefano.carrazza@cern.ch
3
4 /**************************************************************************
5  * Copyright(c) 1998-2009, 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 #ifndef ALIEVELEGOEDITOR_H
11 #define ALIEVELEGOEDITOR_H
12
13 #include "TGedFrame.h"
14
15 class TGButton;
16 class TGButtonGroup;
17 class TGCheckButton;
18 class TGColorSelect;
19 class TGComboBox;
20 class TGGroupFrame;
21 class TGLabel;
22 class TGNumberEntry;
23 class TGRadioButton;
24
25 class AliEveLego;
26
27 //______________________________________________________________________________
28 // AliEveLegoEditor is the class editor of AliEveLego
29 //
30
31 class AliEveLegoEditor : public TGedFrame
32 {
33 public:
34    AliEveLegoEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
35          UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
36    virtual ~AliEveLegoEditor() {}
37
38    virtual void SetModel(TObject* obj);
39
40    // Slot methods
41    void ApplyChanges();
42    void CollisionCandidatesOnly();
43    void CreateAllEventsEditor();
44    void DataIsMC();
45    void DoAllEvents();
46    void ShowPosCharge();
47    void ShowNegCharge();
48    void ShowElectrons();
49    void ShowMuons();
50    void ShowPions();
51    void ShowKaons();
52    void ShowProtons();
53    void ShowPosChargeAE();
54    void ShowNegChargeAE();
55    void ShowElectronsAE();
56    void ShowMuonsAE();
57    void ShowPionsAE();
58    void ShowKaonsAE();
59    void ShowProtonsAE();
60    void SetThreshold();
61    void SetThresholdAE();
62    void SetMaxPt();
63    void SetMaxPtAE();
64    void ShowByTracks(Int_t id);
65    void ShowByTracksAE(Int_t id);
66
67 protected:
68    AliEveLego    *fM;                // Model object.
69
70 private:
71    // Single event GUI
72    TGTextButton  *fAllEventsButton;  // text button for all events
73    TGGroupFrame  *fParticlesBG;      // particle selection button
74    TGButtonGroup *fTrackSelection;   // track selection button
75    TGCheckButton *fPosCharged;       // check button for positive only charged particles
76    TGCheckButton *fNegCharged;       // check button for negative only charged particles
77    TGCheckButton *fElectrons;        // check button for electrons
78    TGCheckButton *fMuons;            // check button for muons
79    TGCheckButton *fPions;            // check button for pions
80    TGCheckButton *fKaons;            // check button for kaons
81    TGCheckButton *fProtons;          // check button for protons
82    TGRadioButton *fRtracks[2];       // radio button for track selection
83    TGLabel       *fLabel;            // label for track selection
84    TGLabel       *fLabel1;           // label for event selection
85    TGNumberEntry *fThreshold;        // number entry to setup threshold
86    TGNumberEntry *fMaxPt;            // number entry to setup max pt
87    TGComboBox    *fSelect;           // combo box to filter events
88
89    // All events GUI
90    TGButtonGroup *fParticlesBGAE;    // particle selection button for all events
91    TGButtonGroup *fTrackSelectionAE; // track selection for all events
92    TGCheckButton *fPosChargedAE;     // check button for positive only charged particles
93    TGCheckButton *fNegChargedAE;     // check button for negative only charged particles
94    TGCheckButton *fElectronsAE;      // check button for electrons
95    TGCheckButton *fMuonsAE;          // check button for muons
96    TGCheckButton *fPionsAE;          // check button for pions
97    TGCheckButton *fKaonsAE;          // check button for kaons
98    TGCheckButton *fProtonsAE;        // check button for protons
99    TGTextButton  *fApplyChanges;     // apply selections
100    TGRadioButton *fRtracksAE[2];     // radio button track
101    TGLabel       *fLabelAE;          // label for track selection
102    TGLabel       *fLabel1AE;         // label for event selection
103    TGNumberEntry *fThresholdAE;      // number entry to setup threshold
104    TGNumberEntry *fMaxPtAE;          // number entry to setup max pt
105    TGButtonGroup *fEventControl;     // event control panel
106    TGCheckButton *fIsMC;             // check if data is from MC
107    TGCheckButton *fCollisionCandidatesOnly; // fill all collision candidates events
108
109    AliEveLegoEditor(const AliEveLegoEditor&);            // Not implemented
110    AliEveLegoEditor& operator=(const AliEveLegoEditor&); // Not implemented
111
112    ClassDef(AliEveLegoEditor, 0); // GUI editor for AliEveLego.
113 };
114
115 #endif