1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtDecayTable.hh
13 // Description: Class to read in and handle the decays available
14 // to EvtGen for each particle, and the model to be
17 // Modification history:
19 // DJL/RYD September 25, 1996 Module created
21 //------------------------------------------------------------------------
23 #ifndef EVTDECAYTABLE_HH
24 #define EVTDECAYTABLE_HH
26 #include "EvtGenBase/EvtDecayBase.hh"
27 #include "EvtGenBase/EvtParticleDecayList.hh"
33 typedef EvtDecayBase* EvtDecayBasePtr;
39 static int getNMode(int ipar);
41 static EvtDecayBase* getDecay(int ipar, int imode);
43 static void readDecayFile(const std::string dec_name, bool verbose=true);
45 static int findChannel(EvtId parent,std::string model,int ndaug,
47 int narg, std::string *args);
49 static int inChannelList(EvtId parent, int ndaug, EvtId *daugs);
51 static EvtDecayBase *getDecayFunc(EvtParticle *p);
53 static void printSummary();
55 static void checkConj();
57 static const std::vector<EvtParticleDecayList> & decaytable() {return _decaytable;};
61 static std::vector<EvtParticleDecayList> _decaytable;