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