Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 // 00003 // ShowerModel.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_ShowerModel_H 00010 #define HERWIG_ShowerModel_H 00011 // 00012 // This is the declaration of the ShowerModel class. 00013 // 00014 #include "ThePEG/Interface/Interfaced.h" 00015 #include "KinematicsReconstructor.fh" 00016 #include "PartnerFinder.fh" 00017 #include "SudakovFormFactor.fh" 00018 #include "ShowerModel.fh" 00019 00020 namespace Herwig { 00021 00022 using namespace ThePEG; 00023 00045 class ShowerModel: public Interfaced { 00046 00047 public: 00048 00056 tKinematicsReconstructorPtr kinematicsReconstructor() const { return _reconstructor; } 00057 00061 tPartnerFinderPtr partnerFinder() const { return _partnerfinder; } 00062 00066 const vector<SudakovPtr> & sudakovFormFactors() const { return _sudakovs; } 00068 00069 public: 00070 00077 void persistentOutput(PersistentOStream & os) const; 00078 00084 void persistentInput(PersistentIStream & is, int version); 00086 00093 static void Init(); 00094 00095 00096 protected: 00097 00102 virtual void checkConsistency() =0; 00103 00111 virtual void doinit(); 00113 00114 private: 00115 00120 ShowerModel & operator=(const ShowerModel &); 00121 00122 private: 00123 00131 KinematicsReconstructorPtr _reconstructor; 00132 00136 PartnerFinderPtr _partnerfinder; 00137 00141 vector<SudakovPtr> _sudakovs; 00143 00144 }; 00145 00146 } 00147 00148 #endif /* HERWIG_ShowerModel_H */