EvtGen
2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Toggle main menu visibility
Loading...
Searching...
No Matches
EvtGenBase
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
24
#include "
EvtGenBase/EvtDecayAmp.hh
"
25
#include "
EvtGenBase/EvtId.hh
"
26
#include "
EvtGenBase/EvtSpinType.hh
"
27
28
class
EvtParticle
;
29
class
EvtAmp
;
30
31
class
EvtEvalHelAmp
{
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 );
44
void
applyRotationMatrices
();
45
46
//spins states available for particle A, B, and C.
47
int
m_nA
,
m_nB
,
m_nC
;
48
49
//helicity amplitudes
50
EvtComplexPtrPtr
m_HBC
;
51
52
//2 times spin for each of the particles
53
int
m_JA2
,
m_JB2
,
m_JC2
;
54
55
//2 times the helicity for the states
56
int
*
m_lambdaA2
, *
m_lambdaB2
, *
m_lambdaC2
;
57
58
//Rotation matrices
59
EvtComplexPtrPtr
m_RA
,
m_RB
,
m_RC
;
60
61
//temporary array for amplitudes
62
EvtComplexPtrPtrPtr
m_amp
,
m_amp1
,
m_amp3
;
63
};
64
65
#endif
EvtComplexPtrPtrPtr
EvtComplexPtrPtr * EvtComplexPtrPtrPtr
Definition
EvtComplex.hh:80
EvtComplexPtrPtr
EvtComplexPtr * EvtComplexPtrPtr
Definition
EvtComplex.hh:79
EvtDecayAmp.hh
EvtId.hh
EvtSpinType.hh
EvtAmp
Definition
EvtAmp.hh:29
EvtEvalHelAmp::m_RC
EvtComplexPtrPtr m_RC
Definition
EvtEvalHelAmp.hh:59
EvtEvalHelAmp::applyRotationMatrices
void applyRotationMatrices()
Definition
EvtEvalHelAmp.cpp:423
EvtEvalHelAmp::m_RB
EvtComplexPtrPtr m_RB
Definition
EvtEvalHelAmp.hh:59
EvtEvalHelAmp::m_lambdaA2
int * m_lambdaA2
Definition
EvtEvalHelAmp.hh:56
EvtEvalHelAmp::m_amp1
EvtComplexPtrPtrPtr m_amp1
Definition
EvtEvalHelAmp.hh:62
EvtEvalHelAmp::m_nA
int m_nA
Definition
EvtEvalHelAmp.hh:47
EvtEvalHelAmp::fillHelicity
void fillHelicity(int *lambda2, int n, int J2, EvtId id)
Definition
EvtEvalHelAmp.cpp:277
EvtEvalHelAmp::m_nC
int m_nC
Definition
EvtEvalHelAmp.hh:47
EvtEvalHelAmp::m_JB2
int m_JB2
Definition
EvtEvalHelAmp.hh:53
EvtEvalHelAmp::EvtEvalHelAmp
EvtEvalHelAmp(EvtId idA, EvtId idB, EvtId idC, EvtComplexPtrPtr HBC)
Definition
EvtEvalHelAmp.cpp:80
EvtEvalHelAmp::m_amp3
EvtComplexPtrPtrPtr m_amp3
Definition
EvtEvalHelAmp.hh:62
EvtEvalHelAmp::probMax
double probMax()
Definition
EvtEvalHelAmp.cpp:148
EvtEvalHelAmp::evalAmp
void evalAmp(EvtParticle *p, EvtAmp &)
Definition
EvtEvalHelAmp.cpp:188
EvtEvalHelAmp::m_amp
EvtComplexPtrPtrPtr m_amp
Definition
EvtEvalHelAmp.hh:62
EvtEvalHelAmp::m_RA
EvtComplexPtrPtr m_RA
Definition
EvtEvalHelAmp.hh:59
EvtEvalHelAmp::m_HBC
EvtComplexPtrPtr m_HBC
Definition
EvtEvalHelAmp.hh:50
EvtEvalHelAmp::m_JC2
int m_JC2
Definition
EvtEvalHelAmp.hh:53
EvtEvalHelAmp::m_lambdaC2
int * m_lambdaC2
Definition
EvtEvalHelAmp.hh:56
EvtEvalHelAmp::m_JA2
int m_JA2
Definition
EvtEvalHelAmp.hh:53
EvtEvalHelAmp::~EvtEvalHelAmp
virtual ~EvtEvalHelAmp()
Definition
EvtEvalHelAmp.cpp:35
EvtEvalHelAmp::m_nB
int m_nB
Definition
EvtEvalHelAmp.hh:47
EvtEvalHelAmp::m_lambdaB2
int * m_lambdaB2
Definition
EvtEvalHelAmp.hh:56
EvtEvalHelAmp::setUpRotationMatrices
void setUpRotationMatrices(EvtParticle *p, double theta, double phi)
Definition
EvtEvalHelAmp.cpp:309
EvtId
Definition
EvtId.hh:27
EvtParticle
Definition
EvtParticle.hh:45
Generated by
1.17.0