Auxiliary data structure for range of bits.
More...
#include <JDAQ.hh>
|
| JBits () |
| Default constructor.
|
|
| JBits (int __lsb, int __msb) |
| Constructor.
|
|
int | get () const |
| Get bit mask.
|
|
int | write (const int value) const |
| Write given value as bit mask.
|
|
int | read (const int mask) const |
| Read given bit mask as value.
|
|
bool | has (const int mask) const |
| Test bit mask.
|
|
|
int | lsb |
| least significant bit
|
|
int | msb |
| most significant bit
|
|
Auxiliary data structure for range of bits.
Definition at line 152 of file JDAQ.hh.
◆ JBits() [1/2]
KM3NETDAQ::JBits::JBits |
( |
| ) |
|
|
inline |
Default constructor.
Definition at line 156 of file JDAQ.hh.
156 :
159 {}
int lsb
least significant bit
int msb
most significant bit
◆ JBits() [2/2]
KM3NETDAQ::JBits::JBits |
( |
int | __lsb, |
|
|
int | __msb ) |
|
inline |
Constructor.
- Parameters
-
__lsb | least significant bit [0, 31] |
__msb | most significant bit [lsb, 31] |
Definition at line 168 of file JDAQ.hh.
168 :
171 {
174 throw JDAQException("JBits: illegal bit range.");
175 }
176 }
◆ get()
int KM3NETDAQ::JBits::get |
( |
| ) |
const |
|
inline |
Get bit mask.
In the returned mask, the bits from lsb
(included) to msb
(included) are set to 1.
- Returns
- bit mask
Definition at line 186 of file JDAQ.hh.
187 {
188 static const unsigned int mask[] = { 0x00000001,
189 0x00000003,
190 0x00000007,
191 0x0000000F,
192
193 0x0000001F,
194 0x0000003F,
195 0x0000007F,
196 0x000000FF,
197
198 0x000001FF,
199 0x000003FF,
200 0x000007FF,
201 0x00000FFF,
202
203 0x00001FFF,
204 0x00003FFF,
205 0x00007FFF,
206 0x0000FFFF,
207
208 0x0001FFFF,
209 0x0003FFFF,
210 0x0007FFFF,
211 0x000FFFFF,
212
213 0x001FFFFF,
214 0x003FFFFF,
215 0x007FFFFF,
216 0x00FFFFFF,
217
218 0x01FFFFFF,
219 0x03FFFFFF,
220 0x07FFFFFF,
221 0x0FFFFFFF,
222
223 0x1FFFFFFF,
224 0x3FFFFFFF,
225 0x7FFFFFFF,
226 0xFFFFFFFF };
227
229 }
◆ write()
int KM3NETDAQ::JBits::write |
( |
const int | value | ) |
const |
|
inline |
Write given value as bit mask.
- Parameters
-
- Returns
- bit mask
Definition at line 238 of file JDAQ.hh.
239 {
240 return (value <<
lsb) &
get();
241 }
int get() const
Get bit mask.
◆ read()
int KM3NETDAQ::JBits::read |
( |
const int | mask | ) |
const |
|
inline |
Read given bit mask as value.
- Parameters
-
- Returns
- value
Definition at line 250 of file JDAQ.hh.
251 {
252 return (mask &
get()) >>
lsb;
253 }
◆ has()
bool KM3NETDAQ::JBits::has |
( |
const int | mask | ) |
const |
|
inline |
Test bit mask.
- Parameters
-
- Returns
- true if at least one of the bits is set; else false
Definition at line 262 of file JDAQ.hh.
263 {
264 return (
get() & mask) != 0;
265 }
◆ lsb
int KM3NETDAQ::JBits::lsb |
least significant bit
Definition at line 268 of file JDAQ.hh.
◆ msb
int KM3NETDAQ::JBits::msb |
most significant bit
Definition at line 269 of file JDAQ.hh.
The documentation for this struct was generated from the following file: