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