Herwig++
2.7.0
|
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 */