herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
SemiLeptonicDecayAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_SemiLeptonicDecayAnalysis_H
00003 #define HERWIG_SemiLeptonicDecayAnalysis_H
00004 //
00005 // This is the declaration of the SemiLeptonicDecayAnalysis 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 SemiLeptonicDecayAnalysis: public AnalysisHandler {
00023 
00024 public:
00025 
00045   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00046 
00052   virtual void analyze(const tPVector & particles);
00053 
00058   virtual void analyze(tPPtr particle);
00060 
00061 public:
00062 
00069   static void Init();
00070 
00071 protected:
00072 
00079   inline virtual IBPtr clone() const {return new_ptr(*this);}
00080 
00085   inline virtual IBPtr fullclone() const {return new_ptr(*this);}
00087 
00088 protected:
00089 
00096   virtual void dofinish();
00098 
00099 private:
00100 
00105   static NoPIOClassDescription<SemiLeptonicDecayAnalysis> initSemiLeptonicDecayAnalysis;
00106 
00111   SemiLeptonicDecayAnalysis & operator=(const SemiLeptonicDecayAnalysis &);
00112 
00113 private:
00114 
00118   vector<long> _incoming;
00119 
00123   vector<long> _outgoing;  
00124 
00128   vector<long> _outgoingL;
00129 
00137   vector<HistogramPtr> _energy;
00138 
00142   vector<HistogramPtr> _scale;
00144 };
00145 
00146 }
00147 
00148 #include "ThePEG/Utilities/ClassTraits.h"
00149 
00150 namespace ThePEG {
00151 
00156 template <>
00157 struct BaseClassTrait<Herwig::SemiLeptonicDecayAnalysis,1> {
00159   typedef AnalysisHandler NthBase;
00160 };
00161 
00164 template <>
00165 struct ClassTraits<Herwig::SemiLeptonicDecayAnalysis>
00166   : public ClassTraitsBase<Herwig::SemiLeptonicDecayAnalysis> {
00168   static string className() { return "Herwig::SemiLeptonicDecayAnalysis"; }
00176   static string library() { return "HwDecayAnalysis.so"; }
00177 };
00178 
00181 }
00182 
00183 #endif /* HERWIG_SemiLeptonicDecayAnalysis_H */