Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_Pi4ElectronAnalysis_H 00003 #define HERWIG_Pi4ElectronAnalysis_H 00004 // 00005 // This is the declaration of the Pi4ElectronAnalysis 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 Pi4ElectronAnalysis: 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 inline virtual void doinitrun(); 00096 00101 inline virtual void dofinish(); 00103 00104 private: 00105 00110 static NoPIOClassDescription<Pi4ElectronAnalysis> initPi4ElectronAnalysis; 00111 00116 Pi4ElectronAnalysis & operator=(const Pi4ElectronAnalysis &); 00117 00118 private: 00119 00123 vector<HistogramPtr> _mffbar; 00124 00125 }; 00126 00127 } 00128 00129 #include "ThePEG/Utilities/ClassTraits.h" 00130 00131 namespace ThePEG { 00132 00137 template <> 00138 struct BaseClassTrait<Herwig::Pi4ElectronAnalysis,1> { 00140 typedef AnalysisHandler NthBase; 00141 }; 00142 00145 template <> 00146 struct ClassTraits<Herwig::Pi4ElectronAnalysis> 00147 : public ClassTraitsBase<Herwig::Pi4ElectronAnalysis> { 00149 static string className() { return "Herwig::Pi4ElectronAnalysis"; } 00157 static string library() { return "HwDecayAnalysis.so"; } 00158 }; 00159 00162 } 00163 00164 #endif /* HERWIG_Pi4ElectronAnalysis_H */