]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtDecayTable.hh
Removing the flat makefiles
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDecayTable.hh
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