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