AmpGen 2.1
Loading...
Searching...
No Matches
MinuitExpression.h
Go to the documentation of this file.
1#ifndef AMPGEN_MINUITEXPRESSION_H
2#define AMPGEN_MINUITEXPRESSION_H
3
4#include <complex>
5#include <string>
6#include <vector>
7
8#include "AmpGen/Expression.h"
10
11namespace AmpGen
12{
14
15 class MinuitExpression : public MinuitParameter
16 {
17 public:
18 MinuitExpression(const std::vector<std::string>& tokens, MinuitParameterSet* mps );
19 MinuitExpression(const std::string& name, const Expression& expression);
20 double mean() const override;
22 Expression expression() const { return m_expression; }
23 operator double() const override;
24 ~MinuitExpression() override;
25 private:
26 Expression m_expression;
27 };
28
30 public:
31 explicit MinuitParameterLink( MinuitParameter* param ) ;
32 std::string to_string(const ASTResolver* resolver=nullptr) const override ;
33 void resolve( ASTResolver& resolver ) const override ;
34 complex_t operator()() const override ;
35 operator Expression() const ;
36 std::string name() const;
37 const MinuitParameter& param() const;
38 private:
39 MinuitParameter* m_parameter;
40 };
41} // namespace AmpGen
42
43#endif
(Internal) class to aide in the resolution of the dependencies of expression trees.
Definition ASTResolver.h:29
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition Expression.h:135
Virtual base class for other expression tree components.
Definition Expression.h:116
Expression expression() const
MinuitExpression(const std::vector< std::string > &tokens, MinuitParameterSet *mps)
MinuitExpression(const std::string &name, const Expression &expression)
double mean() const override
complex_t getVal() const
std::complex< real_t > complex_t
Definition Types.h:7