23 : log(logger),
gheader(header) {
24 log->debug(CONSTRUCTOR,
"GFrameDataCollection");
25 integralPayloads =
new std::vector<GIntegralPayload*>();
32 log->debug(DESTRUCTOR,
"GFrameDataCollection");
34 for (
auto* payload : *integralPayloads) {
delete payload; }
35 delete integralPayloads;
48 if (payload.size() == 5) {
49 int crate = payload[0];
50 int slot = payload[1];
51 int channel = payload[2];
52 int charge = payload[3];
53 int time = payload[4];
56 auto gpayload =
new GIntegralPayload(crate, slot, channel, charge, time, log);
57 integralPayloads->push_back(gpayload);
58 log->debug(NORMAL,
" adding integral payload for crate ", crate,
" slot ", slot,
" channel ", channel,
59 " charge ", charge,
" time ", time);
61 else { log->error(
ERR_WRONGPAYLOAD,
"payload size is not 5 but ", payload.size()); }
80 [[nodiscard]]
inline const std::vector<GIntegralPayload*>*
getIntegralPayload()
const {
return integralPayloads; }
89 std::shared_ptr<GLogger> log;
91 std::vector<GIntegralPayload*>* integralPayloads;
~GFrameDataCollection()
Destructor for GFrameDataCollection.
const GFrameHeader * getHeader() const
Gets the frame header.
bool shouldWriteFrame() const
void addIntegralPayload(std::vector< int > payload) const
Adds an integral payload.
long int getFrameID() const
Gets the frame ID.
const std::vector< GIntegralPayload * > * getIntegralPayload() const
Gets the integral payloads.
GFrameDataCollection(GFrameHeader *header, std::shared_ptr< GLogger > logger)
Constructs a GFrameDataCollection.
Defines constants and exit codes for the GData library.
constexpr int ERR_WRONGPAYLOAD
Exit code when a payload is of the wrong size.