6 #include "TClonesArray.h"
8 #include "TGeoManager.h"
10 #include "FairRootManager.h"
13 #include "FairRuntimeDb.h"
14 #include "FairGeoNode.h"
15 #include "FairGeoVector.h"
16 #include "FairRunAna.h"
17 #include "FairEventHeader.h"
32 if(
fVerbose>0) Info(
"PndDrcHitFinder",
"DRC Hit Finder created, Parameters will be taken from RTDB");
59 if(
fVerbose>0) Info(
"PndDrcHitFinder",
"DrcHitFinder created, Parameters will be taken from RTDB");
82 if(
fVerbose>0) Info(
"PndDrcHitFinder",
"%s created, Parameters will be taken from RTDB",name);
108 if(
fVerbose>1) Info(
"SetParContainers",
"done.");
120 FairRootManager* ioman = FairRootManager::Instance();
123 std::cout <<
"-E- PndDrcHitFinder::Init: "
124 <<
"RootManager not instantiated!" << std::endl;
133 std::cout <<
"-W- PndDrcHitFinder::Init: "
134 <<
"No DrcDigi array!" << std::endl;
150 if(
fVerbose>3) Info(
"Exec",
"Start");
154 Double_t etime = FairRootManager::Instance()->GetEventTime();
155 if (FairRunAna::Instance()->IsTimeStamp()){
160 if(
fVerbose>1) std::cout<<
"-I- PndDrcHitFinder: Event # "<<
fEventNr<<
" has "<<nDigis<<
" digis."<< std::endl;
161 else if(
fVerbose==1 &&
fEventNr%1000==0) std::cout<<
"-I- PndDrcHitFinder: Event # "<<
fEventNr<<
" has "<<nDigis<<
" digis."<< std::endl;
163 Int_t detID = 0, mcpID = 0, pixelID = 0;
164 TVector3 HitPosGlobal, HitPosLocal, dPosHit;
167 for (Int_t iDigi = 0; iDigi < nDigis; iDigi++){
170 pixelID = detID - 100*(Int_t)TMath::Floor((
Double_t)detID/100.);
181 else HitPosLocal.SetX(HitPosLocal.X()-
fPixelSize/2.);
190 if(
fDigi->GetTimeStamp()!=etime+hitTime) hitTime =
fDigi->GetTimeStamp() - etime;
193 pdhit.SetTimeStamp(
fDigi->GetTimeStamp());
195 pdhit.SetLink(
fDigi->GetLink(0));
196 pdhit.AddLink(
fDigi->GetLink(1));
197 pdhit.AddLink(FairLink(-1,
fEventNr,
"DrcDigi", iDigi));
203 if(
fVerbose>3) Info(
"Exec",
"Loop MC points");
void SetTimeAtBar(Double_t TimeAtBar)
virtual void Exec(Option_t *opt)
virtual void SetParContainers()
virtual InitStatus Init()
BinaryFunctor * fGapFunctor
TClonesArray * fPdHitArray
void SetPersistency(Bool_t val=kTRUE)
virtual void FinishEvent()
FairMCEventHeader * fMCEventHeader
TClonesArray * fDigiArray
virtual void FinishTask()
virtual InitStatus ReInit()
BinaryFunctor * fStopFunctor
static PndGeoHandling * Instance()
ClassImp(PndDrcHitFinder)
Int_t GetSensorId() const
TVector3 LocalToMasterShortId(const TVector3 &local, const Int_t &shortId)
virtual ~PndDrcHitFinder()
Int_t GetDetectorId() const
void SetPdgCode(Int_t Pdg)
virtual void SetParContainers()
Double_t GetTimeAtBar() const