00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/COPYRIGHT 00009 // Copyright (C) 1998 Caltech, UCSB 00010 // 00011 // Module: EvtGen/EvtPhsp.hh 00012 // 00013 // Description: 00014 //Class to handle generic phase space decays not done 00015 //in other decay models. 00016 // 00017 // Modification history: 00018 // 00019 // DJL/RYD August 11, 1998 Module created 00020 // 00021 //------------------------------------------------------------------------ 00022 00023 #ifndef EVTCALHELAMP_HH 00024 #define EVTCALHELAMP_HH 00025 00026 #include "EvtGenBase/EvtDecayIncoherent.hh" 00027 #include "EvtGenBase/EvtBlattWeisskopf.hh" 00028 00029 #include <vector> 00030 #include <fstream> 00031 #include <iostream> 00032 #include <stdlib.h> 00033 #include <sstream> 00034 #include <stdlib.h> 00035 #include <string.h> 00036 #include <math.h> 00037 00038 00039 using namespace std; 00040 class EvtParticle; 00041 00042 class EvtCalHelAmp:public EvtDecayIncoherent { 00043 00044 public: 00045 00046 EvtCalHelAmp() {} 00047 virtual ~EvtCalHelAmp(); 00048 00049 void getName(std::string& name); 00050 00051 EvtDecayBase* clone(); 00052 00053 void initProbMax(); 00054 00055 void init(); 00056 void decay(EvtParticle *p); 00057 std::vector<double> firstder(std::vector<double> vh); 00058 static double _H2,_H1,_H0,_H2err,_H1err,_H0err; 00059 static int nevt; 00060 private: 00061 vector<vector<double > > VC; 00062 int nd; 00063 int flag; 00064 }; 00065 00066 #endif 00067