Herwig++
2.7.0
|
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 */