tasks.C
// Example of TTasks.
// Create a hierarchy of objects derived from TTask in library Mytasks
// Show the tasks in a browser.
// To execute a Task, use the context context menu and select
// the item "ExecuteTask"
// see also other functions in the TTask context menu, such as
// -setting a breakpoint in one or more tasks
// -enabling/disabling one task, etc
//Author: Rene Brun
void tasks()
{
TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
dir.ReplaceAll("tasks.C","");
dir.ReplaceAll("/./","/");
gROOT->LoadMacro(dir +"MyTasks.cxx+");
TTask *run = new MyRun("run","Process one run");
TTask *event = new MyEvent("event","Process one event");
TTask *geomInit = new MyGeomInit("geomInit","Geometry Initialisation");
TTask *matInit = new MyMaterialInit("matInit","Materials Initialisation");
TTask *tracker = new MyTracker("tracker","Tracker manager");
TTask *tpc = new MyRecTPC("tpc","TPC Reconstruction");
TTask *its = new MyRecITS("its","ITS Reconstruction");
TTask *muon = new MyRecMUON("muon","MUON Reconstruction");
TTask *phos = new MyRecPHOS("phos","PHOS Reconstruction");
TTask *rich = new MyRecRICH("rich","RICH Reconstruction");
TTask *trd = new MyRecTRD("trd","TRD Reconstruction");
TTask *global = new MyRecGlobal("global","Global Reconstruction");
run->Add(geomInit);
run->Add(matInit);
run->Add(event);
event->Add(tracker);
event->Add(global);
tracker->Add(tpc);
tracker->Add(its);
tracker->Add(muon);
tracker->Add(phos);
tracker->Add(rich);
tracker->Add(trd);
gROOT->GetListOfTasks()->Add(run);
gROOT->GetListOfBrowsables()->Add(run);
new TBrowser;
}