Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_OniumToOniumPiPiAnalysis_H 00003 #define HERWIG_OniumToOniumPiPiAnalysis_H 00004 // 00005 // This is the declaration of the OniumToOniumPiPiAnalysis 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 00023 class OniumToOniumPiPiAnalysis: public AnalysisHandler { 00024 00025 public: 00026 00046 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00047 00053 virtual void analyze(const tPVector & particles); 00054 00059 virtual void analyze(tPPtr particle); 00061 00062 public: 00063 00070 static void Init(); 00071 00072 protected: 00073 00080 inline virtual IBPtr clone() const {return new_ptr(*this);} 00081 00086 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00088 00089 00090 protected: 00091 00098 virtual void dofinish(); 00100 00101 private: 00102 00107 static NoPIOClassDescription<OniumToOniumPiPiAnalysis> initOniumToOniumPiPiAnalysis; 00108 00113 OniumToOniumPiPiAnalysis & operator=(const OniumToOniumPiPiAnalysis &); 00114 00115 private: 00116 00120 vector<long> _incoming; 00121 00125 vector<long> _outgoing; 00126 00130 vector<pair<HistogramPtr,HistogramPtr> > _mpipi; 00131 00135 vector<pair<HistogramPtr,HistogramPtr> > _hel; 00136 00137 }; 00138 00139 } 00140 00141 #include "ThePEG/Utilities/ClassTraits.h" 00142 00143 namespace ThePEG { 00144 00149 template <> 00150 struct BaseClassTrait<Herwig::OniumToOniumPiPiAnalysis,1> { 00152 typedef AnalysisHandler NthBase; 00153 }; 00154 00157 template <> 00158 struct ClassTraits<Herwig::OniumToOniumPiPiAnalysis> 00159 : public ClassTraitsBase<Herwig::OniumToOniumPiPiAnalysis> { 00161 static string className() { return "Herwig::OniumToOniumPiPiAnalysis"; } 00169 static string library() { return "HwDecayAnalysis.so"; } 00170 }; 00171 00174 } 00175 00176 #endif /* HERWIG_OniumToOniumPiPiAnalysis_H */