Jpp  pmt_effective_area_update
the software that should make you happy
 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 41 of file JStatus.hh.

Constructor & Destructor Documentation

JDETECTOR::JStatus::JStatus ( )
inline

Default constructor.

Definition at line 47 of file JStatus.hh.

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

Constructor.

Parameters
statusstatus

Definition at line 57 of file JStatus.hh.

57  :
58  status(status)
59  {}

Member Function Documentation

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

Get status.

Returns
status

Definition at line 67 of file JStatus.hh.

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

Get status.

Returns
status

Definition at line 78 of file JStatus.hh.

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

Set status.

Parameters
statusstatus

Definition at line 89 of file JStatus.hh.

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

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

Test PMT status.

Parameters
bitbit

Definition at line 112 of file JStatus.hh.

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

Set PMT status.

Parameters
bitbit

Definition at line 123 of file JStatus.hh.

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

Reset PMT status.

Parameters
bitbit

Definition at line 134 of file JStatus.hh.

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

Print status.

Print PMT status.

Parameters
outoutput stream

Definition at line 330 of file JStatus.hh.

331  {
332  using namespace std;
333 
334  for (int i = 0; i != sizeof(JStatus) * 8; ++i) {
335  try {
336  out << setw(24) << left << putPMTStatusBit(i) << right << this->has(i) << endl;
337  }
338  catch(const exception&) {}
339  }
340  }
JStatus()
Default constructor.
Definition: JStatus.hh:47
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:112

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

156  {
157  return in >> status.status;
158  }
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 CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:40
std::ostream& operator<< ( std::ostream &  out,
const JStatus status 
)
friend

Write status to output.

Parameters
outoutput stream
statusstatus
Returns
output stream

Definition at line 168 of file JStatus.hh.

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

Read status from input.

Parameters
inreader
statusstatus
Returns
reader

Definition at line 181 of file JStatus.hh.

182  {
183  return in >> status.status;
184  }
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 CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:40
JWriter& operator<< ( JWriter out,
const JStatus status 
)
friend

Write status to output.

Parameters
outwriter
statusstatus
Returns
writer

Definition at line 194 of file JStatus.hh.

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

Member Data Documentation

int JDETECTOR::JStatus::status
protected

Definition at line 200 of file JStatus.hh.


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