00001 // -*- C++ -*- 00002 // 00003 // BreitWignerMass.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_BreitWignerMass_H 00010 #define ThePEG_BreitWignerMass_H 00011 // This is the declaration of the BreitWignerMass class. 00012 00013 #include "ThePEG/PDT/MassGenerator.h" 00014 00015 namespace ThePEG { 00016 00027 class BreitWignerMass: public MassGenerator { 00028 00029 public: 00030 00037 virtual bool accept(const ParticleData &) const { return true; } 00038 00042 virtual Energy mass(const ParticleData &) const; 00044 00045 public: 00046 00050 static void Init(); 00051 00052 protected: 00053 00060 virtual IBPtr clone() const; 00061 00066 virtual IBPtr fullclone() const; 00068 00069 private: 00070 00074 static NoPIOClassDescription<BreitWignerMass> initBreitWignerMass; 00075 00079 BreitWignerMass & operator=(const BreitWignerMass &); 00080 00081 }; 00082 00083 00085 ThePEG_DECLARE_DYNAMIC_CLASS_TRAITS(BreitWignerMass,MassGenerator,"BreitWignerMass.so"); 00088 } 00089 00090 #endif /* ThePEG_BreitWignerMass_H */