Jpp  17.1.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
JTRIGGER::JPMTMask Class Reference

Auxiliary class for PMT mask. More...

#include <JPMTMask.hh>

Public Member Functions

 JPMTMask ()
 Default constructor. More...
 
 JPMTMask (const JPMTMask_t mask)
 Constructor. More...
 
 JPMTMask (const std::string &buffer)
 Constructor. More...
 
JPMTMask_t getPMTMask () const
 Get PMT bit pattern. More...
 
JPMTMaskaddPMTMask (const JPMTMask_t mask)
 Add PMT mask. More...
 
JPMTMaskaddPMTMask (const JPMTMask &mask)
 Add PMT mask. More...
 
JPMTMaskaddPMTBit (const unsigned int bit)
 Add PMT bit. More...
 
JPMTMaskaddPMT (const JPMTReadoutAddress &channel)
 Add PMT channel. More...
 
bool hasPMTBit (const unsigned int bit) const
 Check PMT bit. More...
 
bool hasPMT (const JPMTReadoutAddress &channel) const
 Check PMT. More...
 
std::string toString () const
 Convert PMT mask. More...
 

Static Public Member Functions

static JPMTMask valueOf (const std::string &buffer)
 Extract PMT mask. More...
 
static int sizeOf ()
 Get size of object. More...
 

Protected Attributes

JPMTMask_t pmt_mask
 

Friends

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

Detailed Description

Auxiliary class for PMT mask.

Definition at line 56 of file JPMTMask.hh.

Constructor & Destructor Documentation

JTRIGGER::JPMTMask::JPMTMask ( )
inline

Default constructor.

Definition at line 61 of file JPMTMask.hh.

61  :
62  pmt_mask(0)
63  {}
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JTRIGGER::JPMTMask::JPMTMask ( const JPMTMask_t  mask)
inline

Constructor.

Parameters
maskPMT mask

Definition at line 71 of file JPMTMask.hh.

71  :
72  pmt_mask(mask)
73  {}
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JTRIGGER::JPMTMask::JPMTMask ( const std::string &  buffer)
inline

Constructor.

Parameters
bufferPMT bit pattern (i.e. sequence of '0' and '1').

Definition at line 81 of file JPMTMask.hh.

81  :
82  pmt_mask(valueOf(buffer).getPMTMask())
83  {}
JPMTMask_t getPMTMask() const
Get PMT bit pattern.
Definition: JPMTMask.hh:91
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
static JPMTMask valueOf(const std::string &buffer)
Extract PMT mask.
Definition: JPMTMask.hh:177

Member Function Documentation

JPMTMask_t JTRIGGER::JPMTMask::getPMTMask ( ) const
inline

Get PMT bit pattern.

Returns
PMT mask

Definition at line 91 of file JPMTMask.hh.

