13 #include <tracking/dataobjects/ROIrawID.h>
16 #include <boost/spirit/home/support/detail/endian.hpp>
37 class ROIpayload :
public TObject {
38 enum { OFFSET_MAGIC = 0, OFFSET_LENGTH = 1, OFFSET_HEADER = 2, OFFSET_TRIGNR = 3, OFFSET_RUNNR = 4, OFFSET_ROIS = 5};
39 enum { HEADER_SIZE_WO_LENGTH = 3, HEADER_SIZE_WITH_LENGTH = 5, HEADER_SIZE_WITH_LENGTH_AND_CRC = 6};
43 typedef boost::spirit::endian::ubig32_t
ubig32_t;
68 void setHeader(
bool Accepted,
bool SendAll,
bool SendROIs);
83 void init(
int length);
90 return (
m_length - HEADER_SIZE_WITH_LENGTH_AND_CRC) / 2;
109 if (j < 0 || j >=
getNrROIs())
return -1;
111 2 * j + 1] & 0xFC000000) >> 26) ;
120 if (j < 0 || j >=
getNrROIs())
return -1;
130 if (j < 0 || j >=
getNrROIs())
return -1;
131 return (((
ubig32_t*)
m_rootdata)[HEADER_SIZE_WITH_LENGTH + 2 * j + 1] & 0x03FC0000) >> 18;
140 if (j < 0 || j >=
getNrROIs())
return -1;
150 if (j < 0 || j >=
getNrROIs())
return -1;