]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenBase/EvtDecayTable.hh
New plots for trending injector efficiencies (Melinda)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDecayTable.hh
CommitLineData
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
30class EvtId;
31
32
33typedef EvtDecayBase* EvtDecayBasePtr;
34
35class EvtDecayTable{
36
37public:
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
59private:
60
61 static std::vector<EvtParticleDecayList> _decaytable;
62
63};
64
65#endif
66
67