Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
JDETECTOR::JStatus Struct Reference

Auxiliary class for controlling PMT status. More...

#include <JStatus.hh>

Inheritance diagram for JDETECTOR::JStatus:
JLANG::JEquals< JFirst_t, JSecond_t > JDETECTOR::JPMT JFIT::JPMTW0

Public Types

enum  JPMTStatusBits_t {
  PMT_DISABLE = 0, HIGH_RATE_VETO_DISABLE = 1, FIFO_FULL_DISABLE = 2, UDP_COUNTER_DISABLE = 3,
  UDP_TRAILER_DISABLE = 4
}
 Enumeration of status bits. More...
 

Public Member Functions

 JStatus ()
 Default constructor. More...
 
 JStatus (const int status)
 Constructor. More...
 
const JStatusgetStatus () const
 Get status. More...
 
JStatus getStatus ()
 Get status. More...
 
void setStatus (const JStatus &status)
 Set status. More...
 
bool equals (const JStatus &status) const
 Equal method. More...
 
bool has (const JPMTStatusBits_t bit) const
 Test PMT status. More...
 
void set (const JPMTStatusBits_t bit)
 Set PMT status. More...
 
void reset (const JPMTStatusBits_t bit)
 Reset PMT status. More...
 
void print (std::ostream &out) const
 Print status. More...
 

Protected Attributes

int status
 

Friends

std::istream & operator>> (std::istream &in, JStatus &status)
 Read status from input. More...
 
std::ostream & operator<< (std::ostream &out, const JStatus &status)
 Write status to output. More...
 
JReaderoperator>> (JReader &in, JStatus &status)
 Read status from input. More...
 
JWriteroperator<< (JWriter &out, const JStatus &status)
 Write status to output. More...
 

Detailed Description

Auxiliary class for controlling PMT status.

The various status are controlled using a bitwise data field.
The corresponding bits are defined via an internal enumeration.

Definition at line 40 of file JStatus.hh.

Member Enumeration Documentation

Enumeration of status bits.

Additional status bits should be included in JGetPMTStatusBit::JGetPMTStatusBit.

Enumerator
PMT_DISABLE 

Enable (disable) use of this PMT if this status bit is 0 (1);.

HIGH_RATE_VETO_DISABLE 

Enable (disable) use of high-rate veto test if this status bit is 0 (1);.

FIFO_FULL_DISABLE 

Enable (disable) use of FIFO (almost) full test if this status bit is 0 (1);.

UDP_COUNTER_DISABLE 

Enable (disable) use of UDP packet counter test if this status bit is 0 (1);.

UDP_TRAILER_DISABLE 

Enable (disable) use of UDP packet trailer test if this status bit is 0 (1);.

Definition at line 48 of file JStatus.hh.

48  {
49  PMT_DISABLE = 0, //!< Enable (disable) use of this PMT if this status bit is 0 (1);
50  HIGH_RATE_VETO_DISABLE = 1, //!< Enable (disable) use of high-rate veto test if this status bit is 0 (1);
51  FIFO_FULL_DISABLE = 2, //!< Enable (disable) use of FIFO (almost) full test if this status bit is 0 (1);
52  UDP_COUNTER_DISABLE = 3, //!< Enable (disable) use of UDP packet counter test if this status bit is 0 (1);
53  UDP_TRAILER_DISABLE = 4 //!< Enable (disable) use of UDP packet trailer test if this status bit is 0 (1);
54  };
Enable (disable) use of this PMT if this status bit is 0 (1);.
Definition: JStatus.hh:49
Enable (disable) use of FIFO (almost) full test if this status bit is 0 (1);.
Definition: JStatus.hh:51
Enable (disable) use of UDP packet trailer test if this status bit is 0 (1);.
Definition: JStatus.hh:53
Enable (disable) use of high-rate veto test if this status bit is 0 (1);.
Definition: JStatus.hh:50
Enable (disable) use of UDP packet counter test if this status bit is 0 (1);.
Definition: JStatus.hh:52

Constructor & Destructor Documentation

JDETECTOR::JStatus::JStatus ( )
inline

