]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveBeamsInfo.h
change eve redraw while processing event
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveBeamsInfo.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 ALIEVEBEAMSINFO_H
11 #define ALIEVEBEAMSINFO_H
12
13 #include "TEveElement.h"
14
15 class AliESDEvent;
16 class AliPhysicsSelection;
17 class AliEveEventSelector;
18 class AliEveMultiView;
19
20 class TGLOverlayButton;
21 class TEveViewer;
22
23 //______________________________________________________________________________
24 // Display beams and triggers information on AliEve viewers, from ESD.
25 //
26
27 class AliEveBeamsInfo : public TEveElementList
28 {
29 public:
30   AliEveBeamsInfo(const char* name="AliEveBeamsInfo");
31   virtual ~AliEveBeamsInfo();
32   void ShowEventSelection(Bool_t status);
33
34   // Set Methods
35   void SetAlpha(Double_t val);
36
37   // Get Methods
38   TString * SepareTriggerClasses(Int_t &fNumberOfClasses, TString fTriggerSource);
39
40   // Functions
41   void AddOverlayButton(TGLOverlayButton *button);
42   void AddTriggerClasses();
43   void CreateEventPanel();
44   void CreateRunPanel();
45   void RemoveOverlayButton(TGLOverlayButton *button);
46   void RemoveTriggerClasses();
47   void SelectEventSelection(Int_t id);
48   void ShowBeamsInfo(Bool_t show, Bool_t updateonly = kFALSE);
49   void ShowPrevEvent();
50   void ShowNextEvent();
51   void SwitchDataType(Bool_t status);
52   void Update();
53   void UpdateTriggerClasses();  
54
55 private:
56   Double_t            fAlpha;                // Alpha value
57   Bool_t              fIsMC;                 // Check data type
58   AliESDEvent         *fEsd;                 // Esd event
59   Bool_t              fShowEventsInfo;       // Determine if show events info
60   AliPhysicsSelection *fPhysicsSelection;    // Physics selection object
61
62   TGLOverlayButton    *fEventNumber;         // Event number
63   TGLOverlayButton    *fCollisionCandidate;  // AliPhysicsSelection button output
64   TGLOverlayButton    *fCollisionBoolean;    // Collision boolean
65
66   TGLOverlayButton    *fBeam1;               // Beam 1 information
67   TGLOverlayButton    *fBeam1Boolean;        // Beam 1 boolean
68   TGLOverlayButton    *fBeam2;               // Beam 2 information
69   TGLOverlayButton    *fBeam2Boolean;        // Beam 2 boolean
70
71   TGLOverlayButton    *fRunNumber;           // Show data run number
72   TGLOverlayButton    *fEventType;           // Show event type
73   TGLOverlayButton    *fEventTypeLabel;      // Show event type label
74   TGLOverlayButton    *fPeriod;              // Show event period
75   TGLOverlayButton    *fOrbit;               // Show orbit
76   TGLOverlayButton    *fBC;                  // Show bc
77
78   TGLOverlayButton    *fTimeStamp;           // Time stamp information
79   TGLOverlayButton    *fMagnetField;         // Magnetic field
80   TGLOverlayButton    *fTrigger;             // Trigger
81
82   TGLOverlayButton    *fTriggerClassesPanel; // Active trigger classes panel
83   Int_t               fNumberOfActiveTriggerClasses; // Number of active trigger classes
84   TGLOverlayButton    **fTriggerClasses;      // Active trigger classes
85
86   AliEveMultiView     *fAl;                   // Multiview instance
87   TEveViewer          *fHisto2dv;             // 2D lego view
88   AliEveEventSelector *fEventSelector;        // Current event selector
89
90   AliEveBeamsInfo(const AliEveBeamsInfo&);            // Not implemented
91   AliEveBeamsInfo& operator=(const AliEveBeamsInfo&); // Not implemented
92
93   ClassDef(AliEveBeamsInfo, 0); // Short description.
94 };
95
96 #endif