1 #ifndef PhysicsTools_Utilities_Polynomial_h
2 #define PhysicsTools_Utilities_Polynomial_h
4 #include "boost/shared_ptr.hpp"
7 template<
unsigned int n>
11 Polynomial(
const boost::shared_ptr<double> * c);
15 boost::shared_ptr<double>
c0_;
19 template<
unsigned int n>
21 c0_(c), poly_(c + 1) {
23 template<
unsigned int n>
25 c0_(c->ptr()), poly_(c + 1) {
29 template<
unsigned int n>
31 c0_(new double(*c)), poly_(c + 1) {
34 template<
unsigned int n>
36 return *c0_ + x*poly_(x);
67 boost::shared_ptr<double>
c0_;
82 Polynomial(boost::shared_ptr<double> c0, boost::shared_ptr<double>
c1) :
95 boost::shared_ptr<double>
c0_;
112 boost::shared_ptr<double>
c1,
113 boost::shared_ptr<double> c2) :
c0_(c0),
poly_(c1, c2) {
120 c0_(new double(c0) ),
poly_(c1, c2) {
126 boost::shared_ptr<double>
c0_;
Polynomial(const boost::shared_ptr< double > *c)
Polynomial(const Parameter &c0)
Polynomial(const Parameter &c0, const Parameter &c1)
Polynomial(const Parameter *c)
Polynomial(const double *c)
T x() const
Cartesian x coordinate.
boost::shared_ptr< double > c0_
boost::shared_ptr< double > c0_
Polynomial(const boost::shared_ptr< double > *c)
double operator()() const
boost::shared_ptr< double > c0_
Polynomial(const boost::shared_ptr< double > *c)
Polynomial(const double *c)
double operator()(double x) const
Polynomial(boost::shared_ptr< double > c0)
double operator()(double x) const
Polynomial(double c0, double c1)
double operator()(double x) const
Polynomial(boost::shared_ptr< double > c0, boost::shared_ptr< double > c1)
Polynomial(const Parameter *c)
Polynomial(const double *c)
Polynomial(const Parameter *c)
double operator()(double x) const
Polynomial(const Parameter &c0, const Parameter &c1, const Parameter &c2)
Polynomial(boost::shared_ptr< double > c0, boost::shared_ptr< double > c1, boost::shared_ptr< double > c2)
boost::shared_ptr< double > c0_
Polynomial(const double *c)
Polynomial(double c0, double c1, double c2)