Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_TauTo4MesonAnalysis_H 00003 #define HERWIG_TauTo4MesonAnalysis_H 00004 // 00005 // This is the declaration of the TauTo4MesonAnalysis class. 00006 // 00007 00008 #include "ThePEG/Repository/CurrentGenerator.h" 00009 #include "ThePEG/Handlers/AnalysisHandler.h" 00010 #include "Herwig++/Utilities/Histogram.h" 00011 00012 namespace Herwig { 00013 00014 using namespace ThePEG; 00015 00022 class TauTo4MesonAnalysis: public AnalysisHandler { 00023 00024 public: 00025 00045 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00046 00047 using AnalysisHandler::analyze; 00049 00050 public: 00051 00058 static void Init(); 00059 00060 protected: 00061 00068 inline virtual IBPtr clone() const {return new_ptr(*this);} 00069 00074 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00076 00077 protected: 00078 00085 virtual void doinitrun(); 00086 00091 virtual void dofinish(); 00093 00094 private: 00095 00100 static NoPIOClassDescription<TauTo4MesonAnalysis> initTauTo4MesonAnalysis; 00101 00106 TauTo4MesonAnalysis & operator=(const TauTo4MesonAnalysis &); 00107 00108 private: 00109 00113 vector<HistogramPtr> _mpipi; 00114 00118 vector<HistogramPtr> _mpipipi; 00119 00123 vector<HistogramPtr> _mpipipipi; 00124 }; 00125 00126 } 00127 00128 #include "ThePEG/Utilities/ClassTraits.h" 00129 00130 namespace ThePEG { 00131 00136 template <> 00137 struct BaseClassTrait<Herwig::TauTo4MesonAnalysis,1> { 00139 typedef AnalysisHandler NthBase; 00140 }; 00141 00144 template <> 00145 struct ClassTraits<Herwig::TauTo4MesonAnalysis> 00146 : public ClassTraitsBase<Herwig::TauTo4MesonAnalysis> { 00148 static string className() { return "Herwig::TauTo4MesonAnalysis"; } 00156 static string library() { return "HwTauAnalysis.so"; } 00157 }; 00158 00161 } 00162 00163 #endif /* HERWIG_TauTo4MesonAnalysis_H */