 |
Belle II Software
release-05-01-25
|
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;
int getDHHID(int j) const
Return DHH ID of ROI j.
uint64_t baseType
base type
int getType(int j) const
Return Type (Datcon or HLT) of ROI j.
void init(int length)
initializer
void setHeader(bool Accepted, bool SendAll, bool SendROIs)
set header
int m_length
packet length
ROIpayload(int rois=0)
Default constructor.
int m_index
transient index
boost::spirit::endian::ubig32_t ubig32_t
Shorthand for 32-bit integer stored in big-endian format.
virtual ~ROIpayload()
destructor.
ROIpayload @TODO: Better explanation, Is there a reason to inherit from TObject and not Relationsobje...
void setPayloadLength()
set payload length
uint32_t * m_data32
transient value
int getMinVid(int j) const
Return MinVid (Row 1) of ROI j.
int getMinUid(int j) const
Return MinUid (Col 1) of ROI j.
Abstract base class for different kinds of events.
int getMaxUid(int j) const
Return MaxUid (Col 2) of ROI j.
int * getRootdata()
get pointer to the data packet
int * m_rootdata
pointer to data packet of m_length words
int getMaxVid(int j) const
Return MaxVid (Row 2) of ROI j.
int m_packetLengthByte
packet length in byte
ROIrawID::baseType * m_data64
transient value
int getNrROIs() const
Get the nr of ROIs.
void addROIraw(unsigned long int roiraw)
add a ROIrawID
void setRunSubrunExpNumber(int run, int subrun, int exp)
set run/ subrun/exp number
void setTriggerNumber(unsigned long int triggerNumber)
set trigger number