2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #ifndef AliEveJetPlane_H
11 #define AliEveJetPlane_H
13 #include <TEveElement.h>
18 #include <AliAODJet.h>
19 #include <AliAODTrack.h>
23 //==============================================================================
27 // Class for display of jets and tracks in eta-phi plane.
29 class AliEveJetPlane : public TEveElementList,
33 friend class AliEveJetPlaneGL;
36 AliEveJetPlane(Int_t iev);
37 virtual ~AliEveJetPlane();
39 void AddJet(AliAODJet* jet);
40 void AddTrack(AliAODTrack* track);
44 Int_t GetNEtaDiv() const { return fNEtaDiv; }
45 void SetNEtaDiv(Int_t r) { fNEtaDiv = r; }
47 Int_t GetNPhiDiv() const { return fNPhiDiv; }
48 void SetNPhiDiv(Int_t r) { fNPhiDiv = r; }
50 Bool_t GetRnrJets() const { return fRnrJets; }
51 void SetRnrJets(Bool_t r) { fRnrJets = r; CreateArrows(); }
53 Bool_t GetRnrTracks() const { return fRnrTracks; }
54 void SetRnrTracks(Bool_t r) { fRnrTracks = r; CreateArrows(); }
56 Bool_t GetOneSelection() const { return fOneSelection; }
57 void SetOneSelection(Bool_t r) { fOneSelection = r; }
59 Bool_t GetTwoSelection() const { return fTwoSelection; }
60 void SetTwoSelection(Bool_t r) { fTwoSelection = r; }
62 Float_t GetEnergyScale() const { return fEnergyScale; }
63 void SetEnergyScale(Float_t s) { fEnergyScale = s; CreateArrows(); }
65 Float_t GetArrowJetScale() const { return fArrowJetScale; }
66 void SetArrowJetScale(Float_t s) { fArrowJetScale = s; CreateArrows(); }
68 Float_t GetArrowTrackScale() const { return fArrowTrackScale; }
69 void SetArrowTrackScale(Float_t s) { fArrowTrackScale = s; CreateArrows(); }
71 const AliAODJet& GetJet1() const { return *fJet1; }
72 const AliAODJet& GetJet2() const { return *fJet2; }
73 const AliAODTrack& GetTrack1() const { return *fTrack1; }
74 const AliAODTrack& GetTrack2() const { return *fTrack2; }
76 void SetJet1(AliAODJet* s) { fJet1 = s; }
77 void SetJet2(AliAODJet* s) { fJet2 = s; }
78 void SetTrack1(AliAODTrack* s) { fTrack1 = s; }
79 void SetTrack2(AliAODTrack* s) { fTrack2 = s; }
81 void SetSelectionFlag(Int_t s) { fSelectionFlag = s;}
82 void SelectionAdded(TEveElement* el);
84 virtual Bool_t CanEditMainColor()const { return kTRUE; }
86 virtual void ComputeBBox();
87 virtual void Paint(Option_t* option = "");
90 Float_t fMinEta; // Min eta for display.
91 Float_t fMaxEta; // Max eta for display.
92 Float_t fMinPhi; // Min phi for display.
93 Float_t fMaxPhi; // Max phi for display.
94 Int_t fNEtaDiv; // Number of eta divisions for display.
95 Int_t fNPhiDiv; // Number of phi divisions for display.
97 Float_t fEtaScale; // Multiplier for eta.
98 Float_t fPhiScale; // Multiplier for phi.
99 Float_t fEnergyScale; // Multiplier for energy.
100 Float_t fArrowJetScale; // Multiplier for jet arrow dim.
101 Float_t fArrowTrackScale; // Multiplier for track arrow dim.
103 Color_t fGridColor; // Color of coordinate grid.
105 std::vector<AliAODJet> fJets; // Jets to display.
106 std::vector<AliAODTrack> fTracks; // Tracks to display.
108 Bool_t fRnrJets; // Show jets.
109 Bool_t fRnrTracks; // Show tracks.
110 Bool_t fOneSelection; // One object selected.
111 Bool_t fTwoSelection; // Two objects selected.
112 Bool_t fSelConnected; // Connected to EVE selection.
114 AliAODJet *fJet1, *fJet2; // Selection jets.
115 AliAODTrack *fTrack1, *fTrack2; // Selection tracks.
117 Int_t fSelectionFlag; // Selection state, handled by GL renderer.
120 static Bool_t fgOneMomentumXYZ; // Display momentum as coordinates.
121 static Bool_t fgOneMomentumPhiTheta; // Display momentum as phi/theta.
122 static Bool_t fgOneEta; // Display eta.
123 static Bool_t fgOneE; // Display energy.
124 static Bool_t fgOneChgMass; // Display charge and mass.
127 AliEveJetPlane(const AliEveJetPlane&); // Not implemented
128 AliEveJetPlane& operator=(const AliEveJetPlane&); // Not implemented
130 ClassDef(AliEveJetPlane, 0); // Show jets and tracks in eta-phi plane.