#include <vector>
#include <iostream>
#include <fstream>
#include <cmath>
#include <algorithm>

using std::cout;
using std::endl;

void timelineplots_tb(){ 

  TString simFile ="../sim/sim_6.root";
  TString parFile ="../sim/sim_6_params.root";
  TString digiFile ="../digi/digi_tb_6.root";
  TString outFile = "out.root"; 

  int Ev_start = 0;
  int Ev_end = 0;     // take 0 for all events

  // -----   Initialize Run manager   -------------------------------------------
  FairRunAna *fRun= new FairRunAna();
  fRun->SetInputFile(digiFile);
  fRun->AddFriend(simFile);
  fRun->SetOutputFile(outFile); 
  fRun->SetUseFairLinks(kTRUE);
  
  // -----  Parameter database   --------------------------------------------
  TString allDigiFile = gSystem->Getenv("VMCWORKDIR");
  allDigiFile += "/macro/params/all.par";
  
  FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
  FairParRootFileIo* parInput1 = new FairParRootFileIo();
  parInput1->open(parFile.Data());
  
  FairParAsciiFileIo* parIo1 = new FairParAsciiFileIo();
  parIo1->open(allDigiFile.Data(),"in");
  rtdb->setFirstInput(parInput1);
  rtdb->setSecondInput(parIo1);
  
  fRun->Init();

  FairRootManager* ioman = FairRootManager::Instance();

  TClonesArray* scitHitArray = (TClonesArray*)ioman->GetObject("SciTHit");
  FairEventHeader* evtHeader = (FairEventHeader*)ioman->GetObject("EventHeader.");

  PndSciTHit* scitHit;

  for (int i_Event=Ev_start; i_Event < Ev_end; i_Event++) { 
    ioman->ReadEvent(i_Event);

    cout<< "EventTime: " << evtHeader->GetEventTime(); << endl;
 
    for (Int_t i_Array=0; i_Array < scitHitArray->GetEntries(); i_Array++) { //loop over Hitarray

      scitHit = (PndSciTHit*) scitHitArray->At(i_Array);
      cout << "SciTil timestamp: "<<scitHit->GetTimeStamp()<<endl;
    }
  }// --- event end

}
