herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Wpt.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_Wpt_H
00003 #define HERWIG_Wpt_H
00004 //
00005 // This is the declaration of the Wpt class.
00006 //
00007 #include "ThePEG/Repository/CurrentGenerator.h"
00008 #include "ThePEG/Repository/EventGenerator.h"
00009 #include "ThePEG/Handlers/AnalysisHandler.h"
00010 #include "Herwig++/Utilities/Histogram.h"
00011 
00012 
00013 namespace Herwig {
00014   
00015   using namespace ThePEG;
00022   class Wpt: public AnalysisHandler {
00023     
00024   public:
00025 
00031     inline Wpt() {}
00032 
00033   public:
00034     
00054     virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00055     
00056 
00057   public:
00058     
00065     void persistentOutput(PersistentOStream & os) const;
00066     
00072     void persistentInput(PersistentIStream & is, int version);
00074 
00081     static void Init();
00082     
00087     virtual void doinitrun();
00088     
00093     virtual void dofinish();
00094     
00095   protected:
00096     
00103   inline virtual IBPtr clone() const;
00104 
00109   inline virtual IBPtr fullclone() const;
00111 
00112   
00113   private:
00114 
00118     HistogramPtr  _hpt;
00119   
00124     static ClassDescription<Wpt> initWpt;
00125     
00130     Wpt & operator=(const Wpt &);
00131     
00132   };
00133   
00134 }
00135 
00136 #include "ThePEG/Utilities/ClassTraits.h"
00137 
00138 namespace ThePEG {
00139   
00144   template <>
00145  struct BaseClassTrait<Herwig::Wpt,1> {
00147     typedef AnalysisHandler NthBase;
00148   };
00149 
00152   template <>
00153   struct ClassTraits<Herwig::Wpt>
00154     : public ClassTraitsBase<Herwig::Wpt> {
00156     static string className() { return "Herwig::Wpt"; }
00164     static string library() { return "HwTevatronAnalysis.so"; }
00165   };
00166   
00169 }
00170 
00171 #endif /* HERWIG_Wpt_H */
00172 
00173