]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TEvtGen/EvtGenBase/EvtDecayTable.hh
Updates EvtGen Code
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDecayTable.hh
index f7fb0ad30456a68b6b18981dd17322f261fe4b9c..f3d79bc7e7ba302aa5a47d92e0d2d429da745711 100644 (file)
 
 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&) {};
 
 };