herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
TauTo4MesonAnalysis.h
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 */