00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of models developed at BES collaboration 00005 // based on the EvtGen framework. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/BesCopyright 00009 // Copyright (A) 2006 Ping Rong-Gang 00010 // 00011 // Module: Modified DIY model, see EvtDeay.cc 00012 // 00013 // Description: Routine to sample the decays using the amplitude specified by users 00014 // This model allow use to specify the intermediate states 00015 // 00016 // Modification history: 00017 // 00018 // Ping R.-G. 4-25, 2010 Module created 00019 // 00020 //------------------------------------------------------------------------ 00021 #ifndef EVTDECAY_H 00022 #define EVTDECAY_H 00023 00024 #include "EvtDecay.h" 00025 #include "EvtGenBase/EvtVector4R.hh" 00026 #include "EvtGenBase/EvtVector3R.hh" 00027 #include "EvtGenBase/EvtHelSys.hh" 00028 #include "EvtGenBase/EvtParticle.hh" 00029 #include "EvtGenBase/EvtParticleFactory.hh" 00030 #include "EvtGen.hh" 00031 #include "EvtGenBase/EvtRandomEngine.hh" 00032 #include "EvtGenBase/EvtDecayTable.hh" 00033 00034 #include <stdlib.h> 00035 #include <string.h> 00036 using std::cout; 00037 using std::endl; 00038 using namespace std; 00039 00040 extern "C" { 00041 extern double myamps_(double *,double *, double *); 00042 } 00043 00044 00045 double EvtDecay::CalAmpsMDIY(EvtParticle* part ){ 00046 double amps=0; 00047 //#include "LcLc.C" 00048 //#include "LcLc2.C" 00049 //#include "Lenu.C" 00050 #include "etaphi.C" 00051 //std::cout<<"amps= "<<amps<<std::endl; 00053 if(amps <=0){ 00054 report(INFO,"EvtGen") << "Amplitude square of modified DIY should be positive, but found to be equal "<<amps<<endl; 00055 abort(); 00056 } else { 00057 return amps; 00058 } 00059 } 00060 00061 00062 #endif