File indexing completed on 2026-08-06 09:20:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef __EVTD0GAMMADALITZ_HH__
0022 #define __EVTD0GAMMADALITZ_HH__
0023
0024 #include "EvtGenBase/EvtCyclic3.hh"
0025 #include "EvtGenBase/EvtDalitzReso.hh"
0026 #include "EvtGenBase/EvtDecayAmp.hh"
0027 #include "EvtGenBase/EvtFlatte.hh"
0028 #include "EvtGenBase/EvtSpinType.hh"
0029
0030 #include <vector>
0031
0032 class EvtParticle;
0033
0034 class EvtD0gammaDalitz : public EvtDecayAmp {
0035 private:
0036 int _d1;
0037 int _d2;
0038 int _d3;
0039
0040 bool _isKsPiPi;
0041
0042
0043 static const EvtSpinType::spintype& _SCALAR;
0044 static const EvtSpinType::spintype& _VECTOR;
0045 static const EvtSpinType::spintype& _TENSOR;
0046
0047 static const EvtDalitzReso::CouplingType& _EtaPic;
0048 static const EvtDalitzReso::CouplingType& _PicPicKK;
0049
0050 static const EvtDalitzReso::NumType& _RBW;
0051 static const EvtDalitzReso::NumType& _GS;
0052 static const EvtDalitzReso::NumType& _KMAT;
0053
0054 static const EvtCyclic3::Pair& _AB;
0055 static const EvtCyclic3::Pair& _AC;
0056 static const EvtCyclic3::Pair& _BC;
0057
0058
0059
0060 EvtId _BP;
0061 EvtId _BM;
0062 EvtId _B0;
0063 EvtId _B0B;
0064 EvtId _D0;
0065 EvtId _D0B;
0066 EvtId _KM;
0067 EvtId _KP;
0068 EvtId _K0;
0069 EvtId _K0B;
0070 EvtId _KL;
0071 EvtId _KS;
0072 EvtId _PIM;
0073 EvtId _PIP;
0074
0075
0076 EvtId _bFlavor;
0077
0078
0079 double _mD0;
0080 double _mKs;
0081 double _mPi;
0082 double _mK;
0083
0084 void readPDGValues();
0085 void reportInvalidAndExit() const;
0086
0087 EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point ) const;
0088 EvtComplex dalitzKsKK( const EvtDalitzPoint& point ) const;
0089
0090 public:
0091 std::string getName() override;
0092 EvtDecayBase* clone() override;
0093
0094 void init() override;
0095 void initProbMax() override;
0096
0097 void decay( EvtParticle* p ) override;
0098 };
0099
0100 #endif