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
EvtDalitzCoord.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_DALITZ_COORD_HH
22
#define EVT_DALITZ_COORD_HH
23
24
#include "
EvtGenBase/EvtCyclic3.hh
"
25
26
#include <iostream>
27
28
// Two dimensional coordinate of a point in a Dalitz plot
29
30
class
EvtDalitzCoord
final {
31
public
:
32
// ctor, dtor
33
34
EvtDalitzCoord
();
35
EvtDalitzCoord
(
EvtCyclic3::Pair
i1,
double
q1
,
EvtCyclic3::Pair
i2,
36
double
q2
);
37
EvtDalitzCoord
(
const
EvtDalitzCoord
& other );
38
39
inline
EvtCyclic3::Pair
pair1
()
const
{
return
m_i1
; }
40
inline
EvtCyclic3::Pair
pair2
()
const
{
return
m_i2
; }
41
inline
double
q1
()
const
{
return
m_q1
; }
42
inline
double
q2
()
const
{
return
m_q2
; }
43
44
// It's nice to have an equality operator for
45
// a coordinate. However, beware effects of numerical precision
46
47
bool
operator==
(
const
EvtDalitzCoord
& )
const
;
48
49
void
print
( std::ostream& )
const
;
50
51
private
:
52
// Two coordinates define the point
53
54
EvtCyclic3::Pair
m_i1
;
55
EvtCyclic3::Pair
m_i2
;
56
57
double
m_q1
;
58
double
m_q2
;
59
};
60
61
std::ostream&
operator<<
( std::ostream&,
const
EvtDalitzCoord
& );
62
63
#endif
EvtCyclic3.hh
operator<<
std::ostream & operator<<(std::ostream &, const EvtDalitzCoord &)
EvtDalitzCoord
Definition
EvtDalitzCoord.hh:30
EvtDalitzCoord::pair1
EvtCyclic3::Pair pair1() const
Definition
EvtDalitzCoord.hh:39
EvtDalitzCoord::pair2
EvtCyclic3::Pair pair2() const
Definition
EvtDalitzCoord.hh:40
EvtDalitzCoord::print
void print(std::ostream &) const
Definition
EvtDalitzCoord.cpp:53
EvtDalitzCoord::q1
double q1() const
Definition
EvtDalitzCoord.hh:41
EvtDalitzCoord::operator==
bool operator==(const EvtDalitzCoord &) const
Definition
EvtDalitzCoord.cpp:47
EvtDalitzCoord::q2
double q2() const
Definition
EvtDalitzCoord.hh:42
EvtDalitzCoord::EvtDalitzCoord
EvtDalitzCoord()
Definition
EvtDalitzCoord.cpp:32
EvtDalitzCoord::m_q2
double m_q2
Definition
EvtDalitzCoord.hh:58
EvtDalitzCoord::m_i2
EvtCyclic3::Pair m_i2
Definition
EvtDalitzCoord.hh:55
EvtDalitzCoord::m_i1
EvtCyclic3::Pair m_i1
Definition
EvtDalitzCoord.hh:54
EvtDalitzCoord::m_q1
double m_q1
Definition
EvtDalitzCoord.hh:57
EvtCyclic3::Pair
Pair
Definition
EvtCyclic3.hh:37
Generated by
1.16.1