/* * PndTorinoDetectorDigiWriteoutBuffer.cxx * * Created on: May 10, 2011 * Author: stockman */ #include #include "PndTorinoDetectorDigi.h" ClassImp(PndTorinoDetectorDigiWriteoutBuffer); PndTorinoDetectorDigiWriteoutBuffer::PndTorinoDetectorDigiWriteoutBuffer():FairWriteoutBuffer() { // TODO Auto-generated constructor stub } PndTorinoDetectorDigiWriteoutBuffer::PndTorinoDetectorDigiWriteoutBuffer(TString branchName, TString folderName, Bool_t persistance): FairWriteoutBuffer(branchName, "PndTorinoDetectorDigi", folderName, persistance) { } PndTorinoDetectorDigiWriteoutBuffer::~PndTorinoDetectorDigiWriteoutBuffer() { // TODO Auto-generated destructor stub } void PndTorinoDetectorDigiWriteoutBuffer::AddNewDataToTClonesArray(FairTimeStamp* data) { FairRootManager* ioman = FairRootManager::Instance(); TClonesArray* myArray = ioman->GetTClonesArray(fBranchName); if (fVerbose > 1){ std::cout << "Data Inserted: " << *(PndTorinoDetectorDigi*)(data) << std::endl; } new ((*myArray)[myArray->GetEntries()]) PndTorinoDetectorDigi(*(PndTorinoDetectorDigi*)(data)); } double PndTorinoDetectorDigiWriteoutBuffer::FindTimeForData(FairTimeStamp* data) { std::map::iterator it; PndTorinoDetectorDigi myData = *(PndTorinoDetectorDigi*)data; it = fData_map.find(myData); if (it == fData_map.end()) return -1; else return it->second; } void PndTorinoDetectorDigiWriteoutBuffer::FillDataMap(FairTimeStamp* data, double activeTime) { PndTorinoDetectorDigi myData = *(PndTorinoDetectorDigi*)data; fData_map[myData] = activeTime; } void PndTorinoDetectorDigiWriteoutBuffer::EraseDataFromDataMap(FairTimeStamp* data) { PndTorinoDetectorDigi myData = *(PndTorinoDetectorDigi*)data; if (fData_map.find(myData) != fData_map.end()) fData_map.erase(fData_map.find(myData)); }