00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef EVTPHOKHARA4PI_HH
00023 #define EVTPHOKHARA4PI_HH
00024
00025 #include "EvtGenBase/EvtDecayIncoherent.hh"
00026
00027 class EvtParticle;
00028
00029 typedef EvtDecayBase* EvtDecayBasePtr;
00030
00031 #include <iosfwd>
00032
00033 class EvtPhokhara_4pi:public EvtDecayIncoherent {
00034
00035 public:
00036
00037 EvtPhokhara_4pi();
00038 virtual ~EvtPhokhara_4pi();
00039
00040 void getName(std::string& name);
00041 EvtDecayBase* clone();
00042 void decay(EvtParticle *p);
00043
00044 std::string commandName();
00045 void command(std::string cmd);
00046
00047 void init();
00048 void init_mode(EvtParticle* p);
00049 void init_evt(EvtParticle* p);
00050
00051 void initProbMax();
00052 int getTotalEvt(){return nevt;}
00053 void PhokharaInit(int dummy);
00054 void ExclusiveDecay(EvtParticle* p);
00055 void init_pars();
00056 private:
00057
00058 void store(EvtDecayBase* jsdecay);
00059
00060
00061 static int nphokharadecays;
00062 static EvtDecayBasePtr* phokharadecays;
00063 static int ntable;
00064
00065 static int ncommand;
00066 static int lcommand;
00067 static std::string* commands;
00068 static int nevt;
00069 static int nevtgen;
00070
00071
00072 int m_nm;
00073 int m_nlo;
00074 double m_w;
00075 int m_pion;
00076
00077 int m_fsr;
00078 int m_fsrnlo;
00079 int m_ivac;
00080 int m_tagged;
00081 int m_NarrowRes;
00082 int m_FF_Kaon;
00083 int m_FF_Pion;
00084 int m_f0_model;
00085 double m_E;
00086 double m_q2min;
00087 double m_q2_min_c;
00088 double m_q2_max_c;
00089 double m_gmin;
00090 double m_phot1cut;
00091 double m_phot2cut;
00092 double m_pi1cut;
00093 double m_pi2cut;
00094
00095 double qqmin,qqmax;
00096 double cos1min,cos1max,cos2min,cos2max,cos3min,cos3max;
00097 double dsigm1,dsigm2,sigma1,sigma2,sigma,dsigm,Ar[14],Ar_r[14];
00098
00099 int ievent;
00100 long int m_initSeed;
00101 double theMmax0, theMmax1;
00102 };
00103
00104 #endif
00105
00106
00107
00108