1
0
Fork 0
mirror of https://github.com/gwm17/Daqromancy.git synced 2025-08-06 13:18:50 -04:00
Daqromancy/src/Events/AcqEvent.h
2022-09-27 14:44:08 -04:00

111 lines
2.1 KiB
C++

#ifndef ACQ_EVENT_H
#define ACQ_EVENT_H
#include "Event.h"
#include "DAQ/DigitizerDefs.h"
namespace Daqromancy {
//For now all pure message, not sure what exactly needed yet
class AcqStartEvent : public Event
{
public:
AcqStartEvent(bool writeToDisk, bool writeToServer) :
m_isWriteToDisk(writeToDisk), m_isWriteToServer(writeToServer)
{
}
bool IsWriteToDisk() const { return m_isWriteToDisk; }
bool IsWriteToServer() const { return m_isWriteToServer; }
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqStart);
private:
bool m_isWriteToDisk;
bool m_isWriteToServer;
};
class AcqStopEvent : public Event
{
public:
AcqStopEvent() = default;
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqStop);
};
class AcqParametersEvent : public Event
{
public:
AcqParametersEvent(DigitizerAccessType type, int boardHandle = -1) :
m_boardHandle(boardHandle)
{
}
int GetBoardHandle() { return m_boardHandle; }
DigitizerAccessType GetAccessType() { return m_type; }
virtual std::string ToString() const override
{
std::stringstream stream;
stream << GetName() << " board handle: " << m_boardHandle;
return stream.str();
}
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqParameters);
private:
int m_boardHandle;
DigitizerAccessType m_type;
};
class AcqSyncArgsEvent : public Event
{
public:
AcqSyncArgsEvent(SyncArgs& args) :
m_args(args)
{
}
const SyncArgs& GetArgs() const { return m_args; }
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqSyncArgs);
private:
SyncArgs m_args;
};
class AcqDetectBoardsEvent : public Event
{
public:
AcqDetectBoardsEvent() = default;
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqDetectBoards);
};
class AcqDisconnectBoardsEvent : public Event
{
public:
AcqDisconnectBoardsEvent() = default;
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqDisconnectBoards);
};
class AcqDPPModeEvent : public Event
{
public:
AcqDPPModeEvent() = default;
EVENT_CATEGORY_SETUP(EventCategoryAcq);
EVENT_TYPE_SETUP(AcqDPPMode);
};
}
#endif