92  {
93  return pmt_mask;
94  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JPMTMask& JTRIGGER::JPMTMask::addPMTMask ( const JPMTMask_t  mask)
inline

Add PMT mask.

Parameters
maskPMT mask
Returns
PMT mask

Definition at line 103 of file JPMTMask.hh.

104  {
105  pmt_mask |= mask;
106 
107  return *this;
108  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JPMTMask& JTRIGGER::JPMTMask::addPMTMask ( const JPMTMask mask)
inline

Add PMT mask.

Parameters
maskPMTed mask
Returns
PMTed mask

Definition at line 117 of file JPMTMask.hh.

118  {
119  return addPMTMask(mask.getPMTMask());
120  }
JPMTMask_t getPMTMask() const
Get PMT bit pattern.
Definition: JPMTMask.hh:91
JPMTMask & addPMTMask(const JPMTMask_t mask)
Add PMT mask.
Definition: JPMTMask.hh:103
JPMTMask& JTRIGGER::JPMTMask::addPMTBit ( const unsigned int  bit)
inline

Add PMT bit.

Parameters
bitPMT bit
Returns
PMT mask

Definition at line 128 of file JPMTMask.hh.

129  {
131 
132  return *this;
133  }
JPMTMask_t getPMTMask(const unsigned int bit)
Convert PMT bit to PMT mask.
Definition: JPMTMask.hh:44
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JPMTMask& JTRIGGER::JPMTMask::addPMT ( const JPMTReadoutAddress channel)
inline

Add PMT channel.

Parameters
channelPMT readout channel
Returns
PMT mask

Definition at line 142 of file JPMTMask.hh.

143  {
144  return addPMTBit(channel.getTDC());
145  }
JPMTMask & addPMTBit(const unsigned int bit)
Add PMT bit.
Definition: JPMTMask.hh:128
bool JTRIGGER::JPMTMask::hasPMTBit ( const unsigned int  bit) const
inline

Check PMT bit.

Parameters
bitPMT bit
Returns
true if bit is set; else false

Definition at line 154 of file JPMTMask.hh.

155  {
156  return pmt_mask & JTRIGGER::getPMTMask(bit);
157  }
JPMTMask_t getPMTMask(const unsigned int bit)
Convert PMT bit to PMT mask.
Definition: JPMTMask.hh:44
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
bool JTRIGGER::JPMTMask::hasPMT ( const JPMTReadoutAddress channel) const
inline

Check PMT.

Parameters
channelPMT channel
Returns
true if PMT is selected; else false

Definition at line 165 of file JPMTMask.hh.

166  {
167  return hasPMTBit(channel.getTDC());
168  }
bool hasPMTBit(const unsigned int bit) const
Check PMT bit.
Definition: JPMTMask.hh:154
static JPMTMask JTRIGGER::JPMTMask::valueOf ( const std::string &  buffer)
inlinestatic

Extract PMT mask.

Parameters
bufferPMT bit pattern (i.e. sequence of '0' and '1').
Returns
PMT mask

Definition at line 177 of file JPMTMask.hh.

178  {
180 
181  unsigned int bit = 0;
182 
183  for (std::string::const_reverse_iterator i = buffer.rbegin(); i != buffer.rend() && bit != NUMBER_OF_PMT_BITS; ++i, ++bit) {
184  if (*i == '1') {
185  pmt_mask.addPMTBit(bit);
186  }
187  }
188 
189  return pmt_mask;
190  }
Auxiliary class for PMT mask.
Definition: JPMTMask.hh:56
JPMTMask & addPMTBit(const unsigned int bit)
Add PMT bit.
Definition: JPMTMask.hh:128
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
static const unsigned int NUMBER_OF_PMT_BITS
Number of PMT bits.
Definition: JPMTMask.hh:35
std::string JTRIGGER::JPMTMask::toString ( ) const
inline

Convert PMT mask.

Returns
PMT bit pattern (i.e. sequence of '0' and '1').

Definition at line 198 of file JPMTMask.hh.

199  {
200  std::string buffer(NUMBER_OF_PMT_BITS, '0');
201 
202  unsigned int bit = 0;
203 
204  for (std::string::reverse_iterator i = buffer.rbegin(); i != buffer.rend() && bit != NUMBER_OF_PMT_BITS; ++i, ++bit) {
205  if (hasPMTBit(bit)) {
206  *i = '1';
207  }
208  }
209 
210  return buffer;
211  }
bool hasPMTBit(const unsigned int bit) const
Check PMT bit.
Definition: JPMTMask.hh:154
static const unsigned int NUMBER_OF_PMT_BITS
Number of PMT bits.
Definition: JPMTMask.hh:35
static int JTRIGGER::JPMTMask::sizeOf ( )
inlinestatic

Get size of object.

Returns
number of bytes

Definition at line 275 of file JPMTMask.hh.

276  {
277  return sizeof(JPMTMask_t);
278  }
unsigned int JPMTMask_t
Type definition of PMT mask.
Definition: JPMTMask.hh:29

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JPMTMask mask 
)
friend

Read PMT mask from input.

Parameters
ininput stream
maskPMT mask
Returns
input stream

Definition at line 221 of file JPMTMask.hh.

222  {
223  return in >> mask.pmt_mask;
224  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
std::ostream& operator<< ( std::ostream &  out,
const JPMTMask mask 
)
friend

Write PMT mask to output.

Parameters
outoutput stream
maskPMT mask
Returns
output stream

Definition at line 234 of file JPMTMask.hh.

235  {
236  return out << mask.pmt_mask;
237  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
JReader& operator>> ( JReader in,
JPMTMask mask 
)
friend

Read PMT mask from input.

Parameters
inreader
maskPMT mask
Returns
reader

Definition at line 247 of file JPMTMask.hh.

248  {
249  in >> mask.pmt_mask;
250 
251  return in;
252  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
JWriter& operator<< ( JWriter out,
const JPMTMask mask 
)
friend

Write PMT mask to output.

Parameters
outwriter
maskPMT mask
Returns
writer

Definition at line 262 of file JPMTMask.hh.

263  {
264  out << mask.pmt_mask;
265 
266  return out;
267  }
JPMTMask_t pmt_mask
Definition: JPMTMask.hh:281

Member Data Documentation

JPMTMask_t JTRIGGER::JPMTMask::pmt_mask
protected

Definition at line 281 of file JPMTMask.hh.


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