AmpGen 2.1
Loading...
Searching...
No Matches
kMatrix.h
Go to the documentation of this file.
1#ifndef AMPGEN_KMATRIX_H
2#define AMPGEN_KMATRIX_H
3
4#include "AmpGen/Expression.h"
5#include "AmpGen/Tensor.h"
6#include "AmpGen/Lineshapes.h"
7
8namespace AmpGen {
9 namespace Lineshape {
24 }
25
26 struct poleConfig {
28 std::vector<Expression> couplings;
29 std::vector<Expression> bl_factors;
30 poleConfig(const Expression &s, const std::vector<Expression> &c = {}) : s(s), couplings(c), bl_factors(c.size(), 1) {};
31
32 void add(const Expression &coupling, const Expression &bl_factor = 1) {
33 couplings.push_back(coupling);
34 bl_factors.push_back(bl_factor);
35 }
36 const Expression coupling(const unsigned &i) const { return couplings[i] * bl_factors[i]; }
37 const Expression g(const unsigned &i) const { return couplings[i]; }
38 };
39
40 Tensor constructKMatrix(const Expression &s, const unsigned &nChannels, const std::vector<poleConfig> &poleConfigs);
41
42 Expression phsp_twoBody(const Expression &s, const double &m0, const double &m1);
44 Expression phsp_FOCUS(const Expression &s, const double &m0, const double &m1);
45 Expression gFromGamma(const Expression &m, const Expression &gamma, const Expression &rho);
46
47 std::vector<Variable> paramVector(const std::string &name, const unsigned int &nParam);
48
49 Tensor getPropagator(const Tensor &kMatrix, const std::vector<Expression> &phaseSpace, DebugSymbols *db = nullptr);
50} // namespace AmpGen
51
52#endif /* end of include guard: AMPGEN_KMATRIX_H */
#define DECLARE_LINESHAPE(X)
Definition Lineshapes.h:44
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition Expression.h:135
Namespace that contains all lineshapes, i.e.
Expression phsp_fourPi(const Expression &s)
std::vector< Variable > paramVector(const std::string &name, const unsigned int &nParam)
Expression phsp_FOCUS(const Expression &s, const double &m0, const double &m1)
Expression phaseSpace(const Expression &s, const Particle &p, const size_t &l)
Expression phsp_twoBody(const Expression &s, const double &m0, const double &m1)
Expression gFromGamma(const Expression &m, const Expression &gamma, const Expression &rho)
std::vector< DebugSymbol > DebugSymbols
Definition Expression.h:111
Tensor getPropagator(const Tensor &kMatrix, const std::vector< Expression > &phaseSpace, DebugSymbols *db=nullptr)
Tensor constructKMatrix(const Expression &s, const unsigned &nChannels, const std::vector< poleConfig > &poleConfigs)
void add(const Expression &coupling, const Expression &bl_factor=1)
Definition kMatrix.h:32
Expression s
Definition kMatrix.h:27
std::vector< Expression > bl_factors
Definition kMatrix.h:29
const Expression coupling(const unsigned &i) const
Definition kMatrix.h:36
std::vector< Expression > couplings
Definition kMatrix.h:28
poleConfig(const Expression &s, const std::vector< Expression > &c={})
Definition kMatrix.h:30
const Expression g(const unsigned &i) const
Definition kMatrix.h:37