Geometry for MFT (Brigitte)
[u/mrichter/AliRoot.git] / EVE / alice-macros / trd_loader.C
1 //
2 // How to steer the TRD loaders from a macro
3 // For the usage of only the TRD data containers and 
4 // AliEve event loop check the macro "trd_detectors.C"
5 // 
6 // Usage:
7 // .L trd_loader.C
8 // AliCDBManager *cdb = AliCDBManager::Instance();
9 // cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
10 // cdb->SetRun(0)
11 // AliEveTRDLoader *loader = trd_loader();
12 // loader->NextEvent();
13 // loop(loader)
14 // 
15 // Author:
16 // Alex Bercuci (A.Bercuci@gsi.de)
17 //
18
19 #if !defined(__CINT__) || defined(__MAKECINT__)
20 #include <TString.h>
21 #include <TSystem.h>
22 #include <TEveManager.h>
23 #include <TEveTreeTools.h>
24
25 #include <AliEveTRDLoader.h>
26 #endif
27
28 AliEveTRDLoader* trd_loader(Int_t event=0)
29 {
30   // init single file loader
31   AliEveTRDLoader *loader = new AliEveTRDLoader("Clusters");
32
33   // link the run loader and define the chamber setting and data type
34   loader->Open("TRD.RecPoints.root");
35   loader->AddChambers(0);
36   loader->AddChambers(8);
37   loader->AddChambers(9);
38   loader->AddChambers(17);
39   loader->SetDataType(AliEveTRDLoader::kTRDClusters);
40
41   // load first event
42   loader->GoToEvent(event);
43   
44   // register loader with alieve
45   gEve->AddElement(loader);
46   loader->SpawnEditor();
47   gEve->Redraw3D();
48
49   return loader;
50 }
51
52
53 void loop(AliEveTRDLoader *loader)
54 {
55   while(loader->NextEvent()){ 
56     printf("Event[%d]\n", loader->GetEvent());
57     gEve->Redraw3D();
58     gSystem->ProcessEvents();
59     gSystem->Sleep(2000);
60   }
61 }