Jpp
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
KM3NETDAQ::JDAQFrameStatus Class Reference

DAQ frame status. More...

#include <JDAQFrameStatus.hh>

Inheritance diagram for KM3NETDAQ::JDAQFrameStatus:
KM3NETDAQ::JDAQSummaryFrame KM3NETDAQ::JDAQSuperFrameHeader KM3NETDAQ::JDAQSuperFrame

Public Member Functions

 JDAQFrameStatus ()
 Default constructor. More...
 
 JDAQFrameStatus (const int __daq, const int __status, const int __fifo, const int __status_3=0, const int __status_4=0)
 Constructor. More...
 
const JDAQFrameStatusgetDAQFrameStatus () const
 Get DAQ frame status. More...
 
void setDAQFrameStatus (const JDAQFrameStatus &status)
 Set DAQ frame status. More...
 
int getDAQStatus () const
 Get DAQ status. More...
 
int getStatus () const
 Get TDC and White Rabbit status. More...
 
int getFIFOStatus () const
 Get FIFO status. More...
 
bool testDAQStatus () const
 Test DAQ status of packets. More...
 
bool testStatus () const
 Test TDC and White Rabbit status. More...
 
int getUDPNumberOfReceivedPackets () const
 Get number of received UDP packets. More...
 
int getUDPMaximalSequenceNumber () const
 Get maximal sequence number of UDP packet. More...
 
bool testWhiteRabbitStatus () const
 Test White Rabbit status. More...
 
bool testTDCStatus () const
 Test TDC status. More...
 
bool testHighRateVeto () const
 Test high-rate veto status. More...
 
bool testHighRateVeto (const int tdc) const
 Test high-rate veto status. More...
 
int countHighRateVeto () const
 Count high-rate veto status. More...
 
bool testFIFOStatus () const
 Test FIFO status. More...
 
bool testFIFOStatus (const int tdc) const
 Test FIFO status. More...
 
int countFIFOStatus () const
 Count FIFO status. More...
 
int countActiveChannels () const
 Count active channels. More...
 
bool hasUDPTrailer () const
 Get UDP trailer status. More...
 
void setHighRateVeto (const int tdc, const bool value)
 Set high-rate veto. More...
 
 ClassDefNV (JDAQFrameStatus, 1)
 

Static Public Member Functions

static const JDAQFrameStatusgetInstance ()
 Get reference to unique instance of this class object. More...
 
static int sizeOf ()
 Get size of object. More...
 

Protected Attributes

int daq
 
int status
 
int fifo
 
int status_3
 
int status_4
 

Friends

JReaderoperator>> (JReader &in, JDAQFrameStatus &status)
 Read DAQ frame status from input. More...
 
JWriteroperator<< (JWriter &out, const JDAQFrameStatus &status)
 Write DAQ frame status to output. More...
 

Detailed Description

DAQ frame status.

Definition at line 23 of file JDAQFrameStatus.hh.

Constructor & Destructor Documentation

◆ JDAQFrameStatus() [1/2]

KM3NETDAQ::JDAQFrameStatus::JDAQFrameStatus ( )
inline

Default constructor.

Definition at line 28 of file JDAQFrameStatus.hh.

28  :
29  daq (0),
30  status (0),
31  fifo (0),
32  status_3(0),
33  status_4(0)
34  {}

◆ JDAQFrameStatus() [2/2]

KM3NETDAQ::JDAQFrameStatus::JDAQFrameStatus ( const int  __daq,
const int  __status,
const int  __fifo,
const int  __status_3 = 0,
const int  __status_4 = 0 
)
inline

Constructor.

Parameters
__daqDAQ status
__statusTDC status
__fifoFIFO status
__status_3spare
__status_4spare

Definition at line 46 of file JDAQFrameStatus.hh.

50  :
51  daq (__daq),
52  status (__status),
53  fifo (__fifo),
54  status_3(__status_3),
55  status_4(__status_4)
56  {}

Member Function Documentation

◆ getInstance()

static const JDAQFrameStatus& KM3NETDAQ::JDAQFrameStatus::getInstance ( )
inlinestatic

Get reference to unique instance of this class object.

This instance has default values which correspond to a valid DAQ frame status.

Returns
reference to this class object

Definition at line 66 of file JDAQFrameStatus.hh.

67  {
71 
72  return status;
73  }

◆ getDAQFrameStatus()

const JDAQFrameStatus& KM3NETDAQ::JDAQFrameStatus::getDAQFrameStatus ( ) const
inline

Get DAQ frame status.

