32         FairRunAna *
fRun= 
new FairRunAna();
 
   33         fRun->SetInputFile(inFile);
 
   34         fRun->SetOutputFile(outFile);
 
   38         emcDigiFile += 
"/macro/params/";
 
   41         FairRuntimeDb* 
rtdb = fRun->GetRuntimeDb();
 
   42         FairParRootFileIo* 
parInput1 = 
new FairParRootFileIo();
 
   43         parInput1->open(parFile.Data());
 
   45         FairParAsciiFileIo* 
parIo1 = 
new FairParAsciiFileIo();
 
   46         parIo1->open(emcDigiFile.Data(),
"in");
 
   48         rtdb->setFirstInput(parInput1);
 
   49         rtdb->setSecondInput(parIo1);
 
   63   fRun->AddTask(emcHitProd); 
 
   70   fRun->AddTask(emcHitsToWaveform);  
 
   71   fRun->AddTask(emcWaveformToDigi);  
 
   74   fRun->AddTask(emcMakeCluster);
 
   78   fRun->AddTask(emcMakeBump);
 
   81   fRun->AddTask(emcHdrFiller); 
 
   84   cout << 
"fRun->Init()" << endl;
 
   95   cout << 
"Macro finished successfully." << endl;
 
   96   cout << 
"Output file is "    << outFile << endl;
 
   97   cout << 
"Parameter file is " << parFile << endl;
 
   98   cout << 
"Real time " << rtime << 
" s, CPU time " << ctime << 
" s" << endl;
 
  102   cout << 
" Test passed" << endl;
 
  103   cout << 
" All ok " << endl;
 
PndEmcHitsToWaveform * emcHitsToWaveform
creates PndEmcHits from PndEmcPoints 
PndEmcMakeBump * emcMakeBump
PndEmcHdrFiller * emcHdrFiller
PndEmcMakeCluster * emcMakeCluster
Takes clusters and slits them up into bumps. 
FairParRootFileIo * parInput1
PndEmcWaveformToDigi * emcWaveformToDigi
FairParAsciiFileIo * parIo1
Task to cluster PndEmcDigis. 
PndEmcMakeDigi * emcMakeDigi
Task to create Emc header. 
Task to create PndEmcDigi from PndEmcHit.