Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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 int bit) const
 Test PMT status. More...
 
void set (const int bit)
 Set PMT status. More...
 
void reset (const int 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 42 of file JStatus.hh.

Constructor & Destructor Documentation

JDETECTOR::JStatus::JStatus ( )
inline

Default constructor.

Definition at line 48 of file JStatus.hh.

48  :
49  status(0)
50  {}
JDETECTOR::JStatus::JStatus ( const int  status)
inline

Constructor.

Parameters
statusstatus

Definition at line 58 of file JStatus.hh.

58  :
59  status(status)
60  {}

Member Function Documentation

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

Get status.

Returns
status

Definition at line 68 of file JStatus.hh.

69  {
70  return *this;
71  }
JStatus JDETECTOR::JStatus::getStatus ( )
inline

Get status.

Returns
status

Definition at line 79 of file JStatus.hh.

80  {
81  return *this;
82  }
void JDETECTOR::JStatus::setStatus ( const JStatus status)
inline

Set status.

Parameters
statusstatus

Definition at line 90 of file JStatus.hh.

91  {
92  this->status = status.status;
93  }
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 102 of file JStatus.hh.

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

Test PMT status.

Parameters
bitbit

Definition at line 113 of file JStatus.hh.

114  {
115  return (this->status & (1<<bit)) != 0;
116  }
void JDETECTOR::JStatus::set ( const int  bit)
inline

Set PMT status.

Parameters
bitbit

Definition at line 124 of file JStatus.hh.

125  {
126  this->status |= (1<<bit);
127  }
void JDETECTOR::JStatus::reset ( const int  bit)
inline

Reset PMT status.

Parameters
bitbit

Definition at line 135 of file JStatus.hh.

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

Print status.

Print PMT status.

Parameters
outoutput stream

Definition at line 331 of file JStatus.hh.

332  {
333  using namespace std;
334 
335  for (int i = 0; i != sizeof(JStatus) * 8; ++i) {
336  try {
337  out << setw(24) << left << putPMTStatusBit(i) << right << this->has(i) << endl;
338  }
339  catch(const exception&) {}
340  }
341  }
JStatus()
Default constructor.
Definition: JStatus.hh:48
static const JPutPMTStatusBit putPMTStatusBit(getPMTStatusBit)
Function object to map PMT status bit to key.
bool has(const int bit) const
Test PMT status.
Definition: JStatus.hh:113

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 156 of file JStatus.hh.

157  {
158  return in >> status.status;
159  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
std::ostream& operator<< ( std::ostream &  out,
const JStatus status 
)
friend

Write status to output.

Parameters
outoutput stream
statusstatus
Returns
output stream

Definition at line 169 of file JStatus.hh.

170  {
171  return out << status.status;
172  }
JReader& operator>> ( JReader in,
JStatus status 
)
friend

Read status from input.

Parameters
inreader
statusstatus
Returns
reader

Definition at line 182 of file JStatus.hh.

183  {
184  return in >> status.status;
185  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
JWriter& operator<< ( JWriter out,
const JStatus status 
)
friend

Write status to output.

Parameters
outwriter
statusstatus
Returns
writer

Definition at line 195 of file JStatus.hh.

196  {
197  return out << status.status;
198  }

Member Data Documentation

int JDETECTOR::JStatus::status
protected

Definition at line 201 of file JStatus.hh.


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