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
CondTools
Hcal
src
parseHcalDetId.cc
Go to the documentation of this file.
1
#include <cstdlib>
2
#include <cerrno>
3
#include <cassert>
4
#include <vector>
5
#include <sstream>
6
#include <cstring>
7
#include <iterator>
8
9
#include "
CondTools/Hcal/interface/parseHcalDetId.h
"
10
11
static
const
char
*
subdetNames
[] = {
12
""
,
13
"HB"
,
14
"HE"
,
15
"HO"
,
16
"HF"
,
17
};
18
static
const
unsigned
nSsubdetNames
=
sizeof
(
subdetNames
) /
sizeof
(
subdetNames
[0]);
19
20
static
bool
parseSubdetector
(
const
char
*
c
,
HcalSubdetector
*
result
) {
21
assert
(
c
);
22
assert
(
result
);
23
for
(
unsigned
i
= 1;
i
<
nSsubdetNames
; ++
i
)
24
if
(strcmp(
c
,
subdetNames
[
i
]) == 0) {
25
*
result
= static_cast<HcalSubdetector>(
i
);
26
return
true
;
27
}
28
return
false
;
29
}
30
31
static
bool
parse_int
(
const
char
*
c
,
int
*
result
) {
32
assert
(
c
);
33
assert
(
result
);
34
char
* endptr;
35
errno = 0;
36
*
result
= strtol(
c
, &endptr, 0);
37
return
!errno && *endptr ==
'\0'
;
38
}
39
40
const
char
*
hcalSubdetectorName
(
HcalSubdetector
subdet) {
41
const
unsigned
ind = static_cast<unsigned>(subdet);
42
assert
(ind <
nSsubdetNames
);
43
return
subdetNames
[ind];
44
}
45
46
HcalDetId
parseHcalDetId
(
const
std::string
&
s
) {
47
using namespace
std
;
48
49
// Expected string contents:
50
//
51
// ieta iphi depth subdetector
52
//
53
// subdetector is one of "HB", "HE", "HF", or "HO"
54
//
55
HcalDetId
result
;
56
istringstream iss(
s
);
57
vector<string> tokens(istream_iterator<string>{iss}, istream_iterator<string>{});
58
if
(tokens.size() == 4) {
59
HcalSubdetector
subdet;
60
int
ieta
,
iphi
,
depth
;
61
if
(
parse_int
(tokens[0].c_str(), &
ieta
) &&
parse_int
(tokens[1].c_str(), &
iphi
) &&
62
parse_int
(tokens[2].c_str(), &
depth
) &&
parseSubdetector
(tokens[3].c_str(), &subdet))
63
result
=
HcalDetId
(subdet,
ieta
,
iphi
,
depth
);
64
}
65
return
result
;
66
}
mps_fire.i
i
Definition:
mps_fire.py:428
parse_int
static bool parse_int(const char *c, int *result)
Definition:
parseHcalDetId.cc:31
cms::cuda::assert
assert(be >=bs)
LEDCalibrationChannels.iphi
iphi
Definition:
LEDCalibrationChannels.py:64
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
parseHcalDetId.h
LEDCalibrationChannels.depth
depth
Definition:
LEDCalibrationChannels.py:65
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
subdetNames
static const char * subdetNames[]
Definition:
parseHcalDetId.cc:11
LEDCalibrationChannels.ieta
ieta
Definition:
LEDCalibrationChannels.py:63
HcalDetId
Definition:
HcalDetId.h:12
nSsubdetNames
static const unsigned nSsubdetNames
Definition:
parseHcalDetId.cc:18
parseHcalDetId
HcalDetId parseHcalDetId(const std::string &s)
Definition:
parseHcalDetId.cc:46
HcalSubdetector
HcalSubdetector
Definition:
HcalAssistant.h:31
std
Definition:
JetResolutionObject.h:76
hcalSubdetectorName
const char * hcalSubdetectorName(HcalSubdetector subdet)
Definition:
parseHcalDetId.cc:40
parseSubdetector
static bool parseSubdetector(const char *c, HcalSubdetector *result)
Definition:
parseHcalDetId.cc:20
mps_fire.result
result
Definition:
mps_fire.py:311
c
auto & c
Definition:
CAHitNtupletGeneratorKernelsImpl.h:46
Generated for CMSSW Reference Manual by
1.8.16