1#ifndef TFRAGDIAGNOSTICSLOOP_H
2#define TFRAGDIAGNOSTICSLOOP_H
58 void Process(
const std::shared_ptr<const TFragment>& event);
95 std::shared_ptr<ThreadsafeQueue<std::shared_ptr<const TFragment>>>
fInputQueue;
std::atomic_size_t & ItemsPopped()
TH2D * fLostAcceptedIdsTime
void Process(const std::shared_ptr< const TFragment > &event)
TFragDiagnosticsLoop(const TFragDiagnosticsLoop &)=delete
TBadFragment * fBadEventAddress
size_t GetItemsCurrent() override
size_t GetRate() override
std::map< unsigned int, std::array< int64_t, 2 > > fTimeStamps
size_t GetItemsPopped() override
size_t GetItemsPushed() override
bool Iteration() override
unsigned int fRollingThreshold
std::map< unsigned int, std::array< int64_t, 2 > > fChannelIds
std::array< int64_t, 2 > fNetworkPacketTimeStamp
TFragment * fEventAddress
void ClearQueue() override
static TFragDiagnosticsLoop * Get(std::string name="", std::string fOutputFilename="")
TFragDiagnosticsLoop(TFragDiagnosticsLoop &&) noexcept=delete
std::map< unsigned int, std::array< int64_t, 2 > > fAcceptedChannelIds
std::map< unsigned int, int > fNofRollovers
std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > & InputQueue()
TEpicsFrag * fScalerAddress
TH2D * fLostChannelIdsTime
std::map< unsigned int, bool > fRolling
std::array< int, 2 > fNetworkPacketNumber
std::string EndStatus() override
std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > fInputQueue
std::map< unsigned int, int > fRollnum
TH1D * fLostNetworkPackets