herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
BtoSGammaAnalysis.h
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 */