![]() |
AmpGen 2.1
|
Implementations must permit the following operations on nodes.
Definition at line 116 of file Expression.h.
Public Member Functions | |
virtual std::string | to_string (const ASTResolver *resolver=nullptr) const =0 |
Called to convert the Expression tree into source code. | |
virtual void | resolve (ASTResolver &resolver) const =0 |
Resolve the dependencies of a tree using an ASTResolver, which keeps track of parameters, dependent sub-trees, etc. | |
virtual | ~IExpression ()=default |
virtual descructor | |
virtual complex_t | operator() () const =0 |
Evaluate the expression using the tree, will generally be very slow but ocassionally useful for debugging. | |
|
virtualdefault |
|
pure virtual |
Implemented in AmpGen::Abs, AmpGen::ACos, AmpGen::And, AmpGen::Array, AmpGen::ASin, AmpGen::ATan2, AmpGen::ATan, AmpGen::ComplexParameter, AmpGen::Conj, AmpGen::Constant, AmpGen::Cos, AmpGen::Divide, AmpGen::Equal, AmpGen::Exp, AmpGen::ExpressionPack, AmpGen::Fmod, AmpGen::Function, AmpGen::GreaterThan, AmpGen::GreaterThanEqualTo, AmpGen::IBinaryExpression, AmpGen::Imag, AmpGen::ISqrt, AmpGen::IUnaryExpression, AmpGen::LambdaExpression, AmpGen::LessThan, AmpGen::LessThanEqualTo, AmpGen::LGamma, AmpGen::Log, AmpGen::MinuitParameterLink, AmpGen::Norm, AmpGen::Or, AmpGen::Parameter, AmpGen::Pow, AmpGen::Product, AmpGen::Real, AmpGen::Sin, AmpGen::Spline, AmpGen::Sqrt, AmpGen::Sub, AmpGen::SubTree, AmpGen::Sum, AmpGen::Tan, AmpGen::TensorExpression, and AmpGen::Ternary.
|
pure virtual |
resolver | resolver object to use |
Implemented in AmpGen::Array, AmpGen::ComplexParameter, AmpGen::Constant, AmpGen::ExpressionPack, AmpGen::Function, AmpGen::IBinaryExpression, AmpGen::IUnaryExpression, AmpGen::LambdaExpression, AmpGen::MinuitParameterLink, AmpGen::Parameter, AmpGen::Spline, AmpGen::SubTree, AmpGen::TensorExpression, and AmpGen::Ternary.
|
pure virtual |
Implemented in AmpGen::Abs, AmpGen::ACos, AmpGen::And, AmpGen::Array, AmpGen::ASin, AmpGen::ATan2, AmpGen::ATan, AmpGen::ComplexParameter, AmpGen::Conj, AmpGen::Constant, AmpGen::Cos, AmpGen::Divide, AmpGen::Equal, AmpGen::Exp, AmpGen::ExpressionPack, AmpGen::Fmod, AmpGen::Function, AmpGen::GreaterThan, AmpGen::GreaterThanEqualTo, AmpGen::Imag, AmpGen::ISqrt, AmpGen::LambdaExpression, AmpGen::LessThan, AmpGen::LessThanEqualTo, AmpGen::LGamma, AmpGen::Log, AmpGen::MinuitParameterLink, AmpGen::Norm, AmpGen::Or, AmpGen::Parameter, AmpGen::Pow, AmpGen::Product, AmpGen::Real, AmpGen::Sin, AmpGen::Spline, AmpGen::Sqrt, AmpGen::Sub, AmpGen::SubTree, AmpGen::Sum, AmpGen::Tan, AmpGen::TensorExpression, and AmpGen::Ternary.