]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveJetPlane.h
Compilation with gcc 4.3.0
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveJetPlane.h
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          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEveJetPlane_H
11 #define AliEveJetPlane_H
12
13 #include <TEveElement.h>
14
15 #include <TAtt3D.h>
16 #include <TAttBBox.h>
17
18 #include <AliAODJet.h>
19 #include <AliAODTrack.h>
20
21 #include <vector>
22
23 //==============================================================================
24 // 
25 // AliEveJetPlane
26 //
27 // Class for display of jets and tracks in eta-phi plane.
28
29 class AliEveJetPlane : public TEveElementList,
30                        public TAtt3D,
31                        public TAttBBox
32 {
33   friend class AliEveJetPlaneGL;
34
35 public:
36   AliEveJetPlane(Int_t iev);
37   virtual ~AliEveJetPlane() {}
38
39   void AddJet(AliAODJet jet);
40   void AddTrack(AliAODTrack track);
41
42   Int_t GetNEtaDiv() const  { return fNEtaDiv; }
43   void  SetNEtaDiv(Int_t r) { fNEtaDiv = r; }
44
45   Int_t GetNPhiDiv() const  { return fNPhiDiv; }
46   void  SetNPhiDiv(Int_t r) { fNPhiDiv = r; }
47
48   Bool_t GetRnrJets() const   { return fRnrJets; }
49   void   SetRnrJets(Bool_t r) { fRnrJets = r; }
50
51   Bool_t GetRnrTracks() const   { return fRnrTracks; }
52   void   SetRnrTracks(Bool_t r) { fRnrTracks = r; }
53
54   Bool_t GetOneSelection() const   { return fOneSelection; }
55   void   SetOneSelection(Bool_t r) { fOneSelection = r; }
56
57   Bool_t GetTwoSelection() const   { return fTwoSelection; }
58   void   SetTwoSelection(Bool_t r) { fTwoSelection = r; }
59
60   Float_t GetEnergyScale() const { return fEnergyScale; }
61   void    SetEnergyScale(Float_t s) { fEnergyScale = s; }
62
63   Float_t GetEnergyColorScale() const { return fEnergyColorScale; }
64   void    SetEnergyColorScale(Float_t s) { fEnergyColorScale = s; }
65
66   const AliAODJet& GetJet1() const { return *fJet1; }
67   const AliAODJet& GetJet2() const { return *fJet2; }
68   const AliAODTrack& GetTrack1() const { return *fTrack1; }
69   const AliAODTrack& GetTrack2() const { return *fTrack2; }
70
71   void    SetJet1(AliAODJet* s) { fJet1 = s; }
72   void    SetJet2(AliAODJet* s) { fJet2 = s; }
73   void    SetTrack1(AliAODTrack* s) { fTrack1 = s; }
74   void    SetTrack2(AliAODTrack* s) { fTrack2 = s; }
75
76   void    SetSelectionFlag(Int_t s) { fSelectionFlag = s;}
77
78   virtual Bool_t  CanEditMainColor()const { return kTRUE; }
79
80   virtual void ComputeBBox();
81   virtual void Paint(Option_t* option = "");
82
83 protected:
84   Float_t fMinEta;    // Min eta for display.
85   Float_t fMaxEta;    // Max eta for display.
86   Float_t fMinPhi;    // Min phi for display.
87   Float_t fMaxPhi;    // Max phi for display.
88   Int_t   fNEtaDiv;   // Number of eta divisions for display.
89   Int_t   fNPhiDiv;   // Number of phi divisions for display.
90
91   Float_t fEtaScale;          // Multiplier for eta.
92   Float_t fPhiScale;          // Multiplier for phi.
93   Float_t fEnergyScale;       // Multiplier for energy.
94   Float_t fEnergyColorScale;  // Multiplier for energy color.
95
96   Color_t fGridColor; // Color of coordinate grid.
97
98   std::vector<AliAODJet>   fJets;   // Jets to display.
99   std::vector<AliAODTrack> fTracks; // Tracks to display.
100
101   Bool_t                 fRnrJets;       // Show jets.
102   Bool_t                 fRnrTracks;     // Show tracks.
103   Bool_t                 fOneSelection;  // One object selected.
104   Bool_t                 fTwoSelection;  // Two objects selected.
105
106   AliAODJet             *fJet1,   *fJet2;    // Selection jets.
107   AliAODTrack           *fTrack1, *fTrack2;  // Selection tracks.
108
109   Int_t                  fSelectionFlag; // Selection state, handled by GL renderer.
110
111   // Common settings:
112   static Bool_t fgOneMomentumXYZ;       // Display momentum as coordinates.
113   static Bool_t fgOneMomentumPhiTheta;  // Display momentum as phi/theta.
114   static Bool_t fgOneEta;               // Display eta.
115   static Bool_t fgOneE;                 // Display energy.
116   static Bool_t fgOneChgMass;           // Display charge and mass.
117
118 private:
119   AliEveJetPlane(const AliEveJetPlane&);            // Not implemented
120   AliEveJetPlane& operator=(const AliEveJetPlane&); // Not implemented
121
122   ClassDef(AliEveJetPlane, 0); // Show jets and tracks in eta-phi plane.
123 };
124
125 #endif