AmpGen 2.1
Loading...
Searching...
No Matches
Simplify.h
Go to the documentation of this file.
1#ifndef AMPGEN_SIMPLIFY_H
2#define AMPGEN_SIMPLIFY_H 1
3#include <complex>
4#include <string>
5#include <utility>
6#include <vector>
7
8#include "AmpGen/Expression.h"
9
10namespace AmpGen {
11
12 Expression Simplify(const Expression& expression );
13
15 public:
16 struct Term {
17 std::complex<double> m_prefactor;
18 std::vector<std::pair<Expression,std::string>> m_terms;
22 void addExpression( const Expression& expression);
23 Term( const Expression& expression ) ;
24 operator Expression() ;
25 };
26 void addTerm( const Expression& expression );
27 NormalOrderedExpression( const Expression& expression, const bool& expandSubTrees=false );
29
30 operator Expression();
31 std::vector<Expression> ExpandBrackets( const Expression& expression );
32 std::vector<Term> terms() const { return m_terms ; }
33 private:
34 std::vector<Term> m_terms;
35 bool m_expandSubTrees;
36 };
37}
38
39#endif
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition Expression.h:135
std::vector< Term > terms() const
Definition Simplify.h:32
NormalOrderedExpression(const Expression &expression, const bool &expandSubTrees=false)
std::vector< Expression > ExpandBrackets(const Expression &expression)
void addTerm(const Expression &expression)
Expression Simplify(const Expression &expression)
std::complex< double > m_prefactor
Definition Simplify.h:17
Term(const Expression &expression)
std::vector< std::pair< Expression, std::string > > m_terms
Definition Simplify.h:18
void addExpression(const Expression &expression)