7 #include "TClonesArray.h" 
    9 #include "TGeoManager.h" 
   11 #include "FairRootManager.h" 
   14 #include "FairRuntimeDb.h" 
   15 #include "FairGeoNode.h" 
   16 #include "FairGeoVector.h" 
   17 #include "FairRunAna.h" 
   18 #include "FairEventHeader.h" 
   34   if(
fVerbose>0) Info(
"PndRichHitFinder",
"RICH Hit Finder created, Parameters will be taken from RTDB");  
 
   78   if(
fVerbose>0) Info(
"PndRichHitFinder",
"RichHitFinder created, Parameters will be taken from RTDB");
 
  119   if(
fVerbose>0) Info(
"PndRichHitFinder",
"%s created, Parameters will be taken from RTDB",name);
 
  152   if(
fVerbose>1) Info(
"SetParContainers",
"done.");
 
  164   FairRootManager* ioman = FairRootManager::Instance();
 
  167     std::cout << 
"-E- PndRichHitFinder::Init: " 
  168     << 
"RootManager not instantiated!" << std::endl;
 
  172    std::cout << 
"FairRunAna::Instance()->IsTimeStamp() = " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
 
  173   if (FairRunAna::Instance()->IsTimeStamp())
 
  181     std::cout << 
"-W- PndRichHitFinder::Init: " 
  182     << 
"No RichDigi array!" << std::endl;
 
  198   if(
fVerbose>3) Info(
"Exec",
"Start");  
 
  202   Double_t etime = FairRootManager::Instance()->GetEventTime();
 
  203   if (FairRunAna::Instance()->IsTimeStamp()){
 
  208      std::cout << 
"nDigis = " << nDigis << 
" " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
 
  218         for (Int_t iDigi = 0; iDigi < nDigis; iDigi++)
 
  237         std::vector< Int_t > nmax;
 
  238         std::vector< Int_t > imax;
 
  239         std::vector< Int_t > istart;
 
  240         std::vector< Int_t > istop;
 
  254               if (j>=0) nhits += j<nbrp ?
 
  270               nmax.push_back(nhitsmax);
 
  271               imax.push_back(imax_);
 
  272               istop.push_back(
i-1);
 
  274               std::cout << 
"peak = " << imax.size() << 
" " << imax_ << 
" " << nhitsmax << 
" " 
  275                  << istop.back() << 
" " << istart.back() << 
" " << t << std::endl;
 
  279            if (nhits<5) ilast = 
i;
 
  284         if(
fVerbose>1) std::cout<<
"-I- PndRichHitFinder: Event # "<< 
fEventNr<<
" has "<<nDigis<<
" digis."<< std::endl;
 
  285         else if(
fVerbose==1 && 
fEventNr%1000==0) std::cout<<
"-I- PndRichHitFinder: Event # "<< 
fEventNr<<
" has "<<nDigis<<
" digis."<< std::endl;
 
  286         std::cout<<
"-I- PndRichHitFinder: Event # "<< 
fEventNr<<
" has "<<nDigis<<
" digis.   " 
  287            << FairRunAna::Instance()->IsTimeStamp() << 
" " << etime << 
" " 
  288            << timel-timef << 
" " << etime << 
" " << timef << 
" " << timel << 
" " << 
petime << std::endl;
 
  294         TVector3 HitPosGlobal, HitPosLocal, dPosHit;
 
  298         for (Int_t iDigi = 0; iDigi < nDigis; iDigi++){
 
  304            Int_t sensorId = -999;
 
  322            if(
fDigi->GetTimeStamp()!=etime+hitTime) hitTime =  
fDigi->GetTimeStamp() - etime;
 
  325            pdhit.SetTimeStamp(
fDigi->GetTimeStamp());
 
  327            pdhit.SetLink(
fDigi->GetLink(0)); 
 
  328            pdhit.AddLink(
fDigi->GetLink(1)); 
 
  329            pdhit.AddLink(FairLink(-1,
fEventNr, 
"RichDigi", iDigi));
 
  343      for (Int_t iDigi = 0; iDigi < nDigis; iDigi++){
 
  349         TVector3 dpos(0,0,0);
 
  353      std::cout << 
"Event = " << 
fEventNr << 
"  nDigis = " << nDigis << 
" " << FairRunAna::Instance()->IsTimeStamp() << std::endl;
 
  357   if(
fVerbose>3) Info(
"Exec",
"Loop MC points");
 
  374    std::cout << 
"-I- PndRichHitFinder: Total number of hits is " << 
fHitNumber << std::endl;
 
ClassImp(PndRichHitFinder)
virtual void FinishTask()
virtual void SetParContainers()
virtual InitStatus ReInit()
BinaryFunctor * fGapFunctor
std::vector< std::vector< Double_t > > fHitsBuffer
void SetPersistency(Bool_t val=kTRUE)
virtual ~PndRichHitFinder()
FairMCEventHeader * fMCEventHeader
std::vector< Double_t > fBufferStartTime
TVector3 GetPosition() const 
BinaryFunctor * fStopFunctor
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
std::vector< Int_t > fBufferNumHits
static PndGeoHandling * Instance()
Int_t GetSensorId() const 
TClonesArray * fPdHitArray
TClonesArray * fDigiArray
virtual Double_t GetTime()
virtual void SetParContainers()
virtual void FinishEvent()