herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Pi4ElectronAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_Pi4ElectronAnalysis_H
00003 #define HERWIG_Pi4ElectronAnalysis_H
00004 //
00005 // This is the declaration of the Pi4ElectronAnalysis 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 Pi4ElectronAnalysis: public AnalysisHandler {
00022 
00023 public:
00024 
00044   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00045 
00051   virtual void analyze(const tPVector & particles);
00052 
00057   virtual void analyze(tPPtr particle);
00059 
00060 public:
00061 
00068   static void Init();
00069 
00070 protected:
00071 
00078   inline virtual IBPtr clone() const {return new_ptr(*this);}
00079 
00084   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00086 
00087 protected:
00088 
00095   inline virtual void doinitrun();
00096 
00101   inline virtual void dofinish();
00103 
00104 private:
00105 
00110   static NoPIOClassDescription<Pi4ElectronAnalysis> initPi4ElectronAnalysis;
00111 
00116   Pi4ElectronAnalysis & operator=(const Pi4ElectronAnalysis &);
00117 
00118 private:
00119 
00123   vector<HistogramPtr> _mffbar;
00124 
00125 };
00126 
00127 }
00128 
00129 #include "ThePEG/Utilities/ClassTraits.h"
00130 
00131 namespace ThePEG {
00132 
00137 template <>
00138 struct BaseClassTrait<Herwig::Pi4ElectronAnalysis,1> {
00140   typedef AnalysisHandler NthBase;
00141 };
00142 
00145 template <>
00146 struct ClassTraits<Herwig::Pi4ElectronAnalysis>
00147   : public ClassTraitsBase<Herwig::Pi4ElectronAnalysis> {
00149   static string className() { return "Herwig::Pi4ElectronAnalysis"; }
00157   static string library() { return "HwDecayAnalysis.so"; }
00158 };
00159 
00162 }
00163 
00164 #endif /* HERWIG_Pi4ElectronAnalysis_H */