00001 // -*- C++ -*- 00002 // 00003 // SpinBase.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_SpinBase_H 00010 #define ThePEG_SpinBase_H 00011 // This is the declaration of the SpinBase class. 00012 00013 #include "ThePEG/EventRecord/EventInfoBase.h" 00014 00015 namespace ThePEG { 00016 00031 class SpinBase: public EventInfoBase { 00032 00033 public: 00034 00039 virtual bool hasPolarization() const { return false; } 00040 00049 virtual DPair polarization() const { return DPair(); } 00050 00056 virtual void transform(const LorentzMomentum &, const LorentzRotation &) {} 00057 00058 public: 00059 00063 static void Init() {} 00064 00068 virtual EIPtr clone() const { return new_ptr(*this); } 00069 00070 private: 00071 00075 static NoPIOClassDescription<SpinBase> initSpinBase; 00076 00080 SpinBase & operator=(const SpinBase &); 00081 00082 }; 00083 00084 00086 ThePEG_DECLARE_CLASS_TRAITS(SpinBase,EventInfoBase); 00089 } 00090 00091 #endif /* ThePEG_SpinBase_H */