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
EvtGenBase
EvtTwoBodyKine.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 EVT_TWO_BODY_KINE_HH
22
#define EVT_TWO_BODY_KINE_HH
23
24
#include <iostream>
25
26
// Descriptions of the kinematics of a two-body decay.
27
28
class
EvtTwoBodyKine
{
29
public
:
30
enum
Index
31
{
32
A
,
33
B
,
34
AB
35
};
36
37
EvtTwoBodyKine
();
38
EvtTwoBodyKine
(
const
double
mA
,
const
double
mB
,
const
double
mAB
);
39
40
// Accessors
41
42
inline
double
mA
()
const
{
return
m_mA
; }
43
inline
double
mB
()
const
{
return
m_mB
; }
44
inline
double
mAB
()
const
{
return
m_mAB
; }
45
double
m
(
Index
i =
AB
)
const
;
46
47
// Momentum of the other two particles in the
48
// rest-frame of particle i.
49
50
double
p
(
Index
i =
AB
)
const
;
51
52
// Energy of particle i in the rest frame of particle j
53
54
double
e
(
Index
i,
Index
j )
const
;
55
56
void
print
( std::ostream& os )
const
;
57
58
private
:
59
double
m_mA
;
60
double
m_mB
;
61
double
m_mAB
;
62
};
63
64
std::ostream&
operator<<
( std::ostream& os,
const
EvtTwoBodyKine
& p );
65
66
#endif
Index
Index
Definition
EvtCyclic3.hh:31
operator<<
std::ostream & operator<<(std::ostream &os, const EvtTwoBodyKine &p)
EvtTwoBodyKine
Definition
EvtTwoBodyKine.hh:28
EvtTwoBodyKine::mB
double mB() const
Definition
EvtTwoBodyKine.hh:43
EvtTwoBodyKine::m
double m(Index i=AB) const
Definition
EvtTwoBodyKine.cpp:46
EvtTwoBodyKine::m_mB
double m_mB
Definition
EvtTwoBodyKine.hh:60
EvtTwoBodyKine::m_mAB
double m_mAB
Definition
EvtTwoBodyKine.hh:61
EvtTwoBodyKine::Index
Index
Definition
EvtTwoBodyKine.hh:31
EvtTwoBodyKine::A
@ A
Definition
EvtTwoBodyKine.hh:32
EvtTwoBodyKine::AB
@ AB
Definition
EvtTwoBodyKine.hh:34
EvtTwoBodyKine::B
@ B
Definition
EvtTwoBodyKine.hh:33
EvtTwoBodyKine::mAB
double mAB() const
Definition
EvtTwoBodyKine.hh:44
EvtTwoBodyKine::print
void print(std::ostream &os) const
Definition
EvtTwoBodyKine.cpp:88
EvtTwoBodyKine::EvtTwoBodyKine
EvtTwoBodyKine()
Definition
EvtTwoBodyKine.cpp:31
EvtTwoBodyKine::p
double p(Index i=AB) const
Definition
EvtTwoBodyKine.cpp:57
EvtTwoBodyKine::mA
double mA() const
Definition
EvtTwoBodyKine.hh:42
EvtTwoBodyKine::e
double e(Index i, Index j) const
Definition
EvtTwoBodyKine.cpp:78
EvtTwoBodyKine::m_mA
double m_mA
Definition
EvtTwoBodyKine.hh:59
Generated by
1.16.1