]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/JetPlane.h
From Cesar: First version of jet visualization code.
[u/mrichter/AliRoot.git] / EVE / Alieve / JetPlane.h
CommitLineData
4673ff03 1// $Header$
2
3#ifndef ALIEVE_JetPlane_H
4#define ALIEVE_JetPlane_H
5
6#include <Reve/Reve.h>
7#include <Reve/RenderElement.h>
8#include <Reve/ZTrans.h>
9
10#include <TAtt3D.h>
11#include <TAttBBox.h>
12
13#include <AliAODJet.h>
14#include <AliAODTrack.h>
15
16#include <vector>
17
18namespace Alieve {
19
20class JetPlane : public Reve::RenderElementList,
21 public TAtt3D,
22 public TAttBBox
23{
24 friend class JetPlaneGL;
25
26private:
27 JetPlane(const JetPlane&); // Not implemented
28 JetPlane& operator=(const JetPlane&); // Not implemented
29
30protected:
31 Float_t fMinEta;
32 Float_t fMaxEta;
33 Float_t fMinPhi;
34 Float_t fMaxPhi;
35 Int_t fNEtaDiv;
36 Int_t fNPhiDiv;
37
38 Float_t fEtaScale;
39 Float_t fPhiScale;
40 Float_t fEnergyScale;
41 Float_t fEnergyColorScale;
42
43 Color_t fGridColor;
44
45 Reve::ZTrans fHMTrans;
46
47 std::vector<AliAODJet> fJets;
48 std::vector<AliAODTrack> fTracks;
49
50 Bool_t fRnrJets;
51 Bool_t fRnrTracks;
52 Bool_t fOneSelection;
53 Bool_t fTwoSelection;
54
55 AliAODJet *fJet1, *fJet2;
56 AliAODTrack *fTrack1, *fTrack2;
57
58 Int_t fSelectionFlag;
59
60 static Bool_t fgOneMomentumXYZ;
61 static Bool_t fgOneMomentumPhiTheta;
62 static Bool_t fgOneEta;
63 static Bool_t fgOneE;
64 static Bool_t fgOneChgMass;
65
66public:
67 JetPlane(Int_t iev);
68 virtual ~JetPlane() {}
69
70 void AddJet(AliAODJet jet);
71 void AddTrack(AliAODTrack track);
72
73 Int_t GetNEtaDiv() const { return fNEtaDiv; }
74 void SetNEtaDiv(Int_t r) { fNEtaDiv = r; }
75
76 Int_t GetNPhiDiv() const { return fNPhiDiv; }
77 void SetNPhiDiv(Int_t r) { fNPhiDiv = r; }
78
79 Bool_t GetRnrJets() const { return fRnrJets; }
80 void SetRnrJets(Bool_t r) { fRnrJets = r; }
81
82 Bool_t GetRnrTracks() const { return fRnrTracks; }
83 void SetRnrTracks(Bool_t r) { fRnrTracks = r; }
84
85 Bool_t GetOneSelection() const { return fOneSelection; }
86 void SetOneSelection(Bool_t r) { fOneSelection = r; }
87
88 Bool_t GetTwoSelection() const { return fTwoSelection; }
89 void SetTwoSelection(Bool_t r) { fTwoSelection = r; }
90
91 Float_t GetEnergyScale() const { return fEnergyScale; }
92 void SetEnergyScale(Float_t s) { fEnergyScale = s; }
93
94 Float_t GetEnergyColorScale() const { return fEnergyColorScale; }
95 void SetEnergyColorScale(Float_t s) { fEnergyColorScale = s; }
96
97 const AliAODJet& GetJet1() const { return *fJet1; }
98 const AliAODJet& GetJet2() const { return *fJet2; }
99 const AliAODTrack& GetTrack1() const { return *fTrack1; }
100 const AliAODTrack& GetTrack2() const { return *fTrack2; }
101
102 void SetJet1(AliAODJet* s) { fJet1 = s; }
103 void SetJet2(AliAODJet* s) { fJet2 = s; }
104 void SetTrack1(AliAODTrack* s) { fTrack1 = s; }
105 void SetTrack2(AliAODTrack* s) { fTrack2 = s; }
106
107 void SetSelectionFlag(Int_t s) { fSelectionFlag = s;}
108
109 virtual Bool_t CanEditMainColor() { return kTRUE; }
110
111 virtual Bool_t CanEditMainHMTrans() { return kTRUE; }
112 virtual Reve::ZTrans* PtrMainHMTrans() { return &fHMTrans; }
113
114 virtual void ComputeBBox();
115 virtual void Paint(Option_t* option = "");
116
117 Reve::ZTrans& RefHMTrans() { return fHMTrans; }
118 void SetTransMatrix(Double_t* carr) { fHMTrans.SetFrom(carr); }
119 void SetTransMatrix(const TGeoMatrix& mat) { fHMTrans.SetFrom(mat); }
120
121 ClassDef(JetPlane, 1);
122}; // endclass JetPlane
123
124}
125
126#endif