Returns
DAQ frame status

Definition at line 81 of file JDAQFrameStatus.hh.

82  {
83  return static_cast<const JDAQFrameStatus&>(*this);
84  }

◆ setDAQFrameStatus()

void KM3NETDAQ::JDAQFrameStatus::setDAQFrameStatus ( const JDAQFrameStatus status)
inline

Set DAQ frame status.

Parameters
statusDAQ frame status

Definition at line 92 of file JDAQFrameStatus.hh.

93  {
94  static_cast<JDAQFrameStatus&>(*this) = status;
95  }

◆ getDAQStatus()

int KM3NETDAQ::JDAQFrameStatus::getDAQStatus ( ) const
inline

Get DAQ status.

Returns
DAQ status

Definition at line 103 of file JDAQFrameStatus.hh.

104  {
105  return this->daq;
106  }

◆ getStatus()

int KM3NETDAQ::JDAQFrameStatus::getStatus ( ) const
inline

Get TDC and White Rabbit status.

Returns
status

Definition at line 114 of file JDAQFrameStatus.hh.

115  {
116  return this->status;
117  }

◆ getFIFOStatus()

int KM3NETDAQ::JDAQFrameStatus::getFIFOStatus ( ) const
inline

Get FIFO status.

Returns
FIFO status

Definition at line 125 of file JDAQFrameStatus.hh.

126  {
127  return this->fifo;
128  }

◆ testDAQStatus()

bool KM3NETDAQ::JDAQFrameStatus::testDAQStatus ( ) const
inline

Test DAQ status of packets.

Returns
true if okay; else false

Definition at line 136 of file JDAQFrameStatus.hh.

137  {
139  }

◆ testStatus()

bool KM3NETDAQ::JDAQFrameStatus::testStatus ( ) const
inline

Test TDC and White Rabbit status.

Returns
true if okay; else false

Definition at line 147 of file JDAQFrameStatus.hh.

148  {
149  return testWhiteRabbitStatus() && testTDCStatus();
150  }

◆ getUDPNumberOfReceivedPackets()

int KM3NETDAQ::JDAQFrameStatus::getUDPNumberOfReceivedPackets ( ) const
inline

Get number of received UDP packets.

Returns
UDP received packets

Definition at line 158 of file JDAQFrameStatus.hh.

159  {
160  return DAQ_UDP_RECEIVED_PACKETS.read(this->daq);
161  }

◆ getUDPMaximalSequenceNumber()

int KM3NETDAQ::JDAQFrameStatus::getUDPMaximalSequenceNumber ( ) const
inline

Get maximal sequence number of UDP packet.

Returns
UDP sequence number

Definition at line 169 of file JDAQFrameStatus.hh.

170  {
171  return DAQ_UDP_SEQUENCE_NUMBER.read(this->daq);
172  }

◆ testWhiteRabbitStatus()

bool KM3NETDAQ::JDAQFrameStatus::testWhiteRabbitStatus ( ) const
inline

Test White Rabbit status.

Returns
true if okay; else false

Definition at line 180 of file JDAQFrameStatus.hh.

181  {
182  return DAQ_WHITE_RABBIT.has(this->status);
183  }

◆ testTDCStatus()

bool KM3NETDAQ::JDAQFrameStatus::testTDCStatus ( ) const
inline

Test TDC status.

Returns
true if okay; else false

Definition at line 191 of file JDAQFrameStatus.hh.

192  {
193  return !testHighRateVeto();
194  }

◆ testHighRateVeto() [1/2]

bool KM3NETDAQ::JDAQFrameStatus::testHighRateVeto ( ) const
inline

Test high-rate veto status.

Returns
true if one of the TDCs is high-rate vetoed; else false

Definition at line 202 of file JDAQFrameStatus.hh.

203  {
204  return DAQ_TDC.has(this->status);
205  }

◆ testHighRateVeto() [2/2]

bool KM3NETDAQ::JDAQFrameStatus::testHighRateVeto ( const int  tdc) const
inline

Test high-rate veto status.

Parameters
tdcTDC
Returns
true if TDC is high-rate vetoed; else false

Definition at line 214 of file JDAQFrameStatus.hh.

215  {
216  return JBit(tdc).has(this->status);
217  }

◆ countHighRateVeto()

int KM3NETDAQ::JDAQFrameStatus::countHighRateVeto ( ) const
inline

Count high-rate veto status.

Returns
number of the TDCs with high-rate veto

Definition at line 225 of file JDAQFrameStatus.hh.

