CMS 3D CMS Logo

Exponential.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Utilities_Exponential_h
2 #define PhysicsTools_Utilities_Exponential_h
4 
5 #include <cmath>
6 
7 namespace funct {
8 
9  struct Exponential {
10  Exponential(const Parameter& l) : lambda(l.ptr()) {}
11  Exponential(std::shared_ptr<double> l) : lambda(l) {}
12  Exponential(double l) : lambda(new double(l)) {}
13  double operator()(double x) const { return std::exp((*lambda) * x); }
14  std::shared_ptr<double> lambda;
15  };
16 
17 } // namespace funct
18 
19 #endif
Definition: Abs.h:5
Exponential(const Parameter &l)
Definition: Exponential.h:10
Exponential(std::shared_ptr< double > l)
Definition: Exponential.h:11
std::shared_ptr< double > lambda
Definition: Exponential.h:14
float x
Exponential(double l)
Definition: Exponential.h:12
double operator()(double x) const
Definition: Exponential.h:13