herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
AcerDetInterface/ZAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_ZAnalysis_H
00003 #define HERWIG_ZAnalysis_H
00004 //
00005 // This is the declaration of the ZAnalysis class.
00006 //
00007 
00008 #include "AcerDet.h"
00009 #include "Herwig++/Utilities/Histogram.h"
00010 
00011 namespace Herwig {
00012 
00013 using namespace ThePEG;
00014 
00022 class ZAnalysis: public AcerDet {
00023 
00024 public:
00025 
00029   ZAnalysis();
00030 
00050   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00052 
00053 public:
00054 
00061   static void Init();
00062 
00063 protected:
00064 
00071   virtual IBPtr clone() const;
00072 
00077   virtual IBPtr fullclone() const;
00079 
00080 protected:
00081 
00088   virtual void dofinish();
00090 
00091 
00092 private:
00093 
00098   static NoPIOClassDescription<ZAnalysis> initZAnalysis;
00099 
00104   ZAnalysis & operator=(const ZAnalysis &);
00105 
00106 private:
00107 
00111   Histogram ZmassHadron_;
00112 
00116   Histogram ZmassDetector_;
00117 
00118 };
00119 
00120 }
00121 
00122 #include "ThePEG/Utilities/ClassTraits.h"
00123 
00124 namespace ThePEG {
00125 
00130 template <>
00131 struct BaseClassTrait<Herwig::ZAnalysis,1> {
00133   typedef Herwig::AcerDet NthBase;
00134 };
00135 
00138 template <>
00139 struct ClassTraits<Herwig::ZAnalysis>
00140   : public ClassTraitsBase<Herwig::ZAnalysis> {
00142   static string className() { return "Herwig::ZAnalysis"; }
00150   static string library() { return "HwAcerDet.so ZAnalysis.so"; }
00151 };
00152 
00155 }
00156 
00157 #endif /* HERWIG_ZAnalysis_H */