herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
PScalarVectorFermionsAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_PScalarVectorFermionsAnalysis_H
00003 #define HERWIG_PScalarVectorFermionsAnalysis_H
00004 //
00005 // This is the declaration of the PScalarVectorFermionsAnalysis 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 PScalarVectorFermionsAnalysis: 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 dofinish();
00097 
00098 private:
00099 
00104   static NoPIOClassDescription<PScalarVectorFermionsAnalysis> initPScalarVectorFermionsAnalysis;
00105 
00110   PScalarVectorFermionsAnalysis & operator=(const PScalarVectorFermionsAnalysis &);
00111 
00112 private:
00113 
00117   vector<long> _incoming;
00118 
00122   vector<long> _outgoingV;
00123 
00127   vector<int> _outgoingf;
00128 
00132   vector<HistogramPtr> _mffa;
00133 
00137   vector<HistogramPtr> _mffb;
00138 
00142   vector<HistogramPtr> _mVf;
00143 
00147   vector<HistogramPtr> _mVfbar;
00148 };
00149 
00150 }
00151 
00152 #include "ThePEG/Utilities/ClassTraits.h"
00153 
00154 namespace ThePEG {
00155 
00160 template <>
00161 struct BaseClassTrait<Herwig::PScalarVectorFermionsAnalysis,1> {
00163   typedef AnalysisHandler NthBase;
00164 };
00165 
00168 template <>
00169 struct ClassTraits<Herwig::PScalarVectorFermionsAnalysis>
00170   : public ClassTraitsBase<Herwig::PScalarVectorFermionsAnalysis> {
00172   static string className() { return "Herwig::PScalarVectorFermionsAnalysis"; }
00180   static string library() { return "HwDecayAnalysis.so"; }
00181 };
00182 
00185 }
00186 
00187 #endif /* HERWIG_PScalarVectorFermionsAnalysis_H */