Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JTRIGGER::JPMTMask Class Reference

Auxiliary class for PMT mask. More...

#include <JPMTMask.hh>

Public Member Functions

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

Static Public Member Functions

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

Protected Attributes

JPMTMask_t pmt_mask
 

Friends

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

Detailed Description

Auxiliary class for PMT mask.

Definition at line 56 of file JPMTMask.hh.

Constructor & Destructor Documentation

◆ JPMTMask() [1/3]

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

◆ JPMTMask() [2/3]

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() [3/3]

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
static JPMTMask valueOf(const std::string &buffer)
Extract PMT mask.
Definition JPMTMask.hh:177

Member Function Documentation

◆ getPMTMask()

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 }

◆ addPMTMask() [1/2]

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 }

◆ addPMTMask() [2/2]

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 & addPMTMask(const JPMTMask_t mask)
Add PMT mask.
Definition JPMTMask.hh:103

◆ addPMTBit()

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

◆ addPMT()

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

◆ hasPMTBit()

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 }

◆ hasPMT()

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

◆ valueOf()

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 }
JPMTMask()
Default constructor.
Definition JPMTMask.hh:61
static const unsigned int NUMBER_OF_PMT_BITS
Number of PMT bits.
Definition JPMTMask.hh:35

◆ toString()

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 }

◆ sizeOf()

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 Symbol Documentation

◆ operator>> [1/2]

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 }

◆ operator<< [1/2]

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 }

◆ operator>> [2/2]

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 }

◆ operator<< [2/2]

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 }

Member Data Documentation

◆ pmt_mask

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: