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
src
EvtGenBase
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
21
#include "
EvtGenBase/EvtdFunction.hh
"
22
23
#include "
EvtGenBase/EvtdFunctionSingle.hh
"
24
25
#include <assert.h>
26
#include <iostream>
27
#include <math.h>
28
#include <stdlib.h>
29
30
double
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
53
EvtdFunctionSingle
df;
54
55
df.
init
( j, m1p, m2p );
56
57
double
d
= df.
d
( j, m1p, m2p, theta ) * signp;
58
59
return
d
;
60
}
abs
double abs(const EvtComplex &c)
Definition
EvtComplex.hh:203
EvtdFunctionSingle.hh
EvtdFunction.hh
EvtdFunctionSingle
Definition
EvtdFunctionSingle.hh:26
EvtdFunctionSingle::d
double d(int j, int m1, int m2, double theta)
Definition
EvtdFunctionSingle.cpp:75
EvtdFunctionSingle::init
void init(int j, int m1, int m2)
Definition
EvtdFunctionSingle.cpp:44
EvtdFunction::d
static double d(int j, int m1, int m2, double theta)
Definition
EvtdFunction.cpp:30
Generated by
1.17.0