Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 // 00003 // CLEOCharmAnalysis.h is a part of Herwig++ - A multi-purpose Monte Carlo event generator 00004 // Copyright (C) 2002-2011 The Herwig Collaboration 00005 // 00006 // Herwig++ is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef HERWIG_CLEOCharmAnalysis_H 00010 #define HERWIG_CLEOCharmAnalysis_H 00011 // 00012 // This is the declaration of the CLEOCharmAnalysis class. 00013 // 00014 00015 #include "ThePEG/Handlers/AnalysisHandler.h" 00016 #include "Herwig++/Utilities/Histogram.h" 00017 00018 namespace Herwig { 00019 00020 using namespace ThePEG; 00021 00029 class CLEOCharmAnalysis: public AnalysisHandler { 00030 00031 public: 00032 00036 CLEOCharmAnalysis() : _s() {} 00037 00057 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00058 00064 virtual void analyze(tPPtr particle, double weight); 00065 00066 using AnalysisHandler::analyze; 00068 00069 public: 00070 00077 static void Init(); 00078 00079 protected: 00080 00087 virtual IBPtr clone() const {return new_ptr(*this);} 00088 00093 virtual IBPtr fullclone() const {return new_ptr(*this);} 00095 00096 protected: 00097 00104 virtual void doinitrun(); 00105 00110 virtual void dofinish(); 00112 00113 private: 00114 00119 static NoPIOClassDescription<CLEOCharmAnalysis> initCLEOCharmAnalysis; 00120 00125 CLEOCharmAnalysis & operator=(const CLEOCharmAnalysis &); 00126 00127 private: 00128 00136 HistogramPtr _histDplus; 00137 00141 HistogramPtr _histD0; 00142 00146 HistogramPtr _histDstarplus; 00147 00151 HistogramPtr _histDstar0; 00153 00157 Energy2 _s; 00158 }; 00159 00160 } 00161 00162 #include "ThePEG/Utilities/ClassTraits.h" 00163 00164 namespace ThePEG { 00165 00170 template <> 00171 struct BaseClassTrait<Herwig::CLEOCharmAnalysis,1> { 00173 typedef AnalysisHandler NthBase; 00174 }; 00175 00178 template <> 00179 struct ClassTraits<Herwig::CLEOCharmAnalysis> 00180 : public ClassTraitsBase<Herwig::CLEOCharmAnalysis> { 00182 static string className() { return "Herwig::CLEOCharmAnalysis"; } 00190 static string library() { return "HwAnalysis.so HwLEPAnalysis.so"; } 00191 }; 00192 00195 } 00196 00197 #endif /* HERWIG_CLEOCharmAnalysis_H */