StRoot  1
EvtDalitzCoord.hh
1 /*******************************************************************************
2  * Project: BaBar detector at the SLAC PEP-II B-factory
3  * Package: EvtGenBase
4  * File: \$Id: EvtDalitzCoord.hh,v 1.1 2016/09/23 18:37:30 jwebb Exp \$
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
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