Jpp
software
DataQueue
FrameFactory
frame.hh
Go to the documentation of this file.
1
#ifndef DATAQUEUE_FRAMEFACTORY_FRAME_HH
2
#define DATAQUEUE_FRAMEFACTORY_FRAME_HH
3
4
#include <vector>
5
#include <
DataFormats/daq_common_header.hh
>
6
#include <
benchmark/time_tracking.hh
>
7
8
/**
9
* \author cpellegrino
10
*/
11
12
class
Frame
:
public
std::vector
<char>,
public
benchmark::chronometrable
13
{
14
unsigned
int
m_seqnumber
;
15
16
public
:
17
18
const
DAQCommonHeader
*
const
getHeader
()
const
19
{
20
return
static_cast<const DAQCommonHeader* const>(
21
static_cast<const void* const>(&front()));
22
}
23
24
const
char
*
const
getPayload
()
const
25
{
26
return
&front() +
sizeof
(
DAQCommonHeader
);
27
}
28
29
unsigned
int
getSeqNumber
()
const
30
{
31
return
m_seqnumber
;
32
}
33
34
unsigned
int
getFrameLength
()
const
35
{
36
return
size() ?
getHeader
()->
FrameLength
: 0;
37
}
38
39
unsigned
int
getNItems
()
const
40
{
41
return
size() ?
getHeader
()->
NumberOfItems
: 0;
42
}
43
44
friend
class
PuzzledFrame
;
45
};
46
47
#endif // DATAQUEUE_FRAMEFACTORY_FRAME_HH
time_tracking.hh
std::vector
Definition:
JSTDTypes.hh:12
Frame
Template Frame for ARS data.
Definition:
frame.hh:12
Frame::getPayload
const char *const getPayload() const
Definition:
frame.hh:24
Frame::getFrameLength
unsigned int getFrameLength() const
Definition:
frame.hh:34
Frame::m_seqnumber
unsigned int m_seqnumber
Definition:
frame.hh:14
DAQCommonHeader::FrameLength
uint32_t FrameLength
Definition:
daq_common_header.hh:14
Frame::getHeader
const DAQCommonHeader *const getHeader() const
Definition:
frame.hh:18
Frame::getNItems
unsigned int getNItems() const
Definition:
frame.hh:39
Frame::getSeqNumber
unsigned int getSeqNumber() const
Definition:
frame.hh:29
DAQCommonHeader::NumberOfItems
uint32_t NumberOfItems
Definition:
daq_common_header.hh:27
daq_common_header.hh
benchmark::chronometrable
Definition:
time_tracking.hh:18
PuzzledFrame
Definition:
puzzled_frame.hh:18
DAQCommonHeader
Definition:
daq_common_header.hh:12
Generated by
1.8.16