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
JetMETCorrections
InterpolationTables
interface
MultivariateFunctorScanner.h
Go to the documentation of this file.
1
#ifndef NPSTAT_MULTIVARIATEFUNCTORSCANNER_HH_
2
#define NPSTAT_MULTIVARIATEFUNCTORSCANNER_HH_
3
15
#include <vector>
16
#include <cassert>
17
#include "
JetMETCorrections/InterpolationTables/interface/NpstatException.h
"
18
19
#include "
JetMETCorrections/InterpolationTables/interface/AbsMultivariateFunctor.h
"
20
21
namespace
npstat
{
26
template
<
class
IndexMapper>
27
class
MultivariateFunctorScanner
28
{
29
public
:
40
inline
MultivariateFunctorScanner
(
const
AbsMultivariateFunctor
&
fcn
,
41
const
std::vector<IndexMapper>& maps)
42
:
fcn_
(
fcn
),
mapping_
(maps),
buf_
(
fcn
.minDim()),
dim_
(
fcn
.minDim())
43
{
44
if
(!(
dim_
&&
dim_
== maps.size()))
throw
npstat::NpstatInvalidArgument
(
45
"In npstat::MultivariateFunctorScanner constructor: "
46
"incompatible arguments"
);
47
if
(
dim_
!=
fcn
.maxDim())
throw
npstat::NpstatInvalidArgument
(
48
"In npstat::MultivariateFunctorScanner constructor: "
49
"functors of variable dimensionality are not supported"
);
50
}
51
53
inline
double
operator()
(
const
unsigned
*
index
,
54
const
unsigned
indexLen)
const
55
{
56
if
(
dim_
!= indexLen)
throw
npstat::NpstatInvalidArgument
(
57
"In npstat::MultivariateFunctorScanner::operator(): "
58
"incompatible input point dimensionality"
);
59
assert
(
index
);
60
double
* x = &
buf_
[0];
61
for
(
unsigned
i
=0;
i
<
dim_
; ++
i
)
62
x[
i
] =
mapping_
[
i
](
index
[
i
]);
63
return
fcn_
(x,
dim_
);
64
}
65
66
private
:
67
MultivariateFunctorScanner
();
68
69
const
AbsMultivariateFunctor
&
fcn_
;
70
const
std::vector<IndexMapper>&
mapping_
;
71
mutable
std::vector<double>
buf_
;
72
unsigned
dim_
;
73
};
74
}
75
76
#endif // NPSTAT_MULTIVARIATEFUNCTORSCANNER_HH_
77
npstat::MultivariateFunctorScanner::buf_
std::vector< double > buf_
Definition:
MultivariateFunctorScanner.h:71
mps_fire.i
i
Definition:
mps_fire.py:428
npstat::MultivariateFunctorScanner::mapping_
const std::vector< IndexMapper > & mapping_
Definition:
MultivariateFunctorScanner.h:70
npstat::MultivariateFunctorScanner
Definition:
MultivariateFunctorScanner.h:27
npstat::MultivariateFunctorScanner::MultivariateFunctorScanner
MultivariateFunctorScanner(const AbsMultivariateFunctor &fcn, const std::vector< IndexMapper > &maps)
Definition:
MultivariateFunctorScanner.h:40
cms::cuda::assert
assert(be >=bs)
fcn
void fcn(int &, double *, double &, double *, int)
Definition:
LASBarrelAlgorithm.cc:388
npstat::AbsMultivariateFunctor
Definition:
AbsMultivariateFunctor.h:18
npstat
Definition:
AbsArrayProjector.h:14
npstat::MultivariateFunctorScanner::fcn_
const AbsMultivariateFunctor & fcn_
Definition:
MultivariateFunctorScanner.h:69
npstat::NpstatInvalidArgument
Definition:
NpstatException.h:38
AbsMultivariateFunctor.h
Interface definition for multidimensional functors.
npstat::MultivariateFunctorScanner::MultivariateFunctorScanner
MultivariateFunctorScanner()
npstat::MultivariateFunctorScanner::dim_
unsigned dim_
Definition:
MultivariateFunctorScanner.h:72
npstat::MultivariateFunctorScanner::operator()
double operator()(const unsigned *index, const unsigned indexLen) const
Definition:
MultivariateFunctorScanner.h:53
AlignmentPI::index
index
Definition:
AlignmentPayloadInspectorHelper.h:46
NpstatException.h
Exceptions for the npstat namespace.
Generated for CMSSW Reference Manual by
1.8.16