Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_VPPGammaAnalysis_H 00003 #define HERWIG_VPPGammaAnalysis_H 00004 // 00005 // This is the declaration of the VPPGammaAnalysis class. 00006 // 00007 00008 #include "ThePEG/Handlers/AnalysisHandler.h" 00009 #include "Herwig++/Utilities/Histogram.h" 00010 #include "ThePEG/PDT/EnumParticles.h" 00011 00012 namespace Herwig { 00013 00014 using namespace ThePEG; 00015 00022 class VPPGammaAnalysis: public AnalysisHandler { 00023 00024 public: 00025 00029 VPPGammaAnalysis(); 00030 00050 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00051 00057 virtual void analyze(const tPVector & particles); 00058 00063 virtual void analyze(tPPtr particle); 00065 00066 public: 00067 00074 static void Init(); 00075 00076 protected: 00077 00084 inline virtual IBPtr clone() const {return new_ptr(*this);} 00085 00090 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00092 00093 protected: 00094 00101 virtual void doinitrun(); 00102 00107 virtual void dofinish(); 00109 00110 private: 00111 00116 static NoPIOClassDescription<VPPGammaAnalysis> initVPPGammaAnalysis; 00117 00122 VPPGammaAnalysis & operator=(const VPPGammaAnalysis &); 00123 00124 private: 00125 00129 vector<long> _id; 00130 00138 vector<long> _outgoing1; 00139 00143 vector<long> _outgoing2; 00145 00149 vector<HistogramPtr> _masstotal; 00150 00157 vector<HistogramPtr> _etotal; 00158 00162 vector<HistogramPtr> _eall; 00163 00167 vector<HistogramPtr> _esingle; 00169 00173 vector<HistogramPtr> _nphoton; 00174 00175 }; 00176 00177 } 00178 00179 #include "ThePEG/Utilities/ClassTraits.h" 00180 00181 namespace ThePEG { 00182 00187 template <> 00188 struct BaseClassTrait<Herwig::VPPGammaAnalysis,1> { 00190 typedef AnalysisHandler NthBase; 00191 }; 00192 00195 template <> 00196 struct ClassTraits<Herwig::VPPGammaAnalysis> 00197 : public ClassTraitsBase<Herwig::VPPGammaAnalysis> { 00199 static string className() { return "Herwig::VPPGammaAnalysis"; } 00207 static string library() { return "HwDecayAnalysis.so"; } 00208 }; 00209 00212 } 00213 00214 #endif /* HERWIG_VPPGammaAnalysis_H */