2 // Author: Stefano Carrazza 2010, CERN, stefano.carrazza@cern.ch
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 **************************************************************************/
10 #ifndef ALIEVEBEAMSINFO_H
11 #define ALIEVEBEAMSINFO_H
13 #include "TEveElement.h"
16 class AliPhysicsSelection;
17 class AliEveEventSelector;
18 class AliEveMultiView;
20 class TGLOverlayButton;
23 //______________________________________________________________________________
24 // Display beams and triggers information on AliEve viewers, from ESD.
27 class AliEveBeamsInfo : public TEveElementList
30 AliEveBeamsInfo(const char* name="AliEveBeamsInfo");
31 virtual ~AliEveBeamsInfo();
32 void ShowEventSelection(Bool_t status);
35 void SetAlpha(Double_t val);
38 TString * SepareTriggerClasses(Int_t &fNumberOfClasses, TString fTriggerSource);
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);
51 void SwitchDataType(Bool_t status);
53 void UpdateTriggerClasses();
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
62 TGLOverlayButton *fEventNumber; // Event number
63 TGLOverlayButton *fCollisionCandidate; // AliPhysicsSelection button output
64 TGLOverlayButton *fCollisionBoolean; // Collision boolean
66 TGLOverlayButton *fBeam1; // Beam 1 information
67 TGLOverlayButton *fBeam1Boolean; // Beam 1 boolean
68 TGLOverlayButton *fBeam2; // Beam 2 information
69 TGLOverlayButton *fBeam2Boolean; // Beam 2 boolean
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
78 TGLOverlayButton *fTimeStamp; // Time stamp information
79 TGLOverlayButton *fMagnetField; // Magnetic field
80 TGLOverlayButton *fTrigger; // Trigger
82 TGLOverlayButton *fTriggerClassesPanel; // Active trigger classes panel
83 Int_t fNumberOfActiveTriggerClasses; // Number of active trigger classes
84 TGLOverlayButton **fTriggerClasses; // Active trigger classes
86 AliEveMultiView *fAl; // Multiview instance
87 TEveViewer *fHisto2dv; // 2D lego view
88 AliEveEventSelector *fEventSelector; // Current event selector
90 AliEveBeamsInfo(const AliEveBeamsInfo&); // Not implemented
91 AliEveBeamsInfo& operator=(const AliEveBeamsInfo&); // Not implemented
93 ClassDef(AliEveBeamsInfo, 0); // Short description.