5 #include <PndDchDigiProducer.h> 
    6 #include <PndDchCylinderHitProducer.h> 
    8 #include <PndTofHitProducerIdeal.h> 
   13 #include <PndTpcClusterizerTask.h> 
   14 #include <PndTpcDriftTask.h> 
   15 #include <PndTpcGemTask.h> 
   16 #include <PndTpcPadResponseTask.h> 
   17 #include <PndTpcElectronicsTask.h> 
   19 #include <FairBoxGenerator.h> 
   20 #include <FairEvtGenGenerator.h> 
   21 #include <FairModule.h> 
   22 #include <FairParAsciiFileIo.h> 
   23 #include <FairParRootFileIo.h> 
   24 #include <FairPrimaryGenerator.h> 
   25 #include <FairRunAna.h> 
   26 #include <FairRunSim.h> 
   27 #include <FairRuntimeDb.h> 
   30 #include <TStopwatch.h> 
   53   FairRunAna *
fRun= 
new FairRunAna();
 
   54   fRun->SetInputFile(inFile);
 
   55   fRun->SetOutputFile(outFile);
 
   59   emcDigiFile += 
"/macro/params/";
 
   62   FairRuntimeDb* 
rtdb = fRun->GetRuntimeDb();
 
   63   FairParRootFileIo* 
parInput1 = 
new FairParRootFileIo();
 
   64   parInput1->open(parFile.Data());
 
   66   FairParAsciiFileIo* 
parIo1 = 
new FairParAsciiFileIo();
 
   67   parIo1->open(emcDigiFile.Data(),
"in");
 
   69   rtdb->setFirstInput(parInput1);
 
   70   rtdb->setSecondInput(parIo1);
 
   79   fRun->AddTask(emcHitsToWaveform);  
 
   80   fRun->AddTask(emcWaveformToDigi);  
 
   83   fRun->AddTask(sttHitProducer);
 
   85   QAPlotCollection* qa=
new QAPlotCollection(
"TpcDigiQAPlots");
 
   87   PndTpcClusterizerTask* 
tpcClusterizer = 
new PndTpcClusterizerTask();
 
   88   tpcClusterizer->SetPersistence();
 
   91   tpcClusterizer->SetMereChargeConversion();  
 
   93   fRun->AddTask(tpcClusterizer);
 
  109   PndTpcDriftTask* 
tpcDrifter = 
new PndTpcDriftTask();
 
  110   tpcDrifter->SetPersistence();
 
  111   tpcDrifter->SetDistort(
false);
 
  112   tpcDrifter->SetQAPlotCol(qa);
 
  113   fRun->AddTask(tpcDrifter);
 
  115   PndTpcPadResponseTask* 
tpcPadResponse = 
new PndTpcPadResponseTask();
 
  116   tpcPadResponse->SetPersistence();
 
  117   fRun->AddTask(tpcPadResponse);
 
  119   PndTpcElectronicsTask* 
tpcElec = 
new PndTpcElectronicsTask();
 
  120   tpcElec->SetPersistence();
 
  121   fRun->AddTask(tpcElec);
 
  123   PndDchDigiProducer* digiProducer= 
new PndDchDigiProducer();
 
  124   fRun->AddTask(digiProducer);
 
  126   PndDchCylinderHitProducer* cylHitProducer= 
new PndDchCylinderHitProducer();
 
  127   fRun->AddTask(cylHitProducer);
 
  131   fRun->AddTask(mvddigi);
 
  133   PndTofHitProducerIdeal* 
tofhit = 
new PndTofHitProducerIdeal();
 
  134   tofhit->SetVerbose(iVerbose);
 
  135   fRun->AddTask(tofhit);
 
  139   fRun->AddTask(mdtHitProd);
 
  142   fRun->AddTask(gemDigitize);
 
  145   fRun->AddTask(gemFindHits);
 
  157   cout << endl << endl;
 
  158   cout << 
"Macro finished successfully." << endl;
 
  159   cout << 
"Output file is "    << outFile << endl;
 
  160   cout << 
"Parameter file is " << parFile << endl;
 
  161   cout << 
"Real time " << rtime << 
" s, CPU time " << ctime << 
" s" << endl;
 
PndGemFindHits * gemFindHits
PndEmcHitsToWaveform * emcHitsToWaveform
PndSttHitProducerRealFast * sttHitProducer
PndTpcClusterizerTask * tpcClusterizer
PndFtofHitProducerIdeal * tofhit
PndMdtHitProducerIdeal * mdtHitProd
PndTpcPadResponseTask * tpcPadResponse
void SetVerbose(Int_t iVerbose)
FairParRootFileIo * parInput1
PndGemDigitize * gemDigitize
PndEmcWaveformToDigi * emcWaveformToDigi
FairParAsciiFileIo * parIo1
PndTpcElectronicsTask * tpcElec
void DigiComplete(TString const &inFile, TString const &parFile, TString const &digiFile, TString const &outFile)
PndTpcDriftTask * tpcDrifter
void SetPositionSmearing(Float_t res)
Set the smearing of the PndMdtHit position.