AmpGen 2.1
Loading...
Searching...
No Matches
Wigner.h
Go to the documentation of this file.
1#ifndef AMPGEN_WIGNER_H
2#define AMPGEN_WIGNER_H
3#include "AmpGen/Expression.h"
4#include "AmpGen/Tensor.h"
5#include "AmpGen/Particle.h"
6#include "AmpGen/Transform.h"
7
8namespace AmpGen {
9 class Particle;
10 using TransformCache = std::map<std::string, TransformSequence>;
11
12 Expression wigner_d( const Expression& cb, const double& j, const double& m, const double& n );
13 Expression wigner_D( const std::pair<Expression, Expression>& P, const double& J, const double& lA, const double& lB, DebugSymbols* db);
18 double CG( const double& j1,
19 const double& m1,
20 const double& j2,
21 const double& m2,
22 const double& J,
23 const double& M );
24
31 TransformSequence wickTransform(const Tensor& P, const Particle& p, const int& ve =1, DebugSymbols* db = nullptr );
32
34 const TransformSequence& parentFrame,
35 const double& Mz,
36 DebugSymbols* db ,
37 const int sgn=1,
38 TransformCache* cacheptr = nullptr);
39 Tensor basisSpinor(const int& polState, const int& id);
40 Tensor basisVector(const int& polState);
41
42 struct LS {
43 double factor = {1};
44 double cg1 = {0};
45 double cg2 = {0};
46 double p = {0};
47 double m1 = {0};
48 double m2 = {0};
49 };
50
52 const double& J,
53 const double& M,
54 const double& L,
55 const double& S,
56 const double& j1,
57 const double& j2 );
58}
59
60#endif
Wrapper class for shared_ptrs to virtual expressions for use in conjunction with operators to build e...
Definition Expression.h:135
Describes a particle, its decay process and subsequent decay products, which are also Particles.
Definition Particle.h:103
double CG(const double &j1, const double &m1, const double &j2, const double &m2, const double &J, const double &M)
Calculates the Clebsch-Gordan coefficient for (j1 m1 j2 m2 | J M), the expansion coefficients in
TransformSequence wickTransform(const Tensor &P, const Particle &p, const int &ve=1, DebugSymbols *db=nullptr)
Generates a wick transform sequence that aligns tensor P (four-vector) to the +/- ve z-axis,...
Expression helicityAmplitude(const Particle &particle, const TransformSequence &parentFrame, const double &Mz, DebugSymbols *db, const int sgn=1, TransformCache *cacheptr=nullptr)
double m2
Definition Wigner.h:48
std::map< std::string, TransformSequence > TransformCache
Definition Wigner.h:10
Tensor basisVector(const int &polState)
Expression wigner_d(const Expression &cb, const double &j, const double &m, const double &n)
double factor
Definition Wigner.h:43
Expression wigner_D(const std::pair< Expression, Expression > &P, const double &J, const double &lA, const double &lB, DebugSymbols *db)
std::vector< DebugSymbol > DebugSymbols
Definition Expression.h:111
double m1
Definition Wigner.h:47
double cg1
Definition Wigner.h:44
Tensor basisSpinor(const int &polState, const int &id)
double cg2
Definition Wigner.h:45
double p
Definition Wigner.h:46
std::vector< LS > calculate_recoupling_constants(const double &J, const double &M, const double &L, const double &S, const double &j1, const double &j2)