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