]>
Commit | Line | Data |
---|---|---|
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 | 29 | class AliEveJetPlane : public TEveElementList, |
fd31e9de | 30 | public TAtt3D, |
31 | public TAttBBox | |
4673ff03 | 32 | { |
d810d0de | 33 | friend class AliEveJetPlaneGL; |
4673ff03 | 34 | |
4673ff03 | 35 | public: |
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 | 89 | protected: |
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 | ||
126 | private: | |
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 |