// ------------------------------------------------------------------------- // ----- CbmMvdOrgHitTask source file ----- // ----- Created 10.07.2012 by P. Sitzmann ----- // ------------------------------------------------------------------------- #include "CbmMvdOrgHitTask.h" #include "TClonesArray.h" #include "TObjArray.h" #include "CbmMvdHit.h" // ----- Default constructor ------------------------------------------- CbmMvdOrgHitTask::CbmMvdOrgHitTask() : FairTask("MVDSensorBuffer"){ } // ------------------------------------------------------------------------- // ----- Destructor ---------------------------------------------------- CbmMvdOrgHitTask::~CbmMvdOrgHitTask() { ; } // ------------------------------------------------------------------------- void CbmMvdOrgHitTask::Finish(){ ; } // ------------------------------------------------------------------------- void CbmMvdOrgHitTask::Exec(Option_t* opt){ Int_t npoints = fInputPoints->GetEntriesFast(); fOrgHits->Clear("C"); for ( Int_t i = 0; i < npoints; i++) { FairRootManager* ioman = FairRootManager::Instance(); CbmMvdPoint* currentPoint = (CbmMvdPoint*)fInputPoints->At(i); Int_t statNr = currentPoint->GetStationNr(); TVector3* pos = new TVector3 (currentPoint->GetXOut() ,currentPoint->GetYOut(), currentPoint->GetZOut()); TVector3* dpos = new TVector3(); Int_t flag = fOrgHits->GetEntriesFast(); Int_t indexCentralX = currentPoint->GetXOut(); Int_t indexCentralY = currentPoint->GetYOut(); time = currentPoint->GetAbsTime(); /** cout.precision(10); cout << endl << "pointTime now " << pointTime << endl; cout << endl << "eventTime now " << eventTime << endl; cout << endl << "Time now " << time << endl;**/ new((*fOrgHits)[i]) CbmMvdHit(statNr, *pos, *dpos, indexCentralX, indexCentralY, i, flag); CbmMvdHit* myHit = (CbmMvdHit*)fOrgHits->At(i); myHit->SetTimeStamp(time); currentPoint->Print(opt); myHit->Print(); fOrgHits->Print(); cout << endl << endl; } } // ------------------------------------------------------------------------- InitStatus CbmMvdOrgHitTask::Init(){ cout << "-I- " << GetName() << ": Initialisation..." << endl; cout << endl; cout << "---------------------------------------------" << endl; cout << "-I- Initialising " << GetName() << " ...." << endl; // ********** RootManager FairRootManager* ioman = FairRootManager::Instance(); if ( ! ioman ) { cout << "-E- " << GetName() << "::Init: No FairRootManager!" << endl; return kFATAL; } // ********** Get input arrays fInputPoints = (TClonesArray*) ioman->GetObject("MvdPoint"); // ********** Register output array fOrgHits = new TClonesArray("CbmMvdHit", 10000); ioman->Register("MvdOrgHit", "MvdHit", fOrgHits, kTRUE); } ClassImp(CbmMvdOrgHitTask)