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
EvtdFunction.cpp
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
22
24
25#include <assert.h>
26#include <iostream>
27#include <math.h>
28#include <stdlib.h>
29
30double EvtdFunction::d( int j, int m1, int m2, double theta )
31{
32 int m1p = m1;
33 int m2p = m2;
34
35 int signp = 1;
36 //make |m2p|>|m1p|
37 if ( abs( m2p ) < abs( m1p ) ) {
38 int tmp = m1p;
39 m1p = m2p;
40 m2p = tmp;
41 if ( ( m1p - m2p ) % 4 != 0 )
42 signp = -signp;
43 }
44
45 //make m2p non-negative
46 if ( m2p < 0 ) {
47 m1p = -m1p;
48 m2p = -m2p;
49 if ( ( m1p - m2p ) % 4 != 0 )
50 signp = -signp;
51 }
52
54
55 df.init( j, m1p, m2p );
56
57 double d = df.d( j, m1p, m2p, theta ) * signp;
58
59 return d;
60}
double abs(const EvtComplex &c)
double d(int j, int m1, int m2, double theta)
void init(int j, int m1, int m2)
static double d(int j, int m1, int m2, double theta)