File indexing completed on 2026-08-06 09:23:59
0001
0002 #ifndef Herwig_DalitzResonance_H
0003 #define Herwig_DalitzResonance_H
0004
0005
0006
0007
0008 #include "ThePEG/Config/ThePEG.h"
0009 #include "DalitzResonance.fh"
0010 #include <cassert>
0011
0012 namespace Herwig {
0013
0014 using namespace ThePEG;
0015
0016 namespace ResonanceType {
0017
0018
0019
0020
0021 enum Type {NonResonant=0,
0022 Spin0=1,Spin1=3,Spin2=5,
0023 Spin0E691=11,Spin1E691=13,Spin2E691=15,
0024 BABARf0=21, Spin0Gauss=31, Flattef0=41, Spin0Complex=51,
0025 Flattea0=61, FlatteKstar0=71,
0026 Sigma=81,
0027 Spin1GS=23,
0028 Spin0NonResonant=101, Spin1NonResonant=103, Spin2NonResonant=105,
0029 Spin0MIPWA=-1, PiPiI2=-11, KMatrix=-21, LASS=-31};
0030 }
0031
0032
0033
0034
0035
0036 class DalitzResonance: public Base {
0037
0038 public:
0039
0040
0041
0042
0043
0044
0045 DalitzResonance() : id(0), type(ResonanceType::NonResonant),mass(ZERO),width(ZERO),
0046 daughter1(0),daughter2(0),spectator(0),amp(0.),R(ZERO)
0047 {}
0048
0049
0050
0051
0052 DalitzResonance(long pid, ResonanceType::Type rtype, Energy m, Energy w,
0053 unsigned int d1, unsigned int d2, unsigned int s,
0054 double mag, double phi, InvEnergy rr)
0055 : id(pid), type(rtype), mass(m),width(w),
0056 daughter1(d1),daughter2(d2),spectator(s),
0057 amp(mag*exp(Complex(0,phi))), R(rr)
0058 {}
0059
0060
0061 public:
0062
0063
0064
0065
0066 virtual Complex BreitWigner(const Energy & mAB, const Energy & mA, const Energy & mB) const;
0067
0068
0069
0070
0071 virtual void dataBaseOutput(ofstream & output);
0072
0073
0074
0075
0076 static DalitzResonancePtr readResonance(string arg, string & error);
0077
0078 public:
0079
0080
0081
0082
0083
0084
0085
0086 void persistentOutput(PersistentOStream & os) const;
0087
0088
0089
0090
0091
0092
0093 void persistentInput(PersistentIStream & is, int version);
0094
0095
0096
0097
0098
0099
0100
0101
0102 static void Init();
0103
0104 private:
0105
0106
0107
0108
0109
0110 DalitzResonance & operator=(const DalitzResonance &) = delete;
0111
0112 public:
0113
0114
0115
0116
0117 long id;
0118
0119
0120
0121
0122 ResonanceType::Type type;
0123
0124
0125
0126
0127 Energy mass;
0128
0129
0130
0131
0132 Energy width;
0133
0134
0135
0136
0137 unsigned int daughter1,daughter2;
0138
0139
0140
0141
0142 unsigned int spectator;
0143
0144
0145
0146
0147 Complex amp;
0148
0149
0150
0151
0152 InvEnergy R;
0153
0154 };
0155
0156 }
0157
0158 #endif