1 #ifndef CondFormats_HcalObjects_PiecewiseScalingPolynomial_h_
2 #define CondFormats_HcalObjects_PiecewiseScalingPolynomial_h_
6 #include "boost/serialization/vector.hpp"
7 #include "boost/serialization/version.hpp"
20 const unsigned nLimits(
limits_.size());
24 for (; which < nLimits; ++
which)
25 if (x < limits[which])
27 const std::vector<double>&
c(
coeffs_[which]);
28 const double*
a = &c[0];
29 for (
int deg = c.size() - 1; deg >= 0; --deg) {
47 std::vector<std::vector<double> >
coeffs_;
52 template <
class Archive>
53 inline void save(Archive& ar,
const unsigned )
const {
55 throw cms::Exception(
"In PiecewiseScalingPolynomial::save: invalid data");
59 template <
class Archive>
60 inline void load(Archive& ar,
const unsigned ) {
63 throw cms::Exception(
"In PiecewiseScalingPolynomial::load: invalid data");
66 BOOST_SERIALIZATION_SPLIT_MEMBER()
71 #endif // CondFormats_HcalObjects_PiecewiseScalingPolynomial_h_
bool operator==(const PiecewiseScalingPolynomial &r) const
const edm::EventSetup & c
bool operator!=(const PiecewiseScalingPolynomial &r) const
void load(Archive &ar, const unsigned)
void save(Archive &ar, const unsigned) const
PiecewiseScalingPolynomial()
std::vector< std::vector< double > > coeffs_
double operator()(const double x) const
std::vector< double > limits_
friend class boost::serialization::access