herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
OmegaPhi3PionAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_OmegaPhi3PionAnalysis_H
00003 #define HERWIG_OmegaPhi3PionAnalysis_H
00004 //
00005 // This is the declaration of the OmegaPhi3PionAnalysis class.
00006 //
00007 
00008 #include "ThePEG/Handlers/AnalysisHandler.h"
00009 #include "Herwig++/Utilities/Histogram.h"
00010 
00011 namespace Herwig {
00012 
00013 using namespace ThePEG;
00014 
00021 class OmegaPhi3PionAnalysis: public AnalysisHandler {
00022 
00023 public:
00024 
00028   inline OmegaPhi3PionAnalysis() : _nmax(50000) {}
00029 
00049   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00050 
00056   virtual void analyze(const tPVector & particles);
00057 
00062   virtual void analyze(tPPtr particle);
00064 
00065 public:
00066 
00073   static void Init();
00074 
00075 protected:
00076 
00083   inline virtual IBPtr clone() const {return new_ptr(*this);}
00084 
00089   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00091 
00092 protected:
00093 
00100   virtual void doinitrun();
00101 
00106   virtual void dofinish();
00108 
00109 private:
00110 
00115   static NoPIOClassDescription<OmegaPhi3PionAnalysis> initOmegaPhi3PionAnalysis;
00116 
00121   OmegaPhi3PionAnalysis & operator=(const OmegaPhi3PionAnalysis &);
00122 
00123 private:
00124 
00128   vector<HistogramPtr> _xhist;
00129 
00133   vector<HistogramPtr> _yhist;
00134 
00142   vector<HistogramPtr> _mplus;
00143 
00147   vector<HistogramPtr> _mminus;
00148 
00152   vector<HistogramPtr> _m0;
00154 
00161   vector<vector<Energy> > _xvalue;
00162 
00166   vector<vector<Energy> > _yvalue;
00168 
00172   unsigned int _nmax;
00173 };
00174 
00175 }
00176 
00177 #include "ThePEG/Utilities/ClassTraits.h"
00178 
00179 namespace ThePEG {
00180 
00185 template <>
00186 struct BaseClassTrait<Herwig::OmegaPhi3PionAnalysis,1> {
00188   typedef AnalysisHandler NthBase;
00189 };
00190 
00193 template <>
00194 struct ClassTraits<Herwig::OmegaPhi3PionAnalysis>
00195   : public ClassTraitsBase<Herwig::OmegaPhi3PionAnalysis> {
00197   static string className() { return "Herwig::OmegaPhi3PionAnalysis"; }
00205   static string library() { return "HwDecayAnalysis.so"; }
00206 };
00207 
00210 }
00211 
00212 #endif /* HERWIG_OmegaPhi3PionAnalysis_H */