herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
a1DecayAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef HERWIG_a1DecayAnalysis_H
00003 #define HERWIG_a1DecayAnalysis_H
00004 //
00005 // This is the declaration of the a1DecayAnalysis 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 a1DecayAnalysis: 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 doinitrun();
00096 
00101   virtual void dofinish();
00103 
00104 private:
00105 
00109   void findPions(tPPtr part,ParticleVector & pions);
00110 
00111 private:
00112 
00117   static NoPIOClassDescription<a1DecayAnalysis> inita1DecayAnalysis;
00118 
00123   a1DecayAnalysis & operator=(const a1DecayAnalysis &);
00124 
00125 private:
00126 
00130   HistogramPtr _hist0;
00131 
00139   HistogramPtr _hist1A;
00140 
00144   HistogramPtr _hist1B;
00146 
00154   HistogramPtr _hist2A;
00155 
00159   HistogramPtr _hist2B;
00160 
00164   HistogramPtr _hist2C;
00166 
00174   HistogramPtr _hist3A;
00175 
00179   HistogramPtr _hist3B;
00181 };
00182 
00183 }
00184 
00185 #include "ThePEG/Utilities/ClassTraits.h"
00186 
00187 namespace ThePEG {
00188 
00193 template <>
00194 struct BaseClassTrait<Herwig::a1DecayAnalysis,1> {
00196   typedef AnalysisHandler NthBase;
00197 };
00198 
00201 template <>
00202 struct ClassTraits<Herwig::a1DecayAnalysis>
00203   : public ClassTraitsBase<Herwig::a1DecayAnalysis> {
00205   static string className() { return "Herwig::a1DecayAnalysis"; }
00213   static string library() { return "HwDecayAnalysis.so"; }
00214 };
00215 
00218 }
00219 
00220 #endif /* HERWIG_a1DecayAnalysis_H */