Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_VffGammaAnalysis_H 00003 #define HERWIG_VffGammaAnalysis_H 00004 // 00005 // This is the declaration of the VffGammaAnalysis 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 VffGammaAnalysis: public AnalysisHandler { 00022 00023 public: 00024 00028 VffGammaAnalysis(); 00029 00049 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00050 00056 virtual void analyze(const tPVector & particles); 00057 00062 virtual void analyze(tPPtr particle); 00064 00065 public: 00066 00073 static void Init(); 00074 00075 protected: 00076 00083 inline virtual IBPtr clone() const {return new_ptr(*this);} 00084 00089 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00091 00092 00093 protected: 00094 00101 virtual void doinitrun(); 00102 00107 virtual void dofinish(); 00109 00110 private: 00111 00116 static NoPIOClassDescription<VffGammaAnalysis> initVffGammaAnalysis; 00117 00122 VffGammaAnalysis & operator=(const VffGammaAnalysis &); 00123 00124 private: 00125 00129 vector<long> _id; 00130 00134 vector<HistogramPtr> _masstotal; 00135 00142 vector<HistogramPtr> _etotal; 00143 00147 vector<HistogramPtr> _eall; 00148 00152 vector<HistogramPtr> _esingle; 00154 00158 vector<HistogramPtr> _nphoton; 00159 }; 00160 00161 } 00162 00163 #include "ThePEG/Utilities/ClassTraits.h" 00164 00165 namespace ThePEG { 00166 00171 template <> 00172 struct BaseClassTrait<Herwig::VffGammaAnalysis,1> { 00174 typedef AnalysisHandler NthBase; 00175 }; 00176 00179 template <> 00180 struct ClassTraits<Herwig::VffGammaAnalysis> 00181 : public ClassTraitsBase<Herwig::VffGammaAnalysis> { 00183 static string className() { return "Herwig::VffGammaAnalysis"; } 00191 static string library() { return "HwDecayAnalysis.so"; } 00192 }; 00193 00196 } 00197 00198 #endif /* HERWIG_VffGammaAnalysis_H */