LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
BitSet32.h
1 // -*- C++ -*-
2 #ifndef UTIL_BitSet32_H
3 #define UTIL_BitSet32_H 1
4 
5 
6 #include <bitset>
7 #include <stdarg.h>
8 
9 
10 namespace UTIL {
11 
12 
31  class BitSet32 : public std::bitset<32>{
32 
33  public:
35  BitSet32(int val ) : std::bitset<32>( val ) {}
36 
38  BitSet32& operator=(int val){
39  std::bitset<32>::operator=( val ) ;
40  return *this ;
41  }
42 
44  operator int() { return (int) to_ulong() ; }
45  } ;
46 
47 
49  inline BitSet32 make_bitset32( int bit0 ) {
50  return BitSet32( 1 << bit0 ) ;
51  }
53  inline BitSet32 make_bitset32( int bit0, int bit1) {
54  return BitSet32( 1 << bit0 |
55  1 << bit1 ) ;
56  }
58  inline BitSet32 make_bitset32( int bit0, int bit1, int bit2) {
59  return BitSet32( 1 << bit0 |
60  1 << bit1 |
61  1 << bit2 ) ;
62  }
64  inline BitSet32 make_bitset32( int bit0, int bit1, int bit2, int bit3) {
65  return BitSet32( 1 << bit0 |
66  1 << bit1 |
67  1 << bit2 |
68  1 << bit3 ) ;
69  }
71  inline BitSet32 make_bitset32( int bit0, int bit1, int bit2, int bit3, int bit4) {
72  return BitSet32( 1 << bit0 |
73  1 << bit1 |
74  1 << bit2 |
75  1 << bit3 |
76  1 << bit4 ) ;
77  }
78 
82  inline int set_bit( int flag , int bit ){
83  BitSet32 bs( flag ) ;
84  bs.set( bit ) ;
85  return (int) bs ;
86  }
87 
91  inline int unset_bit( int flag , int bit ){
92  BitSet32 bs( flag ) ;
93  bs.set( bit, 0 ) ;
94  return (int) bs ;
95  }
96 
97 
98 
99 }
100 #endif
int set_bit(int flag, int bit)
Convenient helper to set a bit in a given int - for example: trkHit->setType( set_bit( trkHit->getTy...
Definition: BitSet32.h:82
BitSet32 & operator=(int val)
Allow assignment from an int.
Definition: BitSet32.h:38
Convenient helper class for setting single bits in a 32bit-field, such as collection flags or hit typ...
Definition: BitSet32.h:31
BitSet32 make_bitset32(int bit0)
Convenient helper that creates a BitSet32 with bit0 set.
Definition: BitSet32.h:49
int unset_bit(int flag, int bit)
Convenient helper to unset a bit in a given int - for example: trkHit->setType( set_bit( trkHit->get...
Definition: BitSet32.h:91
BitSet32(int val)
Allow to construct this from an int.
Definition: BitSet32.h:35