herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
QTildeFinder.h
00001 // -*- C++ -*-
00002 //
00003 // QTildeFinder.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_QTildeFinder_H
00010 #define HERWIG_QTildeFinder_H
00011 //
00012 // This is the declaration of the QTildeFinder class.
00013 //
00014 
00015 #include "Herwig++/Shower/Base/PartnerFinder.h"
00016 #include "Herwig++/Shower/ShowerConfig.h"
00017 #include "ThePEG/Interface/Interfaced.h"
00018 
00019 namespace Herwig {
00020 using namespace ThePEG;
00021 
00031 class QTildeFinder: public PartnerFinder {
00032 
00033 public:
00034 
00038   QTildeFinder() :  _finalFinalConditions(0),
00039                     _initialFinalDecayConditions(0),
00040                     _initialInitialConditions(0) {}
00041 
00048   void persistentOutput(PersistentOStream & os) const;
00049 
00055   void persistentInput(PersistentIStream & is, int version);
00057 
00064   static void Init();
00065 
00066 protected:
00067 
00079   virtual pair<Energy,Energy> calculateFinalFinalScales(const ShowerPPair &);
00080 
00084   virtual pair<Energy,Energy> calculateInitialInitialScales(const ShowerPPair &);
00085 
00090   virtual pair<Energy,Energy> calculateInitialFinalScales(const ShowerPPair &,
00091                                                           const bool isDecayCase);
00093 
00105   unsigned int finalFinalConditions() const 
00106   {return _finalFinalConditions;}
00107 
00114   unsigned int initialFinalDecayConditions() const
00115   {return _initialFinalDecayConditions;}
00117 
00118 protected:
00119 
00126   virtual IBPtr clone() const {return new_ptr(*this);}
00127 
00132   virtual IBPtr fullclone() const {return new_ptr(*this);}
00134 
00135 private:
00136 
00141   QTildeFinder & operator=(const QTildeFinder &);
00142 
00143 private:
00144 
00153   unsigned int _finalFinalConditions; 
00154 
00169   unsigned int _initialFinalDecayConditions;
00170 
00180   unsigned int _initialInitialConditions;
00182 };
00183 
00184 }
00185 
00186 #endif /* HERWIG_QTildeFinder_H */