1 #ifndef PhysicsTools_Utilities_Expression_h
2 #define PhysicsTools_Utilities_Expression_h
13 virtual std::ostream&
print(std::ostream&
cout)
const = 0;
22 std::ostream&
print(std::ostream&
cout)
const override {
return cout <<
_f; }
34 _f.reset(e.
_f->clone());
38 inline std::ostream&
print(std::ostream&
cout)
const {
return _f->print(cout); }
41 std::unique_ptr<AbsExpression>
_f;
72 _f.reset(e.
_f->clone());
78 std::unique_ptr<AbsFunctExpression>
_f;
double operator()(double x) const override
AbsFunctExpression * clone() const override
Expression & operator=(const Expression &e)
virtual AbsExpression * clone() const =0
std::unique_ptr< AbsFunctExpression > _f
virtual AbsFunctExpression * clone() const =0
virtual ~AbsFunctExpression()
std::ostream & print(std::ostream &cout) const override
Expression(const Expression &e)
virtual double operator()(double x) const =0
FunctExpression & operator=(const FunctExpression &e)
~FunctExpressionT() override
FunctExpression(const FunctExpression &e)
double operator()() const
virtual std::ostream & print(std::ostream &cout) const =0
std::ostream & print(std::ostream &cout) const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
virtual double operator()() const =0
FunctExpressionT(const F &f)
FunctExpression(const F &f)
std::unique_ptr< AbsExpression > _f
double operator()(double x) const
std::ostream & operator<<(std::ostream &cout, const Expression &e)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
double operator()() const override
AbsExpression * clone() const override