/* * CbmTimeSlice.cxx * * Created on: 17.07.2012 * Author: friese */ #include "CbmTimeSlice.h" #include "CbmDetectorList.h" #include "FairLogger.h" CbmTimeSlice::CbmTimeSlice() : fStartTime(0.), fDuration(0.) { } CbmTimeSlice::CbmTimeSlice(Double_t start, Double_t duration) : fStartTime(start), fDuration(duration) { } CbmTimeSlice::~CbmTimeSlice() { // TODO Auto-generated destructor stub } CbmDigi* CbmTimeSlice::GetData(DetectorId iDet, Int_t index) { CbmDigi* digi = NULL; switch (iDet) { case kSTS: if ( index < fStsData.size() ) digi = &(fStsData[index]); break; default: break; } return digi; } void CbmTimeSlice::InsertData(CbmDigi* data) { if ( data->GetTime() < fStartTime || data->GetTime() > GetEndTime() ) { FairLogger::GetLogger()->Warning(MESSAGE_ORIGIN, "Try to insert data at %d into time slice from %d to %d", data->GetTime(), fStartTime, GetEndTime()); return; } Int_t iDet = data->GetSystemId(); switch ( iDet ) { case kSTS: { CbmStsDigi* digi = static_cast(data); fStsData.push_back(*digi); } break; default: TString sysName; CbmDetectorList::GetSystemName(iDet, sysName); FairLogger::GetLogger()->Warning(MESSAGE_ORIGIN, "System %s not implemented yet", sysName.Data()); break; } } void CbmTimeSlice::Reset(Double_t start, Double_t duration) { fStsData.clear(); fStartTime = start; fDuration = duration; }