]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveBase/AliEveJetPlane.cxx
With Cesar: plot phi from 0->2pi. First step towards using TEveArrow for jet and...
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveJetPlane.cxx
CommitLineData
d810d0de 1// $Id$
2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4673ff03 3
d810d0de 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 **************************************************************************/
9
10#include "AliEveJetPlane.h"
a15e6d7d 11
12#include <TEveTrans.h>
2ea57cb0 13#include <TEveArrow.h>
a15e6d7d 14
4673ff03 15#include <TBuffer3D.h>
16#include <TBuffer3DTypes.h>
17#include <TVirtualPad.h>
18#include <TVirtualViewer3D.h>
19
57ffa5fb 20//______________________________________________________________________________
4673ff03 21//
a97abca8 22// Show jets and tracks in eta-phi plane.
a15e6d7d 23//
24//
4673ff03 25
a97abca8 26ClassImp(AliEveJetPlane)
4673ff03 27
d810d0de 28Bool_t AliEveJetPlane::fgOneMomentumXYZ = kFALSE;
29Bool_t AliEveJetPlane::fgOneMomentumPhiTheta = kFALSE;
a97abca8 30Bool_t AliEveJetPlane::fgOneEta = kFALSE;
31Bool_t AliEveJetPlane::fgOneE = kFALSE;
32Bool_t AliEveJetPlane::fgOneChgMass = kFALSE;
4673ff03 33
34
d810d0de 35AliEveJetPlane::AliEveJetPlane(Int_t iev) :
36 TEveElementList(Form("AliEveJetPlane %i",iev), Form("%i",iev)),
4673ff03 37
38 fMinEta (-1.5 ),
39 fMaxEta ( 1.5 ),
2ea57cb0 40 fMinPhi ( 0.0 ),
41 fMaxPhi ( 2.0 * TMath::Pi() ),
4673ff03 42
43 fNEtaDiv(30),
44 fNPhiDiv(30),
45
46 fEtaScale(350/1.5),
2ea57cb0 47 fPhiScale(350/(TMath::Pi())),
4673ff03 48 fEnergyScale(100.0),
49
50 fEnergyColorScale (0.),
51
52 fGridColor(5),
53
fd31e9de 54 fJets(),
55 fTracks(),
56
4673ff03 57 fRnrJets (kTRUE),
58 fRnrTracks (kTRUE),
59
60 fOneSelection (kTRUE),
61 fTwoSelection (kFALSE),
62
fd31e9de 63 fJet1(0), fJet2(0), fTrack1(0), fTrack2(0),
64
4673ff03 65 fSelectionFlag (1)
66{
67 SetMainColorPtr(&fGridColor);
a15e6d7d 68 InitMainTrans();
4673ff03 69}
70
57ffa5fb 71/******************************************************************************/
4673ff03 72
2ea57cb0 73void AliEveJetPlane::AddJet(AliAODJet* jet)
4673ff03 74{
a97abca8 75 // Add a jet for display.
76
2ea57cb0 77 fJets.push_back(*jet);
78
79 TEveArrow* a = new TEveArrow();
80 a->SetElementName (Form("Jet %d", fJets.size()));
81 a->SetElementTitle("Tooltip");
82 a->SetPickable(kTRUE);
83 a->SetMainColor(kOrange);
84 //a->SetTubeR();
85 //a->SetConeR();
86 //a->SetConeL();
87 AddElement(a);
4673ff03 88}
89
57ffa5fb 90/******************************************************************************/
4673ff03 91
2ea57cb0 92void AliEveJetPlane::AddTrack(AliAODTrack* track)
4673ff03 93{
a97abca8 94 // Add a track for display.
95
2ea57cb0 96 fTracks.push_back(*track);
97
98 TEveArrow* a = new TEveArrow(0,0,0.5, 20,20,0);
99 a->SetElementName (Form("Track %d", fTracks.size()));
100 a->SetElementTitle("Tooltip");
101 a->SetPickable(kTRUE);
102 a->SetMainColor(kOrange);
103 //a->SetTubeR();
104 //a->SetConeR();
105 //a->SetConeL();
106 AddElement(a);
4673ff03 107}
108
109
57ffa5fb 110/******************************************************************************/
4673ff03 111
d810d0de 112void AliEveJetPlane::ComputeBBox()
4673ff03 113{
a97abca8 114 // Calculate bounding-box.
115
4673ff03 116 BBoxInit();
117 BBoxCheckPoint(-350, -350, -20);
2ea57cb0 118 BBoxCheckPoint( 350, 350, 20);
4673ff03 119}
120
d810d0de 121void AliEveJetPlane::Paint(Option_t* /*option*/)
4673ff03 122{
a97abca8 123 // Paint the object.
124
4673ff03 125 TBuffer3D buff(TBuffer3DTypes::kGeneric);
126
127 // Section kCore
128 buff.fID = this;
68ca2fe7 129 buff.fColor = GetMainColor();
130 buff.fTransparency = GetMainTransparency();
a15e6d7d 131 if (HasMainTrans()) RefMainTrans().SetBuffer3D(buff);
4673ff03 132 buff.SetSectionsValid(TBuffer3D::kCore);
133
134 Int_t reqSections = gPad->GetViewer3D()->AddObject(buff);
135 if (reqSections == TBuffer3D::kNone) {
d810d0de 136 // printf("AliEveJetPlane::Paint viewer was happy with Core buff3d.\n");
4673ff03 137 return;
138 }
139}