]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtDecayMode.hh
AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDecayMode.hh
1 //-----------------------------------------------------------------------
2 // File and Version Information: 
3 //      $Id: EvtDecayMode.hh,v 1.10 2009/02/15 18:15:59 ryd 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