]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveBase/AliEveJetPlane.h
Coverity
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveJetPlane.h
CommitLineData
d810d0de 1// $Id$
2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
4673ff03 9
a15e6d7d 10#ifndef AliEveJetPlane_H
11#define AliEveJetPlane_H
4673ff03 12
84aff7a4 13#include <TEveElement.h>
4673ff03 14
15#include <TAtt3D.h>
16#include <TAttBBox.h>
17
18#include <AliAODJet.h>
19#include <AliAODTrack.h>
20
21#include <vector>
22
a15e6d7d 23//==============================================================================
ff3111ab 24//
a15e6d7d 25// AliEveJetPlane
26//
27// Class for display of jets and tracks in eta-phi plane.
4673ff03 28
d810d0de 29class AliEveJetPlane : public TEveElementList,
fd31e9de 30 public TAtt3D,
31 public TAttBBox
4673ff03 32{
d810d0de 33 friend class AliEveJetPlaneGL;
4673ff03 34
4673ff03 35public:
d810d0de 36 AliEveJetPlane(Int_t iev);
9b6216c0 37 virtual ~AliEveJetPlane();
4673ff03 38
2ea57cb0 39 void AddJet(AliAODJet* jet);
40 void AddTrack(AliAODTrack* track);
4673ff03 41
e930bdfa 42 void CreateArrows();
43
fd31e9de 44 Int_t GetNEtaDiv() const { return fNEtaDiv; }
4673ff03 45 void SetNEtaDiv(Int_t r) { fNEtaDiv = r; }
46
fd31e9de 47 Int_t GetNPhiDiv() const { return fNPhiDiv; }
4673ff03 48 void SetNPhiDiv(Int_t r) { fNPhiDiv = r; }
49
50 Bool_t GetRnrJets() const { return fRnrJets; }
e930bdfa 51 void SetRnrJets(Bool_t r) { fRnrJets = r; CreateArrows(); }
4673ff03 52
53 Bool_t GetRnrTracks() const { return fRnrTracks; }
e930bdfa 54 void SetRnrTracks(Bool_t r) { fRnrTracks = r; CreateArrows(); }
4673ff03 55
56 Bool_t GetOneSelection() const { return fOneSelection; }
57 void SetOneSelection(Bool_t r) { fOneSelection = r; }
58
59 Bool_t GetTwoSelection() const { return fTwoSelection; }
60 void SetTwoSelection(Bool_t r) { fTwoSelection = r; }
61
62 Float_t GetEnergyScale() const { return fEnergyScale; }
9b6216c0 63 void SetEnergyScale(Float_t s) { fEnergyScale = s; CreateArrows(); }
4673ff03 64
361f01a5 65 Float_t GetArrowJetScale() const { return fArrowJetScale; }
66 void SetArrowJetScale(Float_t s) { fArrowJetScale = s; CreateArrows(); }
67
68 Float_t GetArrowTrackScale() const { return fArrowTrackScale; }
69 void SetArrowTrackScale(Float_t s) { fArrowTrackScale = s; CreateArrows(); }
4673ff03 70
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; }
75
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; }
80
81 void SetSelectionFlag(Int_t s) { fSelectionFlag = s;}
9b6216c0 82 void SelectionAdded(TEveElement* el);
4673ff03 83
a15e6d7d 84 virtual Bool_t CanEditMainColor()const { return kTRUE; }
4673ff03 85
86 virtual void ComputeBBox();
87 virtual void Paint(Option_t* option = "");
88
4b456ebb 89protected:
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.
96
97 Float_t fEtaScale; // Multiplier for eta.
98 Float_t fPhiScale; // Multiplier for phi.
99 Float_t fEnergyScale; // Multiplier for energy.
361f01a5 100 Float_t fArrowJetScale; // Multiplier for jet arrow dim.
101 Float_t fArrowTrackScale; // Multiplier for track arrow dim.
102
4b456ebb 103 Color_t fGridColor; // Color of coordinate grid.
104
105 std::vector<AliAODJet> fJets; // Jets to display.
106 std::vector<AliAODTrack> fTracks; // Tracks to display.
107
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.
9b6216c0 112 Bool_t fSelConnected; // Connected to EVE selection.
4b456ebb 113
114 AliAODJet *fJet1, *fJet2; // Selection jets.
115 AliAODTrack *fTrack1, *fTrack2; // Selection tracks.
116
117 Int_t fSelectionFlag; // Selection state, handled by GL renderer.
118
119 // Common settings:
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.
125
126private:
127 AliEveJetPlane(const AliEveJetPlane&); // Not implemented
128 AliEveJetPlane& operator=(const AliEveJetPlane&); // Not implemented
129
130 ClassDef(AliEveJetPlane, 0); // Show jets and tracks in eta-phi plane.
131};
4673ff03 132
133#endif