]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | /******************************************************************************* |
2 | * Project: BaBar detector at the SLAC PEP-II B-factory | |
3 | * Package: EvtGenBase | |
0ca57c2f | 4 | * File: $Id: EvtDalitzCoord.hh,v 1.2 2009-03-16 16:43:40 robbep Exp $ |
da0e9ce3 | 5 | * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002 |
6 | * | |
7 | * Copyright (C) 2002 Caltech | |
8 | *******************************************************************************/ | |
9 | ||
10 | // Two dimensional coordinate of a point in a Dalitz plot | |
11 | ||
12 | #ifndef EVT_DALITZ_COORD_HH | |
13 | #define EVT_DALITZ_COORD_HH | |
14 | ||
15 | #include "EvtGenBase/EvtCyclic3.hh" | |
16 | ||
17 | #include <iostream> | |
18 | ||
19 | class EvtDalitzCoord { | |
20 | ||
21 | ||
22 | public: | |
23 | ||
24 | // ctor, dtor | |
25 | ||
26 | EvtDalitzCoord(); | |
27 | EvtDalitzCoord(EvtCyclic3::Pair i1, double q1, EvtCyclic3::Pair i2, double q2); | |
28 | EvtDalitzCoord(const EvtDalitzCoord& other); | |
29 | ~EvtDalitzCoord(); | |
30 | ||
31 | inline EvtCyclic3::Pair pair1() const { return _i1; } | |
32 | inline EvtCyclic3::Pair pair2() const { return _i2; } | |
33 | inline double q1() const { return _q1; } | |
34 | inline double q2() const { return _q2; } | |
35 | ||
36 | ||
37 | // It's nice to have an equality operator for | |
38 | // a coordinate. However, beware effects of numerical precision | |
39 | ||
40 | bool operator==(const EvtDalitzCoord&) const; | |
41 | ||
42 | void print(std::ostream&) const; | |
43 | ||
44 | private: | |
45 | ||
46 | // Two coordinates define the point | |
47 | ||
48 | EvtCyclic3::Pair _i1; | |
49 | EvtCyclic3::Pair _i2; | |
50 | ||
51 | double _q1; | |
52 | double _q2; | |
53 | }; | |
54 | ||
55 | std::ostream& operator<<(std::ostream&,const EvtDalitzCoord&); | |
56 | ||
57 | #endif | |
58 | ||
59 | ||
60 | ||
61 | ||
62 | ||
63 |