6   if ( nStations != 3 && nStations != 4 ) {
 
    7     cout << 
"WRONG number of stations, only 3 or 4 allowed." << endl;
 
   15   baseName.Form(
"Gem_%dStations_%gGeV_n%d",nStations,momentum,
nEvents);
 
   22   std::cout << 
"Output File: " << outFile.Data()<< std::endl;
 
   30   FairRunAna *
fRun= 
new FairRunAna();
 
   31   fRun->SetInputFile(MCFile);
 
   32   fRun->AddFriend(hitFile);
 
   33   fRun->SetOutputFile(outFile);
 
   38   if ( nStations == 4 ) allDigiFile = sysFile+
"/macro/params/gem_4Stations.digi.par";
 
   40   FairRuntimeDb* 
rtdb = fRun->GetRuntimeDb();
 
   41   FairParRootFileIo* 
parInput1 = 
new FairParRootFileIo();
 
   42   parInput1->open(parFile.Data());
 
   44   FairParAsciiFileIo* 
parIo1 = 
new FairParAsciiFileIo();
 
   45   parIo1->open(allDigiFile.Data(),
"in");
 
   47   rtdb->setFirstInput(parInput1);
 
   48   rtdb->setSecondInput(parIo1);
 
   55   fRun->AddTask(finderTask);
 
   66   fRun->AddTask(trackFinderQA);
 
   71   FairGeane *
Geane = 
new FairGeane();
 
   80   fRun->AddTask(recoKalman);
 
   93   cout << 
"Macro finished succesfully." << endl;
 
   94   cout << 
"Output file is "    << outFile << endl;
 
   95   cout << 
"Parameter file is " << parFile << endl;
 
   96   cout << 
"Real time " << rtime << 
" s, CPU time " << ctime << 
" s" << endl;
 
void SetPrimary(const Int_t &primary)
void UseFinder(PndGemTrackFinder *finder)
void SetTrackOutBranchName(const TString &name)
void SetVerbose(const Int_t &verbose)
void SetVerbose(const Int_t &verbose)
Ideal track finding algorithm. 
Int_t gem_idealTracks(Int_t nStations, Double_t momentum=15., Int_t nEvents=1000, int verboseLevel=0)
FairParRootFileIo * parInput1
FairParAsciiFileIo * parIo1
void SetTrackInBranchName(const TString &name)
PndRecoKalmanTask * recoKalman
track finding quality assesment task 
Task class for track finding in the Gem. 
void SetUseHitOrDigi(TString useHitOrDigi="hit")