Default constructor.

Definition at line 60 of file JStatus.hh.

60  :
61  status(0)
62  {}
JDETECTOR::JStatus::JStatus ( const int  status)
inline

Constructor.

Parameters
statusstatus

Definition at line 70 of file JStatus.hh.

70  :
71  status(status)
72  {}

Member Function Documentation

const JStatus& JDETECTOR::JStatus::getStatus ( ) const
inline

Get status.

Returns
status

Definition at line 80 of file JStatus.hh.

81  {
82  return *this;
83  }
JStatus JDETECTOR::JStatus::getStatus ( )
inline

Get status.

Returns
status

Definition at line 91 of file JStatus.hh.

92  {
93  return *this;
94  }
void JDETECTOR::JStatus::setStatus ( const JStatus status)
inline

Set status.

Parameters
statusstatus

Definition at line 102 of file JStatus.hh.

103  {
104  this->status = status.status;
105  }
bool JDETECTOR::JStatus::equals ( const JStatus status) const
inline

Equal method.

Parameters
statusstatus
Returns
true if this status equal to given status; else false

Definition at line 114 of file JStatus.hh.

115  {
116  return this->status == status.status;
117  }
bool JDETECTOR::JStatus::has ( const JPMTStatusBits_t  bit) const
inline

Test PMT status.

Parameters
bitbit

Definition at line 125 of file JStatus.hh.

126  {
127  return (this->status & (1<<bit)) != 0;
128  }
void JDETECTOR::JStatus::set ( const JPMTStatusBits_t  bit)
inline

Set PMT status.

Parameters
bitbit

Definition at line 136 of file JStatus.hh.

137  {
138  this->status |= (1<<bit);
139  }
void JDETECTOR::JStatus::reset ( const JPMTStatusBits_t  bit)
inline

Reset PMT status.

Parameters
bitbit

Definition at line 147 of file JStatus.hh.

148  {
149  this->status &= ~(1<<bit);
150  }
void JDETECTOR::JStatus::print ( std::ostream &  out) const
inline

Print status.

Print PMT status.

Parameters
outoutput stream

Definition at line 342 of file JStatus.hh.

343  {
344  using namespace std;
345 
346  for (int i = 0; i != sizeof(JStatus) * 8; ++i) {
347 
348  try {
349 
350  const JPMTStatusBits_t bit = (JPMTStatusBits_t) i;
351 
352  out << setw(24) << left << putPMTStatusBit(bit) << right << this->has(bit) << endl;
353  }
354  catch(const exception&) {}
355  }
356  }
JStatus()
Default constructor.
Definition: JStatus.hh:60
static const JPutPMTStatusBit putPMTStatusBit(getPMTStatusBit)
Function object to map PMT status bit to key.
JPMTStatusBits_t
Enumeration of status bits.
Definition: JStatus.hh:48
bool has(const JPMTStatusBits_t bit) const
Test PMT status.
Definition: JStatus.hh:125

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JStatus status 
)
friend

Read status from input.

Parameters
ininput stream
statusstatus
Returns
input stream

Definition at line 168 of file JStatus.hh.

169  {
170  return in >> status.status;
171  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
std::ostream& operator<< ( std::ostream &  out,
const JStatus status 
)
friend

Write status to output.

Parameters
outoutput stream
statusstatus
Returns
output stream

Definition at line 181 of file JStatus.hh.

182  {
183  return out << status.status;
184  }
JReader& operator>> ( JReader in,
JStatus status 
)
friend

Read status from input.

Parameters
inreader
statusstatus
Returns
reader

Definition at line 194 of file JStatus.hh.

195  {
196  return in >> status.status;
197  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
JWriter& operator<< ( JWriter out,
const JStatus status 
)
friend

Write status to output.

Parameters
outwriter
statusstatus
Returns
writer

Definition at line 207 of file JStatus.hh.

208  {
209  return out << status.status;
210  }

Member Data Documentation

int JDETECTOR::JStatus::status
protected

Definition at line 213 of file JStatus.hh.


The documentation for this struct was generated from the following file: