11#include <gsl/gsl_matrix.h>
21 class MinuitParameter;
30 void set(
const unsigned int& N, MinuitParameter* f );
31 void set(
const unsigned int& N,
const double& value );
33 size_t size()
const override {
return 2*m_nKnots; }
41 gsl_matrix* m_transferMatrix = {
nullptr};
42 std::vector<MinuitParameter*> m_parameters;
72 DebugSymbols* dbexpressions =
nullptr,
const bool& continueSpline =
false );
(Internal) class to aide in the resolution of the dependencies of expression trees.
Expression for a fixed size array of values.
CacheTransfer(const size_t &address, const std::string &name, const double &value=0, const size_t &size=1)
virtual std::string name() const
Base class for compiled expressions, i.e.
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Virtual base class for other expression tree components.
void resolve(ASTResolver &resolver) const override
Resolve the dependencies of a tree using an ASTResolver, which keeps track of parameters,...
Expression operator()(const Expression &x, DebugSymbols *db)
std::string to_string(const ASTResolver *resolver=nullptr) const override
Called to convert the Expression tree into source code.
Expression eval(DebugSymbols *db=nullptr) const
Spline(const std::string &name, const size_t &nKnots, const double &min, const double &max)
Spline(const Spline &spline, const Expression &x, DebugSymbols *db=nullptr)
complex_t operator()() const override
Evaluate the expression using the tree, will generally be very slow but ocassionally useful for debug...
SplineTransfer & operator=(SplineTransfer &&)=delete
SplineTransfer(SplineTransfer &&)=delete
SplineTransfer(const SplineTransfer &)=delete
void set(const unsigned int &N, const double &value)
void transfer(CompiledExpressionBase *destination) override
SplineTransfer & operator=(const SplineTransfer &)=delete
void set(const unsigned int &N, MinuitParameter *f)
SplineTransfer(const size_t &address, const std::string &name, const unsigned int &N, const double &min, const double &max)
size_t size() const override
void print() const override
std::complex< real_t > complex_t
Expression getSpline(const std::string &name, const Expression &x, const std::string &arrayName, DebugSymbols *dbexpressions=nullptr, const bool &continueSpline=false)
std::vector< DebugSymbol > DebugSymbols