00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef EVTPHOKHARAPIPIPI0_HH
00023 #define EVTPHOKHARAPIPIPI0_HH
00024
00025 #include "EvtGenBase/EvtDecayIncoherent.hh"
00026
00027 class EvtParticle;
00028
00029 typedef EvtDecayBase* EvtDecayBasePtr;
00030
00031 #include <iosfwd>
00032
00033 class EvtPhokhara_pipipi0:public EvtDecayIncoherent {
00034
00035 public:
00036
00037 EvtPhokhara_pipipi0();
00038 virtual ~EvtPhokhara_pipipi0();
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 private:
00056
00057 void store(EvtDecayBase* jsdecay);
00058
00059
00060 static int nphokharadecays;
00061 static EvtDecayBasePtr* phokharadecays;
00062 static int ntable;
00063
00064 static int ncommand;
00065 static int lcommand;
00066 static std::string* commands;
00067 static int nevt;
00068 static int nevtgen;
00069
00070
00071 int m_nm;
00072 int m_nlo;
00073 double m_w;
00074 int m_pion;
00075
00076 int m_fsr;
00077 int m_fsrnlo;
00078 int m_ivac;
00079 int m_tagged;
00080 int m_NarrowRes;
00081 int m_FF_Kaon;
00082 int m_FF_Pion;
00083 int m_f0_model;
00084 double m_E;
00085 double m_q2min;
00086 double m_q2_min_c;
00087 double m_q2_max_c;
00088 double m_gmin;
00089 double m_phot1cut;
00090 double m_phot2cut;
00091 double m_pi1cut;
00092 double m_pi2cut;
00093
00094 double qqmin,qqmax;
00095 double cos1min,cos1max,cos2min,cos2max,cos3min,cos3max;
00096 double dsigm1,dsigm2,sigma1,sigma2,sigma,dsigm,Ar[14],Ar_r[14];
00097
00098 int ievent;
00099 long int m_initSeed;
00100 double theMmax0, theMmax1;
00101 };
00102
00103 #endif
00104
00105
00106
00107