herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
QTildeShowerKinematics1to2.h
00001 // -*- C++ -*-
00002 //
00003 // QTildeShowerKinematics1to2.h is a part of Herwig++ - A multi-purpose Monte Carlo event generator
00004 // Copyright (C) 2002-2011 The Herwig Collaboration
00005 //
00006 // Herwig++ 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 HERWIG_QTildeShowerKinematics1to2_H
00010 #define HERWIG_QTildeShowerKinematics1to2_H
00011 //
00012 // This is the declaration of the QTildeShowerKinematics1to2 class.
00013 //
00014 
00015 #include "Herwig++/Shower/Base/ShowerKinematics.h"
00016 #include "ThePEG/Vectors/Lorentz5Vector.h"
00017 #include "QTildeShowerKinematics1to2.fh"
00018 
00019 namespace Herwig {
00020 
00021 using namespace ThePEG;
00022 
00034 class QTildeShowerKinematics1to2: public ShowerKinematics {
00035 
00036 public:
00037 
00044   virtual vector<Lorentz5Momentum> getBasis() const; 
00045 
00049   const Lorentz5Momentum & pVector() const {return _pVector;}
00050 
00054   const Lorentz5Momentum & nVector() const {return _nVector;}
00055 
00059   Energy2 p_dot_n() const {return _pVector*_nVector;}
00060 
00074   Lorentz5Momentum sudakov2Momentum(double alpha, double beta, Energy px, Energy py,
00075                                     unsigned int iopt) const;
00076 
00077 protected:
00078 
00082   void setBasis(const Lorentz5Momentum &p, const Lorentz5Momentum & n);
00083 
00084 private:
00085 
00090   QTildeShowerKinematics1to2 & operator=(const QTildeShowerKinematics1to2 &);
00091 
00092 private:
00093 
00097   Lorentz5Momentum _pVector;
00098 
00102   Lorentz5Momentum _nVector;
00103 
00104 };
00105 
00106 }
00107 
00108 #endif /* HERWIG_QTildeShowerKinematics1to2_H */