Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_BtoSGammaAnalysis_H 00003 #define HERWIG_BtoSGammaAnalysis_H 00004 // 00005 // This is the declaration of the BtoSGammaAnalysis 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 BtoSGammaAnalysis: 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 00110 static NoPIOClassDescription<BtoSGammaAnalysis> initBtoSGammaAnalysis; 00111 00116 BtoSGammaAnalysis & operator=(const BtoSGammaAnalysis &); 00117 00118 private: 00119 00123 vector<HistogramPtr> _hadmass; 00124 00128 vector<HistogramPtr> _spectrum; 00129 }; 00130 00131 } 00132 00133 #include "ThePEG/Utilities/ClassTraits.h" 00134 00135 namespace ThePEG { 00136 00141 template <> 00142 struct BaseClassTrait<Herwig::BtoSGammaAnalysis,1> { 00144 typedef AnalysisHandler NthBase; 00145 }; 00146 00149 template <> 00150 struct ClassTraits<Herwig::BtoSGammaAnalysis> 00151 : public ClassTraitsBase<Herwig::BtoSGammaAnalysis> { 00153 static string className() { return "Herwig::BtoSGammaAnalysis"; } 00161 static string library() { return "HwDecayAnalysis.so"; } 00162 }; 00163 00166 } 00167 00168 #endif /* HERWIG_BtoSGammaAnalysis_H */