class EvtId;
-
-typedef EvtDecayBase* EvtDecayBasePtr;
-
class EvtDecayTable{
public:
- static int getNMode(int ipar);
+ static EvtDecayTable* getInstance();
+
+ int getNMode(int ipar);
- static EvtDecayBase* getDecay(int ipar, int imode);
+ EvtDecayBase* getDecay(int ipar, int imode);
- static void readDecayFile(const std::string dec_name, bool verbose=true);
+ void readDecayFile(const std::string dec_name, bool verbose=true);
+ void readXMLDecayFile(const std::string dec_name, bool verbose=true);
- static int findChannel(EvtId parent,std::string model,int ndaug,
- EvtId *daugs,
- int narg, std::string *args);
+ bool stringToBoolean(std::string valStr);
+ void checkParticle(std::string particle);
+
+ int findChannel(EvtId parent,std::string model,int ndaug,
+ EvtId *daugs,
+ int narg, std::string *args);
- static int inChannelList(EvtId parent, int ndaug, EvtId *daugs);
+ int inChannelList(EvtId parent, int ndaug, EvtId *daugs);
+
+ EvtDecayBase *getDecayFunc(EvtParticle *p);
+
+ void printSummary();
- static EvtDecayBase *getDecayFunc(EvtParticle *p);
+ void checkConj();
- static void printSummary();
+ std::vector<EvtParticleDecayList> getDecayTable() {return _decaytable;};
- static void checkConj();
+ EvtDecayBase* findDecayModel(int aliasInt, int modeInt);
+ EvtDecayBase* findDecayModel(EvtId id, int modeInt);
- static const std::vector<EvtParticleDecayList> & decaytable() {return _decaytable;};
+ bool hasPythia(int aliasInt);
+ bool hasPythia(EvtId id);
+
+ int getNModes(int aliasInt);
+ int getNModes(EvtId id);
+
+ std::vector<std::string> splitString(std::string& theString,
+ std::string& splitter);
+
+protected:
+
+ EvtDecayTable();
+ ~EvtDecayTable();
private:
- static std::vector<EvtParticleDecayList> _decaytable;
+ std::vector<EvtParticleDecayList> _decaytable;
+
+ EvtDecayTable(const EvtDecayTable&) {};
+ //EvtDecayTable& operator=(const EvtDecayTable&) {};
};