226  {
227  int n = 0;
228 
229  if (testHighRateVeto()) {
230  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
231  if (JBit(pmt).has(this->status)) {
232  ++n;
233  }
234  }
235  }
236 
237  return n;
238  }

◆ testFIFOStatus() [1/2]

bool KM3NETDAQ::JDAQFrameStatus::testFIFOStatus ( ) const
inline

Test FIFO status.

Returns
true if one of the TDCs has FIFO almost full; else false

Definition at line 246 of file JDAQFrameStatus.hh.

247  {
248  return DAQ_FIFO.has(this->fifo);
249  }

◆ testFIFOStatus() [2/2]

bool KM3NETDAQ::JDAQFrameStatus::testFIFOStatus ( const int  tdc) const
inline

Test FIFO status.

Parameters
tdcTDC
Returns
true if FIFO is almost full; else false

Definition at line 258 of file JDAQFrameStatus.hh.

259  {
260  return JBit(tdc).has(this->fifo);
261  }

◆ countFIFOStatus()

int KM3NETDAQ::JDAQFrameStatus::countFIFOStatus ( ) const
inline

Count FIFO status.

Returns
number of the TDCs with FIFO almost full

Definition at line 269 of file JDAQFrameStatus.hh.

270  {
271  int n = 0;
272 
273  if (testFIFOStatus()) {
274  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
275  if (JBit(pmt).has(this->fifo)) {
276  ++n;
277  }
278  }
279  }
280 
281  return n;
282  }

◆ countActiveChannels()

int KM3NETDAQ::JDAQFrameStatus::countActiveChannels ( ) const
inline

Count active channels.

Returns
number of TDCs without high rate veto or FIFO almost full

Definition at line 288 of file JDAQFrameStatus.hh.

289  {
290  int n = NUMBER_OF_PMTS;
291 
292  if (testHighRateVeto() || testFIFOStatus()) {
293  for (int pmt = 0; pmt != NUMBER_OF_PMTS; ++pmt) {
294  if ( JBit(pmt).has(this->status) || JBit(pmt).has(this->fifo) ) {
295  --n;
296  }
297  }
298  }
299 
300  return n;
301 
302  }

◆ hasUDPTrailer()

bool KM3NETDAQ::JDAQFrameStatus::hasUDPTrailer ( ) const
inline

Get UDP trailer status.

Returns
true if UDP trailer present; else false

Definition at line 310 of file JDAQFrameStatus.hh.

311  {
312  return DAQ_UDP_TRAILER.has(this->fifo);
313  }

◆ setHighRateVeto()

void KM3NETDAQ::JDAQFrameStatus::setHighRateVeto ( const int  tdc,
const bool  value 
)
inline

Set high-rate veto.

Parameters
tdcTDC
valuevalue

Definition at line 322 of file JDAQFrameStatus.hh.

323  {
324  JBit(tdc).set(this->status, value);
325  }

◆ sizeOf()

static int KM3NETDAQ::JDAQFrameStatus::sizeOf ( )
inlinestatic

Get size of object.

Returns
number of bytes

Definition at line 371 of file JDAQFrameStatus.hh.

372  {
373  return (sizeof(int) +
374  sizeof(int) +
375  sizeof(int) +
376  sizeof(int) +
377  sizeof(int));
378  }

◆ ClassDefNV()

KM3NETDAQ::JDAQFrameStatus::ClassDefNV ( JDAQFrameStatus  ,
 
)

Friends And Related Function Documentation

◆ operator>>

JReader& operator>> ( JReader in,
JDAQFrameStatus status 
)
friend

Read DAQ frame status from input.

Parameters
inJReader
statusJDAQFrameStatus
Returns
JReader

Definition at line 335 of file JDAQFrameStatus.hh.

336  {
337  in >> status.daq;
338  in >> status.status;
339  in >> status.fifo;
340  in >> status.status_3;
341  in >> status.status_4;
342 
343  return in;
344  }

◆ operator<<

JWriter& operator<< ( JWriter out,
const JDAQFrameStatus status 
)
friend

Write DAQ frame status to output.

Parameters
outJWriter
statusJDAQFrameStatus
Returns
JWriter

Definition at line 354 of file JDAQFrameStatus.hh.

355  {
356  out << status.daq;
357  out << status.status;
358  out << status.fifo;
359  out << status.status_3;
360  out << status.status_4;
361 
362  return out;
363  }

Member Data Documentation

◆ daq

int KM3NETDAQ::JDAQFrameStatus::daq
protected

Definition at line 384 of file JDAQFrameStatus.hh.

◆ status

