https://github.com/root-project/root
Raw File
Tip revision: 912e4f28ed00a77ba0c57f383375ac9a2681dbd9 authored by Fons Rademakers on 30 May 2014, 16:02:29 UTC
make version v6-00-00.
Tip revision: 912e4f2
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
#ifndef __RUN_TASKS__

void tasks()
{
   TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
   dir.ReplaceAll("tasks.C","");
   dir.ReplaceAll("/./","/");
   gROOT->LoadMacro(dir +"MyTasks.cxx+");

   gROOT->ProcessLine("#define __RUN_TASKS__ 1");
   gROOT->ProcessLine("#include \"tasks.C\"");
   gROOT->ProcessLine("runtasks()");
   gROOT->ProcessLine("#undef __RUN_TASKS__");
}

#else
      
void runtasks()
//void tasks()
{
   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;
}

#endif
back to top