Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_ZpTRun1_H 00003 #define HERWIG_ZpTRun1_H 00004 // 00005 // This is the declaration of the ZpTRun1 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 ZpTRun1: public AnalysisHandler { 00023 00024 public: 00025 00031 inline ZpTRun1() {} 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<ZpTRun1> initZpTRun1; 00125 00130 ZpTRun1 & operator=(const ZpTRun1 &); 00131 00132 }; 00133 00134 } 00135 00136 #include "ThePEG/Utilities/ClassTraits.h" 00137 00138 namespace ThePEG { 00139 00144 template <> 00145 struct BaseClassTrait<Herwig::ZpTRun1,1> { 00147 typedef AnalysisHandler NthBase; 00148 }; 00149 00152 template <> 00153 struct ClassTraits<Herwig::ZpTRun1> 00154 : public ClassTraitsBase<Herwig::ZpTRun1> { 00156 static string className() { return "Herwig::ZpTRun1"; } 00164 static string library() { return "HwTevatronAnalysis.so"; } 00165 }; 00166 00169 } 00170 00171 #endif /* HERWIG_ZpTRun1_H */ 00172 00173