]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/macros/tpc_tracks.C
Adding alieve macro for visualization of the tpc tracks and clusters (Marian, Mateusz)
[u/mrichter/AliRoot.git] / TPC / macros / tpc_tracks.C
1 namespace Reve
2 {
3 class NLTProjector;
4 class GeoShapeRnrEl;
5 class RnrElement;
6 class RnrElementList;
7 }
8
9 Reve::NLTProjector  * proj = 0;
10 Reve::GeoShapeRnrEl * geom = 0;
11
12 void tpc_tracks()
13 {
14   Reve::LoadMacro("alieve_init.C");
15   alieve_init(".", -1);
16
17   Reve::LoadMacro("geom_gentle.C");
18
19   Reve::LoadMacro("primary_vertex.C");
20   Reve::LoadMacro("esd_tracks.C");
21   Reve::LoadMacro("its_clusters.C+");
22   Reve::LoadMacro("tpc_clusters.C+");
23
24   Reve::Viewer* nv = gReve->SpawnNewViewer("NLT Projected");
25   Reve::Scene*  ns = gReve->SpawnNewScene("NLT"); 
26   nv->AddScene(ns);
27   TGLViewer* v = nv->GetGLViewer();
28   v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
29   TGLCameraMarkupStyle* mup = v->GetCameraMarkup();
30   if(mup) mup->SetShow(kFALSE);
31
32   Reve::TrackCounter* g_trkcnt = new Reve::TrackCounter("Primary Counter");
33   gReve->AddToListTree(g_trkcnt, kFALSE);
34
35   Reve::NLTProjector* p = new Reve::NLTProjector; proj = p;
36   gReve->AddToListTree(p, kTRUE);
37   gReve->AddRenderElement(proj, ns);
38
39   // geometry
40   Reve::GeoShapeRnrEl* gg = geom_gentle();
41   geom = gg;
42
43   // event
44   Alieve::gEvent->AddNewEventCommand("on_new_event();");
45   Alieve::gEvent->GotoEvent(0);
46
47   gReve->Redraw3D(kTRUE);
48 }
49
50 /**************************************************************************/
51
52 void on_new_event()
53 {
54   try {
55     //Reve::PointSet* itsc = its_clusters();
56     //itsc->SetMarkerColor(5);
57
58     Reve::PointSet* tpcc = tpc_clusters();
59     tpcc->SetMarkerColor(4);
60   }
61   catch(Reve::Exc_t& exc) {
62     printf("Exception loading ITS/TPC clusters: %s\n", exc.Data());
63   }
64
65   Reve::TrackList* cont = esd_tracks();
66   cont->SetLineWidth((Width_t)2);
67
68   Reve::RenderElement* top = gReve->GetCurrentEvent();
69   proj->DestroyElements();
70   //AliESDEvent* esd = Alieve::Event::AssertESD();
71
72   // geom
73   proj->ImportElements(geom);
74   // event
75   proj->ImportElements(top);
76   // top->SetRnrState(kFALSE);
77 }