00001 // -*- C++ -*- 00002 // 00003 // DalitzDecayer.h is a part of ThePEG - Toolkit for HEP Event Generation 00004 // Copyright (C) 1999-2007 Leif Lonnblad 00005 // 00006 // ThePEG is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef THEPEG_DalitzDecayer_H 00010 #define THEPEG_DalitzDecayer_H 00011 // This is the declaration of the DalitzDecayer class. 00012 00013 #include "ThePEG/PDT/Decayer.h" 00014 // #include "DalitzDecayer.fh" 00015 // #include "DalitzDecayer.xh" 00016 00017 namespace ThePEG { 00018 00026 class DalitzDecayer: public Decayer { 00027 00028 public: 00029 00035 virtual ~DalitzDecayer(); 00037 00038 public: 00039 00049 virtual bool accept(const DecayMode & dm) const; 00050 00057 virtual ParticleVector decay(const DecayMode & dm, const Particle & p) const; 00059 00060 public: 00061 00068 void persistentOutput(PersistentOStream & os) const; 00069 00075 void persistentInput(PersistentIStream & is, int version); 00077 00081 static void Init(); 00082 00083 protected: 00084 00091 virtual IBPtr clone() const; 00092 00097 virtual IBPtr fullclone() const; 00099 00100 protected: 00101 00109 virtual void doinit(); 00110 00120 virtual void rebind(const TranslationMap & trans) 00121 ; 00122 00128 virtual IVector getReferences(); 00130 00131 private: 00132 00136 PDPtr rho; 00137 00138 private: 00139 00143 static ClassDescription<DalitzDecayer> initDalitzDecayer; 00144 00148 DalitzDecayer & operator=(const DalitzDecayer &); 00149 00150 }; 00151 00152 } 00153 00154 00155 namespace ThePEG { 00156 00161 template <> 00162 struct BaseClassTrait<DalitzDecayer,1>: public ClassTraitsType { 00164 typedef Decayer NthBase; 00165 }; 00166 00170 template <> 00171 struct ClassTraits<DalitzDecayer> 00172 : public ClassTraitsBase<DalitzDecayer> { 00174 static string className() { return "ThePEG::DalitzDecayer"; } 00178 static string library() { return "DalitzDecayer.so"; } 00179 00180 }; 00181 00184 } 00185 00186 #endif /* THEPEG_DalitzDecayer_H */