Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
EventFilter
CSCRawToDigi
src
bitset_append.cc
Go to the documentation of this file.
1
3
#include "
EventFilter/CSCRawToDigi/interface/bitset_append.h
"
4
#include <iostream>
5
#include <cstdio>
6
7
namespace
bitset_utilities
{
8
10
boost::dynamic_bitset<>
append
(
const
boost::dynamic_bitset<> &bs1,
const
boost::dynamic_bitset<> &bs2) {
11
boost::dynamic_bitset<>
result
(bs1.size() + bs2.size());
12
unsigned
size1 = bs1.size();
13
for
(
unsigned
i
= 0;
i
< size1; ++
i
) {
14
result
[
i
] = bs1[
i
];
15
}
16
for
(
unsigned
i
= 0;
i
< bs2.size(); ++
i
) {
17
result
[size1 +
i
] = bs2[
i
];
18
}
19
return
result
;
20
}
21
23
boost::dynamic_bitset<>
ushortToBitset
(
const
unsigned
int
numberOfBits,
unsigned
short
*
buf
) {
24
boost::dynamic_bitset<>
result
(numberOfBits);
25
for
(
unsigned
i
= 0;
i
<
result
.size(); ++
i
) {
26
result
[
i
] = (
buf
[
i
/ 16] >> (
i
% 16)) & 0x1;
27
}
28
return
result
;
29
}
30
32
void
bitsetToChar
(
const
boost::dynamic_bitset<> &
bs
,
unsigned
char
*
result
) {
33
for
(
unsigned
i
= 0;
i
<
bs
.size(); ++
i
) {
34
result
[
i
/ 8] = (
bs
[
i
+ 7] << 7) + (
bs
[
i
+ 6] << 6) + (
bs
[
i
+ 5] << 5) + (
bs
[
i
+ 4] << 4) + (
bs
[
i
+ 3] << 3) +
35
(
bs
[
i
+ 2] << 2) + (
bs
[
i
+ 1] << 1) +
bs
[
i
];
36
i
+= 7;
37
}
38
}
39
40
void
printWords
(
const
boost::dynamic_bitset<> &
bs
) {
41
constexpr
unsigned
int
nShorts = 30000;
42
unsigned
char
words[nShorts * 2];
43
bitsetToChar
(
bs
, words);
44
unsigned
short
*
buf
= (
unsigned
short
*)words;
45
for
(
int
unsigned
i
= 0;
i
<
bs
.size() / 16 &&
i
+ 3 < nShorts; ++
i
) {
46
printf(
"%04x %04x %04x %04x\n"
,
buf
[
i
+ 3],
buf
[
i
+ 2],
buf
[
i
+ 1],
buf
[
i
]);
47
i
+= 3;
48
}
49
}
50
}
// namespace bitset_utilities
mps_fire.i
i
Definition:
mps_fire.py:428
bitset_utilities::append
boost::dynamic_bitset append(const boost::dynamic_bitset<> &bs1, const boost::dynamic_bitset<> &bs2)
this method takes two bitsets bs1 and bs2 and returns result of bs2 appended to the end of bs1
Definition:
bitset_append.cc:10
bitset_utilities::bitsetToChar
void bitsetToChar(const boost::dynamic_bitset<> &bs, unsigned char *result)
this method takes bitset obj and returns char * array
Definition:
bitset_append.cc:32
cms::cuda::bs
bs
Definition:
HistoContainer.h:127
visDQMUpload.buf
buf
Definition:
visDQMUpload.py:154
bitset_utilities::ushortToBitset
boost::dynamic_bitset ushortToBitset(const unsigned int numberOfBits, unsigned short *buf)
this method takes numberOfBits bits from unsigned short * array and returns them in the bitset obj.
Definition:
bitset_append.cc:23
bitset_utilities
this file contains additional dynamic_bitset methods
Definition:
bitset_append.h:5
bitset_append.h
mps_fire.result
result
Definition:
mps_fire.py:311
bitset_utilities::printWords
void printWords(const boost::dynamic_bitset<> &bs)
Definition:
bitset_append.cc:40
Generated for CMSSW Reference Manual by
1.8.16