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
EvtKine.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 EVTKINE_HH
22#define EVTKINE_HH
23
24class EvtVector4R;
25class EvtComplex;
26
27double EvtDecayAngle( const EvtVector4R&, const EvtVector4R&, const EvtVector4R& );
28
29double EvtDecayAngleChi( const EvtVector4R&, const EvtVector4R&,
30 const EvtVector4R&, const EvtVector4R&,
31 const EvtVector4R& );
32
33//
34// This routine calculates the cosine of the angle between
35// the normal of the decay plane and the flight direction of particle q
36// in the parent frame.
37//
38double EvtDecayPlaneNormalAngle( const EvtVector4R& p, const EvtVector4R& q,
39 const EvtVector4R& d1, const EvtVector4R& d2 );
40
41// Added by AJB
42//
43// Calculate phi (between 0 and 2 pi) of the daughter given the 4-momentum of
44// the grandparent, parent, resonance and the daughter. g, p, q and d need to
45// be in the same rest frame. Note that for the first level of the tree there
46// is no grandparent and thus <0,0,0,1> should be passed in for g. When there
47// is no parent the angles need to be calculated by simply by calculating polar
48// and azymuthal angles in the rest frame of the resonance (since this will
49// generally be the root particle and is generally at rest the polar and
50// azymuthal angels can simply be calculated.
51//
52double EvtDecayAnglePhi( const EvtVector4R& g, const EvtVector4R& p,
53 const EvtVector4R& q, const EvtVector4R& d );
54
55// Wigner big-D function in Jackson convention
56//
57// XXX NOTE XXX
58// - EvtDecayAngle returns the cos \theta and EvtdFunction requires theta
59// - In EvtdFunction j m1 and m2 are really 2 * j, 2 * m1, 2*m2 to deal with
60// spin 1/2 particles
61//
62EvtComplex wignerD( int j, int m1, int m2, double phi, double theta,
63 double gamma );
64
65//
66// Function to calculate momentum of daughters in two body decay in mothers
67// rest frame.
68double twoBodyMomentum( const double M, const double m1, const double m2 );
69
70#endif
double EvtDecayAngleChi(const EvtVector4R &, const EvtVector4R &, const EvtVector4R &, const EvtVector4R &, const EvtVector4R &)
Definition EvtKine.cpp:48
double EvtDecayPlaneNormalAngle(const EvtVector4R &p, const EvtVector4R &q, const EvtVector4R &d1, const EvtVector4R &d2)
Definition EvtKine.cpp:90
EvtComplex wignerD(int j, int m1, int m2, double phi, double theta, double gamma)
Definition EvtKine.cpp:126
double EvtDecayAngle(const EvtVector4R &, const EvtVector4R &, const EvtVector4R &)
Definition EvtKine.cpp:32
double twoBodyMomentum(const double M, const double m1, const double m2)
Definition EvtKine.cpp:134
double EvtDecayAnglePhi(const EvtVector4R &g, const EvtVector4R &p, const EvtVector4R &q, const EvtVector4R &d)
Definition EvtKine.cpp:105