/* * SdsPixelDigiLoader.cxx * * Created on: Nov 28, 2012 * Author: dklein */ #include "SdsPixelDigiLoader.h" #include "FairMQLogger.h" SdsPixelDigiLoader::SdsPixelDigiLoader() : FairMQSamplerTask("Load PndSdsDigiPixel from rootfile into PndHits::SdsDigiPixel") { } SdsPixelDigiLoader::~SdsPixelDigiLoader() { } void SdsPixelDigiLoader::Exec(Option_t* opt) { Int_t nPixelDigis = fInput->GetEntriesFast(); Int_t size = nPixelDigis * sizeof(PndPayload::SdsDigiPixel); void* buffer = operator new[](size); PndPayload::SdsDigiPixel* ptr = static_cast(buffer); for (Int_t i = 0; i < nPixelDigis; ++i) { PndSdsDigiPixel* pixelDigi = (PndSdsDigiPixel*) fInput->At(i); if (pixelDigi != NULL) { new(&ptr[i]) PndPayload::SdsDigiPixel(); ptr[i] = PndPayload::SdsDigiPixel(); ptr[i].fCol = pixelDigi->GetPixelColumn(); ptr[i].fRow = pixelDigi->GetPixelRow(); ptr[i].fDetID = pixelDigi->GetDetID(); ptr[i].fSensorID = pixelDigi->GetSensorID(); ptr[i].fFE = pixelDigi->GetFE(); ptr[i].fCharge = pixelDigi->GetCharge(); ptr[i].fTimeStamp = pixelDigi->GetTimeStamp(); ptr[i].fTimeStampError = pixelDigi->GetTimeStampError(); } else { continue; } } FairMQMessage* event = new FairMQMessage(buffer, size, NULL); fOutput->push_back(event); //std::stringstream logmsg; //logmsg << "loaded " << event->Size() << " bytes (" << nPixelDigis // << "entries)."; //FairMQLogger::GetInstance()->Log(FairMQLogger::DEBUG, logmsg.str()); }