int KM3NETDAQ::JDAQFrameStatus::status
protected

Definition at line 385 of file JDAQFrameStatus.hh.

◆ fifo

int KM3NETDAQ::JDAQFrameStatus::fifo
protected

Definition at line 386 of file JDAQFrameStatus.hh.

◆ status_3

int KM3NETDAQ::JDAQFrameStatus::status_3
protected

Definition at line 387 of file JDAQFrameStatus.hh.

◆ status_4

int KM3NETDAQ::JDAQFrameStatus::status_4
protected

Definition at line 388 of file JDAQFrameStatus.hh.


The documentation for this class was generated from the following file:
KM3NETDAQ::JDAQFrameStatus::testHighRateVeto
bool testHighRateVeto() const
Test high-rate veto status.
Definition: JDAQFrameStatus.hh:202
KM3NETDAQ::DAQ_UDP_RECEIVED_PACKETS
static const JBits DAQ_UDP_RECEIVED_PACKETS(0, 15)
Mask of UDP received packets.
KM3NETDAQ::JBit::has
bool has(const int mask) const
Test bit.
Definition: JDAQ.hh:139
JTOOLS::n
const int n
Definition: JPolint.hh:628
KM3NETDAQ::NUMBER_OF_PMTS
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
KM3NETDAQ::DAQ_UDP_TRAILER
static const JBit DAQ_UDP_TRAILER(31)
UDP trailer.
KM3NETDAQ::JDAQFrameStatus::getUDPMaximalSequenceNumber
int getUDPMaximalSequenceNumber() const
Get maximal sequence number of UDP packet.
Definition: JDAQFrameStatus.hh:169
KM3NETDAQ::JDAQFrameStatus::JDAQFrameStatus
JDAQFrameStatus()
Default constructor.
Definition: JDAQFrameStatus.hh:28
KM3NETDAQ::JDAQFrameStatus::status_4
int status_4
Definition: JDAQFrameStatus.hh:388
KM3NETDAQ::JDAQFrameStatus::hasUDPTrailer
bool hasUDPTrailer() const
Get UDP trailer status.
Definition: JDAQFrameStatus.hh:310
KM3NETDAQ::JDAQFrameStatus::getUDPNumberOfReceivedPackets
int getUDPNumberOfReceivedPackets() const
Get number of received UDP packets.
Definition: JDAQFrameStatus.hh:158
KM3NETDAQ::JDAQFrameStatus::status_3
int status_3
Definition: JDAQFrameStatus.hh:387
KM3NETDAQ::JDAQFrameStatus::testFIFOStatus
bool testFIFOStatus() const
Test FIFO status.
Definition: JDAQFrameStatus.hh:246
KM3NETDAQ::JBit::write
int write(const int value) const
Write given value as bit mask.
Definition: JDAQ.hh:115
KM3NETDAQ::JDAQFrameStatus::status
int status
Definition: JDAQFrameStatus.hh:385
KM3NETDAQ::JBits::write
int write(const int value) const
Write given value as bit mask.
Definition: JDAQ.hh:238
KM3NETDAQ::DAQ_WHITE_RABBIT
static const JBit DAQ_WHITE_RABBIT(31)
White Rabbit status.
KM3NETDAQ::JDAQFrameStatus::fifo
int fifo
Definition: JDAQFrameStatus.hh:386
KM3NETDAQ::DAQ_UDP_SEQUENCE_NUMBER
static const JBits DAQ_UDP_SEQUENCE_NUMBER(16, 31)
Mask of UDP sequence number.
KM3NETDAQ::JDAQFrameStatus::testTDCStatus
bool testTDCStatus() const
Test TDC status.
Definition: JDAQFrameStatus.hh:191
KM3NETDAQ::JBits::read
int read(const int mask) const
Read given bit mask as value.
Definition: JDAQ.hh:250
KM3NETDAQ::JBits::has
bool has(const int mask) const
Test bit mask.
Definition: JDAQ.hh:262
KM3NETDAQ::DAQ_FIFO
static const JBits DAQ_FIFO(0, 30)
FIFO almost full bits.
KM3NETDAQ::JDAQFrameStatus::testWhiteRabbitStatus
bool testWhiteRabbitStatus() const
Test White Rabbit status.
Definition: JDAQFrameStatus.hh:180
KM3NETDAQ::DAQ_TDC
static const JBits DAQ_TDC(0, 30)
TDC high-rate veto status.
KM3NETDAQ::JDAQFrameStatus::daq
int daq
Definition: JDAQFrameStatus.hh:384