]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/trd_friend_tracks.C
made functional track style (almost finished)
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_friend_tracks.C
CommitLineData
caaf90d2 1void trd_friend_tracks(TEveElement *cont = 0)
af13c843 2{
66c3c96b 3
4 // Link data containers
5 AliESDfriend *eventESDfriend = 0x0;
6 if(!(eventESDfriend = AliEveEventManager::AssertESDfriend())){
7 Warning("trd_friend_tracks", "AliESDfriend not found");
8 return 0x0;
af13c843 9 }
66c3c96b 10
af13c843 11 AliESDEvent* esd = AliEveEventManager::AssertESD();
66c3c96b 12
af13c843 13 AliEveEventManager::AssertGeometry();
af13c843 14
794d4a46 15 AliTRDReconstructor *reco = new AliTRDReconstructor();
16 reco->SetOption("!nn");
af13c843 17
caaf90d2 18 AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD Tracks");
a4197d2e 19 for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
66c3c96b 20 AliESDtrack* esdTrack = esd->GetTrack(n);
af13c843 21 AliESDfriendTrack *friendTrack = eventESDfriend->GetTrack(n);
66c3c96b 22
af13c843 23 TObject *cal = 0x0;
24 Int_t ical = 0;
66c3c96b 25 while(cal = friendTrack->GetCalibObject(ical++)){
26 if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
27 AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
794d4a46 28 trackObj->SetReconstructor(reco);
ecbbe371 29 AliEveTRDTrack *trackEve = new AliEveTRDTrack(trackObj);
30 tracks->AddElement(trackEve);
31 trackEve->SetESDstatus(esdTrack->GetStatus());
66c3c96b 32 }
33 }
34
fbc350a3 35 tracks->SetTitle(Form("Tracks %d", tracks->NumChildren()));
72e13594 36 tracks->StampObjProps();
66c3c96b 37 gEve->AddElement(tracks, cont);
ecbbe371 38
af13c843 39 gEve->Redraw3D();
ecbbe371 40
41 TGLViewer *v = gEve->GetGLViewer();
42 v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
43 ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);
44 v->UpdateScene();
66c3c96b 45
caaf90d2 46 return;
af13c843 47}