/* * PndEmcDigiWriteoutBuffer.cxx */ #include ClassImp(PndEmcDigiWriteoutBuffer); #include "PndEmcDigi.h" PndEmcDigiWriteoutBuffer::PndEmcDigiWriteoutBuffer():FairWriteoutBuffer() { } PndEmcDigiWriteoutBuffer::PndEmcDigiWriteoutBuffer(TString branchName, TString folderName, Bool_t persistance): FairWriteoutBuffer(branchName, "PndEmcDigi", folderName, persistance) { } PndEmcDigiWriteoutBuffer::~PndEmcDigiWriteoutBuffer() { } void PndEmcDigiWriteoutBuffer::AddNewDataToTClonesArray(FairTimeStamp* data) { FairRootManager* ioman = FairRootManager::Instance(); TClonesArray* myArray = ioman->GetTClonesArray(fBranchName); if (fVerbose > 1) std::cout << "Data Inserted: " << *(PndEmcDigi*)(data) << std::endl; new ((*myArray)[myArray->GetEntries()]) PndEmcDigi(*(PndEmcDigi*)(data)); } double PndEmcDigiWriteoutBuffer::FindTimeForData(FairTimeStamp* data) { std::map::iterator it; PndEmcDigi myData = *(PndEmcDigi*)data; it = fData_map.find(myData); if (it == fData_map.end()) return -1; else return it->second; } void PndEmcDigiWriteoutBuffer::FillDataMap(FairTimeStamp* data, double activeTime) { PndEmcDigi myData = *(PndEmcDigi*)data; fData_map[myData] = activeTime; } void PndEmcDigiWriteoutBuffer::EraseDataFromDataMap(FairTimeStamp* data) { PndEmcDigi myData = *(PndEmcDigi*)data; if (fData_map.find(myData) != fData_map.end()) fData_map.erase(fData_map.find(myData)); }