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/EvtDecayParm.hh 00012 // 00013 // Description: Class to keep the arguments and daughters of a decay 00014 // 00015 // Modification history: 00016 // 00017 // RYD April 5, 1997 Module created 00018 // 00019 //------------------------------------------------------------------------ 00020 00021 #ifndef EVTDECAYPARM_HH 00022 #define EVTDECAYPARM_HH 00023 00024 00025 #include <string> 00026 00027 class EvtParticle; 00028 00029 typedef void ( *fcnPtr ) ( EvtParticle *,int,int *,double* ); 00030 00031 class EvtDecayParm { 00032 00033 public: 00034 00035 EvtDecayParm(); 00036 ~EvtDecayParm(); 00037 00038 void init(fcnPtr pfcn, int ndaug, int *daugs, int narg, 00039 double *args, std::string name); 00040 00041 int GetNDaug() {return itsndaug; } 00042 int GetNArg() {return itsnarg; } 00043 int* GetDaugs() {return itsdaugs; } 00044 double* GetArgs() {return itsargs; } 00045 fcnPtr GetfcnPtr() {return itsfcn; } 00046 std::string GetModelName() {return modelname; } 00047 00048 private: 00049 00050 00051 fcnPtr itsfcn; 00052 int itsndaug; 00053 int* itsdaugs; 00054 int itsnarg; 00055 double* itsargs; 00056 std::string modelname; 00057 00058 00059 }; 00060 00061 #endif 00062