]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | //-------------------------------------------------------------------------- |
2 | // | |
3 | // Environment: | |
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. | |
7 | // | |
8 | // Copyright Information: See EvtGen/COPYRIGHT | |
9 | // Copyright (C) 1998 Caltech, UCSB | |
10 | // | |
11 | // Module: EvtGen/EvtDecayTable.hh | |
12 | // | |
13 | // Description: Class to read in and handle the decays available | |
14 | // to EvtGen for each particle, and the model to be | |
15 | // used for each one. | |
16 | // | |
17 | // Modification history: | |
18 | // | |
19 | // DJL/RYD September 25, 1996 Module created | |
20 | // | |
21 | //------------------------------------------------------------------------ | |
22 | ||
23 | #ifndef EVTDECAYTABLE_HH | |
24 | #define EVTDECAYTABLE_HH | |
25 | ||
26 | #include "EvtGenBase/EvtDecayBase.hh" | |
27 | #include "EvtGenBase/EvtParticleDecayList.hh" | |
28 | #include <vector> | |
29 | ||
30 | class EvtId; | |
31 | ||
32 | ||
33 | typedef EvtDecayBase* EvtDecayBasePtr; | |
34 | ||
35 | class EvtDecayTable{ | |
36 | ||
37 | public: | |
38 | ||
39 | static int getNMode(int ipar); | |
40 | ||
41 | static EvtDecayBase* getDecay(int ipar, int imode); | |
42 | ||
43 | static void readDecayFile(const std::string dec_name, bool verbose=true); | |
44 | ||
45 | static int findChannel(EvtId parent,std::string model,int ndaug, | |
46 | EvtId *daugs, | |
47 | int narg, std::string *args); | |
48 | ||
49 | static int inChannelList(EvtId parent, int ndaug, EvtId *daugs); | |
50 | ||
51 | static EvtDecayBase *getDecayFunc(EvtParticle *p); | |
52 | ||
53 | static void printSummary(); | |
54 | ||
55 | static void checkConj(); | |
56 | ||
57 | static const std::vector<EvtParticleDecayList> & decaytable() {return _decaytable;}; | |
58 | ||
59 | private: | |
60 | ||
61 | static std::vector<EvtParticleDecayList> _decaytable; | |
62 | ||
63 | }; | |
64 | ||
65 | #endif | |
66 | ||
67 |