2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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 **************************************************************************/
10 #include "AliEveJetPlane.h"
12 #include <TEveTrans.h>
13 #include <TEveArrow.h>
15 #include <TBuffer3D.h>
16 #include <TBuffer3DTypes.h>
17 #include <TVirtualPad.h>
18 #include <TVirtualViewer3D.h>
20 //______________________________________________________________________________
22 // Show jets and tracks in eta-phi plane.
26 ClassImp(AliEveJetPlane)
28 Bool_t AliEveJetPlane::fgOneMomentumXYZ = kFALSE;
29 Bool_t AliEveJetPlane::fgOneMomentumPhiTheta = kFALSE;
30 Bool_t AliEveJetPlane::fgOneEta = kFALSE;
31 Bool_t AliEveJetPlane::fgOneE = kFALSE;
32 Bool_t AliEveJetPlane::fgOneChgMass = kFALSE;
35 AliEveJetPlane::AliEveJetPlane(Int_t iev) :
36 TEveElementList(Form("AliEveJetPlane %i",iev), Form("%i",iev)),
41 fMaxPhi ( 2.0 * TMath::Pi() ),
47 fPhiScale(350/(TMath::Pi())),
50 fEnergyColorScale (0.),
60 fOneSelection (kTRUE),
61 fTwoSelection (kFALSE),
63 fJet1(0), fJet2(0), fTrack1(0), fTrack2(0),
67 SetMainColorPtr(&fGridColor);
71 /******************************************************************************/
73 void AliEveJetPlane::AddJet(AliAODJet* jet)
75 // Add a jet for display.
77 fJets.push_back(*jet);
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);
90 /******************************************************************************/
92 void AliEveJetPlane::AddTrack(AliAODTrack* track)
94 // Add a track for display.
96 fTracks.push_back(*track);
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);
110 /******************************************************************************/
112 void AliEveJetPlane::ComputeBBox()
114 // Calculate bounding-box.
117 BBoxCheckPoint(-350, -350, -20);
118 BBoxCheckPoint( 350, 350, 20);
121 void AliEveJetPlane::Paint(Option_t* /*option*/)
125 TBuffer3D buff(TBuffer3DTypes::kGeneric);
129 buff.fColor = GetMainColor();
130 buff.fTransparency = GetMainTransparency();
131 if (HasMainTrans()) RefMainTrans().SetBuffer3D(buff);
132 buff.SetSectionsValid(TBuffer3D::kCore);
134 Int_t reqSections = gPad->GetViewer3D()->AddObject(buff);
135 if (reqSections == TBuffer3D::kNone) {
136 // printf("AliEveJetPlane::Paint viewer was happy with Core buff3d.\n");