Geometry for MFT (Brigitte)
[u/mrichter/AliRoot.git] / EVE / alice-macros / primary_vertex_tracks.C
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 #if !defined(__CINT__) || defined(__MAKECINT__)
10 #include <TMarker.h>
11 #include <TEveManager.h>
12 #include <TEveCompound.h>
13 #include <TEveTrack.h>
14 #include <TEveTrackPropagator.h>
15 #include <TEveUtil.h>
16
17 #include <AliESDEvent.h>
18 #include <AliESDVertex.h>
19 #include <AliESDtrack.h>
20 #include <AliEveEventManager.h>
21 #include <AliEveTrack.h>
22
23 #include "esd_tracks.C"
24 #endif
25
26 TEveTrackList* primary_vertex_tracks()
27 {
28   TEveUtil::LoadMacro("esd_tracks.C");
29   AliESDEvent   *esd = AliEveEventManager::AssertESD();
30   const AliESDVertex *pv  = esd->GetPrimaryVertex();
31
32   TEveTrackList* cont = new TEveTrackList("Tracks for Primary Vertex");
33   cont->SetMainColor(7);
34   TEveTrackPropagator* rnrStyle = cont->GetPropagator();
35   rnrStyle->SetMagField( 0.1*esd->GetMagneticField() );
36   rnrStyle->fRnrFV = kTRUE;
37   rnrStyle->fFVAtt.SetMarkerColor(2);
38   gEve->AddElement(cont);
39
40   for (Int_t n=0; n<pv->GetNIndices(); n++)
41   {
42     AliESDtrack* at = esd->GetTrack(pv->GetIndices()[n]);
43     AliEveTrack* track = esd_make_track(at, cont);
44     track->SetLineWidth(4);
45     track->SetLineColor(cont->GetMainColor());
46     track->SetLineStyle(7);
47     gEve->AddElement(track, cont);
48   }
49
50   cont->MakeTracks();
51   gEve->Redraw3D();
52
53   return cont;
54 }