StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtD0gammaDalitz.hh
1 //--------------------------------------------------------------------------
2 //
3 // Module: EvtGen/EvtD0gammaDalitz.hh
4 //
5 // Modification history:
6 //
7 // JGT February 13, 2012 Module created
8 //
9 //------------------------------------------------------------------------
10 
11 #ifndef __EVTD0GAMMADALITZ_HH__
12 #define __EVTD0GAMMADALITZ_HH__
13 
14 #include <vector>
15 
16 #include "EvtGenBase/EvtDecayAmp.hh"
17 #include "EvtGenBase/EvtFlatte.hh"
18 
19 #include "EvtGenBase/EvtSpinType.hh"
20 #include "EvtGenBase/EvtDalitzReso.hh"
21 #include "EvtGenBase/EvtCyclic3.hh"
22 
23 class EvtParticle;
24 
26 {
27 private:
28  int _d1;
29  int _d2;
30  int _d3;
31  int _flag;
32 
33  bool _isKsPiPi;
34 
35  // Useful constants.
36  static const EvtSpinType::spintype& _SCALAR;
37  static const EvtSpinType::spintype& _VECTOR;
38  static const EvtSpinType::spintype& _TENSOR;
39 
40  static const EvtDalitzReso::CouplingType& _EtaPic;
41  static const EvtDalitzReso::CouplingType& _PicPicKK;
42 
43  static const EvtDalitzReso::NumType& _RBW;
44  static const EvtDalitzReso::NumType& _GS;
45  static const EvtDalitzReso::NumType& _KMAT;
46 
47  static const EvtCyclic3::Pair& _AB;
48  static const EvtCyclic3::Pair& _AC;
49  static const EvtCyclic3::Pair& _BC;
50 
51  // Values to be read or computed based on values in the evt.pdl file.
52  // IDs of the relevant particles.
53  EvtId _BP;
54  EvtId _BM;
55  EvtId _B0;
56  EvtId _B0B;
57  EvtId _D0;
58  EvtId _D0B;
59  EvtId _KM;
60  EvtId _KP;
61  EvtId _K0;
62  EvtId _K0B;
63  EvtId _KL;
64  EvtId _KS;
65  EvtId _PIM;
66  EvtId _PIP;
67 
68  // Flavor of the B mother.
69  EvtId _bFlavor;
70 
71  // Masses of the relevant particles.
72  double _mD0;
73  double _mKs;
74  double _mPi;
75  double _mK;
76 
77  void readPDGValues();
78  void reportInvalidAndExit() const;
79 
80  EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point ) const;
81  EvtComplex dalitzKsKK ( const EvtDalitzPoint& point ) const;
82 
83 public:
85  virtual ~EvtD0gammaDalitz();
86 
87  std::string getName();
88  EvtDecayBase* clone();
89 
90  void init();
91  void initProbMax();
92 
93  void decay( EvtParticle* p );
94 };
95 
96 #endif
Definition: EvtId.hh:27