Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
CondFormats
HcalObjects
src
HcalPolynomialFunctor.cc
Go to the documentation of this file.
1
#include <algorithm>
2
#include "
FWCore/Utilities/interface/Exception.h
"
3
4
#include "
CondFormats/HcalObjects/interface/HcalPolynomialFunctor.h
"
5
6
HcalPolynomialFunctor::HcalPolynomialFunctor
() : shift_(0.0), xmin_(-DBL_MAX), xmax_(DBL_MAX), outOfRangeValue_(0.0) {}
7
8
HcalPolynomialFunctor::HcalPolynomialFunctor
(
const
std::vector<double>& coeffs,
9
const
double
shift
,
10
const
double
xmin
,
11
const
double
xmax
,
12
const
double
outOfRangeValue)
13
: coeffs_(coeffs), shift_(shift), xmin_(xmin), xmax_(xmax), outOfRangeValue_(outOfRangeValue) {}
14
15
double
HcalPolynomialFunctor::operator()
(
const
double
x
)
const
{
16
double
result
=
outOfRangeValue_
;
17
if
(x >=
xmin_
&& x <=
xmax_
) {
18
result = 0.0;
19
if
(!
coeffs_
.empty()) {
20
const
double
*
a
= &
coeffs_
[0];
21
const
double
y
= x +
shift_
;
22
for
(
int
deg =
coeffs_
.size() - 1; deg >= 0; --deg) {
23
result *=
y
;
24
result += a[deg];
25
}
26
}
27
}
28
return
result
;
29
}
30
31
BOOST_CLASS_EXPORT_IMPLEMENT(
HcalPolynomialFunctor
)
mps_fire.result
tuple result
Definition:
mps_fire.py:311
HcalPolynomialFunctor
Definition:
HcalPolynomialFunctor.h:16
HcalPolynomialFunctor::shift_
double shift_
Definition:
HcalPolynomialFunctor.h:47
HcalPolynomialFunctor::xmin_
double xmin_
Definition:
HcalPolynomialFunctor.h:48
HcalPolynomialFunctor::HcalPolynomialFunctor
HcalPolynomialFunctor()
Definition:
HcalPolynomialFunctor.cc:6
HcalPolynomialFunctor::operator()
double operator()(double x) const override
Definition:
HcalPolynomialFunctor.cc:15
HcalPolynomialFunctor::xmax_
double xmax_
Definition:
HcalPolynomialFunctor.h:49
HcalPolynomialFunctor::outOfRangeValue_
double outOfRangeValue_
Definition:
HcalPolynomialFunctor.h:50
Exception.h
hlt_dqm_clientPB-live_cfg.xmax
tuple xmax
Definition:
hlt_dqm_clientPB-live_cfg.py:52
HcalPolynomialFunctor::coeffs_
std::vector< double > coeffs_
Definition:
HcalPolynomialFunctor.h:46
DDAxes::y
a
double a
Definition:
hdecay.h:119
edm::shift
static unsigned int const shift
Definition:
LuminosityBlockID.cc:7
x
float x
Definition:
beamSpotDipStandalone.cc:55
hlt_dqm_clientPB-live_cfg.xmin
tuple xmin
Definition:
hlt_dqm_clientPB-live_cfg.py:51
HcalPolynomialFunctor.h
Generated for CMSSW Reference Manual by
1.8.5