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(const AliEveJetPlane&); // Not implemented
37 AliEveJetPlane& operator=(const AliEveJetPlane&); // Not implemented
40 Float_t fMinEta; // Min eta for display.
41 Float_t fMaxEta; // Max eta for display.
42 Float_t fMinPhi; // Min phi for display.
43 Float_t fMaxPhi; // Max phi for display.
44 Int_t fNEtaDiv; // Number of eta divisions for display.
45 Int_t fNPhiDiv; // Number of phi divisions for display.
47 Float_t fEtaScale; // Multiplier for eta.
48 Float_t fPhiScale; // Multiplier for phi.
49 Float_t fEnergyScale; // Multiplier for energy.
50 Float_t fEnergyColorScale; // Multiplier for energy color.
52 Color_t fGridColor; // Color of coordinate grid.
54 std::vector<AliAODJet> fJets; // Jets to display.
55 std::vector<AliAODTrack> fTracks; // Tracks to display.
57 Bool_t fRnrJets; // Show jets.
58 Bool_t fRnrTracks; // Show tracks.
59 Bool_t fOneSelection; // One object selected.
60 Bool_t fTwoSelection; // Two objects selected.
62 AliAODJet *fJet1, *fJet2; // Selection jets.
63 AliAODTrack *fTrack1, *fTrack2; // Selection tracks.
65 Int_t fSelectionFlag; // Selection state, handled by GL renderer.
68 static Bool_t fgOneMomentumXYZ; // Display momentum as coordinates.
69 static Bool_t fgOneMomentumPhiTheta; // Display momentum as phi/theta.
70 static Bool_t fgOneEta; // Display eta.
71 static Bool_t fgOneE; // Display energy.
72 static Bool_t fgOneChgMass; // Display charge and mass.
75 AliEveJetPlane(Int_t iev);
76 virtual ~AliEveJetPlane() {}
78 void AddJet(AliAODJet jet);
79 void AddTrack(AliAODTrack track);
81 Int_t GetNEtaDiv() const { return fNEtaDiv; }
82 void SetNEtaDiv(Int_t r) { fNEtaDiv = r; }
84 Int_t GetNPhiDiv() const { return fNPhiDiv; }
85 void SetNPhiDiv(Int_t r) { fNPhiDiv = r; }
87 Bool_t GetRnrJets() const { return fRnrJets; }
88 void SetRnrJets(Bool_t r) { fRnrJets = r; }
90 Bool_t GetRnrTracks() const { return fRnrTracks; }
91 void SetRnrTracks(Bool_t r) { fRnrTracks = r; }
93 Bool_t GetOneSelection() const { return fOneSelection; }
94 void SetOneSelection(Bool_t r) { fOneSelection = r; }
96 Bool_t GetTwoSelection() const { return fTwoSelection; }
97 void SetTwoSelection(Bool_t r) { fTwoSelection = r; }
99 Float_t GetEnergyScale() const { return fEnergyScale; }
100 void SetEnergyScale(Float_t s) { fEnergyScale = s; }
102 Float_t GetEnergyColorScale() const { return fEnergyColorScale; }
103 void SetEnergyColorScale(Float_t s) { fEnergyColorScale = s; }
105 const AliAODJet& GetJet1() const { return *fJet1; }
106 const AliAODJet& GetJet2() const { return *fJet2; }
107 const AliAODTrack& GetTrack1() const { return *fTrack1; }
108 const AliAODTrack& GetTrack2() const { return *fTrack2; }
110 void SetJet1(AliAODJet* s) { fJet1 = s; }
111 void SetJet2(AliAODJet* s) { fJet2 = s; }
112 void SetTrack1(AliAODTrack* s) { fTrack1 = s; }
113 void SetTrack2(AliAODTrack* s) { fTrack2 = s; }
115 void SetSelectionFlag(Int_t s) { fSelectionFlag = s;}
117 virtual Bool_t CanEditMainColor()const { return kTRUE; }
119 virtual void ComputeBBox();
120 virtual void Paint(Option_t* option = "");
122 ClassDef(AliEveJetPlane, 1); // Show jets and tracks in eta-phi plane.
123 }; // endclass AliEveJetPlane