StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtDecayMode.hh
1 //-----------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: EvtDecayMode.hh,v 1.1 2016/09/23 18:37:30 jwebb Exp $
4 //
5 // Environment:
6 // This software is part of the EvtGen package developed jointly
7 // for the BaBar and CLEO collaborations. If you use all or part
8 // of it, please give an appropriate acknowledgement.
9 //
10 // Copyright Information:
11 // Copyright (C) 1998 Caltech, UCSB
12 //
13 // Module creator:
14 // Alexei Dvoretskii, Caltech, 2001-2002.
15 //-----------------------------------------------------------------------
16 
17 #ifndef EVT_DECAY_MODE_HH
18 #define EVT_DECAY_MODE_HH
19 
20 #include <string>
21 #include <vector>
22 #include "EvtGenBase/EvtCyclic3.hh"
23 
24 #include <iosfwd>
25 
26 class EvtDecayMode {
27 
28 public:
29 
30  EvtDecayMode(const char* decay);
31  EvtDecayMode(const EvtDecayMode& other);
32  EvtDecayMode(std::string mother,std::vector<std::string> dau);
33  ~EvtDecayMode();
34 
35  const char* mother() const;
36  int nD() const;
37  const char* dau(int i) const;
38 
39  std::ostream& print(std::ostream&) const;
40 
41 
42  // Frequent name combinations
43 
44  std::string m(EvtCyclic3::Pair i) const;
45  std::string q(EvtCyclic3::Pair i) const;
46  std::string dal(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
47  std::string mode() const;
48 
49 private:
50 
51  std::string _mother;
52  std::vector<std::string> _dau;
53 
54 };
55 
56 
57 std::ostream& operator<<(std::ostream&,const EvtDecayMode&);
58 
59 #endif