3 #include <TEveManager.h>
4 #include <EveBase/AliEveEventManager.h>
5 #include "TRD/AliTRDdataArrayI.h"
6 #include "TRD/AliTRDarrayADC.h"
7 #include <EveDet/AliEveTRDTrackList.h>
9 #include "AliESDEvent.h"
10 #include "AliESDfriend.h"
11 #include "TRD/AliTRDReconstructor.h"
12 #include "TRD/AliTRDtrackV1.h"
15 void trd_tracks(TEveElement *cont = 0)
17 // Link data containers
18 AliESDfriend *eventESDfriend = 0x0;
19 if(!(eventESDfriend = AliEveEventManager::AssertESDfriend())){
20 Warning("trd_tracks", "AliESDfriend not found");
24 AliESDEvent* esd = AliEveEventManager::AssertESD();
26 AliEveEventManager::AssertGeometry();
28 AliTRDReconstructor *reco = new AliTRDReconstructor();
29 reco->SetRecoParam(AliTRDrecoParam::GetLowFluxParam());
30 reco->SetOption("!nn");
32 AliEveTRDTrackList *tracks = new AliEveTRDTrackList("TRD Tracks");
33 for (Int_t n=0; n<esd->GetNumberOfTracks(); n++){
34 AliESDtrack* esdTrack = esd->GetTrack(n);
35 AliESDfriendTrack *friendTrack = eventESDfriend->GetTrack(n);
39 while((cal = friendTrack->GetCalibObject(ical++))){
40 if(strcmp(cal->IsA()->GetName(), "AliTRDtrackV1") != 0) continue;
41 AliTRDtrackV1 *trackObj = dynamic_cast<AliTRDtrackV1 *>(cal);
42 trackObj->SetReconstructor(reco);
43 AliEveTRDTrack *trackEve = new AliEveTRDTrack(trackObj);
44 tracks->AddElement(trackEve);
45 trackEve->SetESDstatus(esdTrack->GetStatus());
46 trackEve->SetName(Form("[%4d] %s", n, trackEve->GetName()));
52 tracks->SetTitle(Form("Tracks %d", tracks->NumChildren()));
53 tracks->StampObjProps();
54 gEve->AddElement(tracks, cont);
58 TGLViewer *v = gEve->GetDefaultGLViewer();
59 v->SetCurrentCamera(TGLViewer::kCameraOrthoXOY);
60 ((TGLOrthoCamera&)v->CurrentCamera()).SetEnableRotate(kTRUE);