EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtEvalHelAmp.hh
Go to the documentation of this file.
1
2/***********************************************************************
3* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4* *
5* This file is part of EvtGen. *
6* *
7* EvtGen is free software: you can redistribute it and/or modify *
8* it under the terms of the GNU General Public License as published by *
9* the Free Software Foundation, either version 3 of the License, or *
10* (at your option) any later version. *
11* *
12* EvtGen is distributed in the hope that it will be useful, *
13* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15* GNU General Public License for more details. *
16* *
17* You should have received a copy of the GNU General Public License *
18* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19***********************************************************************/
20
21#ifndef EVTEVALHELAMP_HH
22#define EVTEVALHELAMP_HH
23
25#include "EvtGenBase/EvtId.hh"
27
28class EvtParticle;
29class EvtAmp;
30
32 public:
33 EvtEvalHelAmp( EvtId idA, EvtId idB, EvtId idC, EvtComplexPtrPtr HBC );
34
35 virtual ~EvtEvalHelAmp();
36
37 double probMax();
38
39 void evalAmp( EvtParticle* p, EvtAmp& amp );
40
41 private:
42 void fillHelicity( int* lambda2, int n, int J2, EvtId id );
43 void setUpRotationMatrices( EvtParticle* p, double theta, double phi );
45
46 //spins states available for particle A, B, and C.
47 int m_nA, m_nB, m_nC;
48
49 //helicity amplitudes
51
52 //2 times spin for each of the particles
54
55 //2 times the helicity for the states
57
58 //Rotation matrices
60
61 //temporary array for amplitudes
63};
64
65#endif
EvtComplexPtrPtr * EvtComplexPtrPtrPtr
Definition EvtComplex.hh:80
EvtComplexPtr * EvtComplexPtrPtr
Definition EvtComplex.hh:79
EvtComplexPtrPtr m_RC
void applyRotationMatrices()
EvtComplexPtrPtr m_RB
EvtComplexPtrPtrPtr m_amp1
void fillHelicity(int *lambda2, int n, int J2, EvtId id)
EvtEvalHelAmp(EvtId idA, EvtId idB, EvtId idC, EvtComplexPtrPtr HBC)
EvtComplexPtrPtrPtr m_amp3
void evalAmp(EvtParticle *p, EvtAmp &amp)
EvtComplexPtrPtrPtr m_amp
EvtComplexPtrPtr m_RA
EvtComplexPtrPtr m_HBC
virtual ~EvtEvalHelAmp()
void setUpRotationMatrices(EvtParticle *p, double theta, double phi)
Definition EvtId.hh:27