Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef HERWIG_Upsilon4SMultiplicityCount_H 00003 #define HERWIG_Upsilon4SMultiplicityCount_H 00004 // 00005 // This is the declaration of the Upsilon4SMultiplicityCount class. 00006 // 00007 00008 #include "ThePEG/Handlers/AnalysisHandler.h" 00009 #include "Herwig++/Analysis/MultiplicityInfo.h" 00010 00011 namespace Herwig { 00012 00013 using namespace ThePEG; 00014 00021 class Upsilon4SMultiplicityCount: public AnalysisHandler { 00022 00023 public: 00024 00044 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00046 00047 public: 00048 00055 static void Init(); 00056 00057 protected: 00058 00065 virtual IBPtr clone() const; 00066 00071 virtual IBPtr fullclone() const; 00073 00074 protected: 00075 00082 virtual void doinitrun(); 00083 00088 virtual void dofinish(); 00090 00091 private: 00092 00097 static NoPIOClassDescription<Upsilon4SMultiplicityCount> initUpsilon4SMultiplicityCount; 00098 00103 Upsilon4SMultiplicityCount & operator=(const Upsilon4SMultiplicityCount &); 00104 00105 private: 00106 00110 map<long,MultiplicityInfo> _data; 00111 00112 }; 00113 00114 } 00115 00116 #include "ThePEG/Utilities/ClassTraits.h" 00117 00118 namespace ThePEG { 00119 00124 template <> 00125 struct BaseClassTrait<Herwig::Upsilon4SMultiplicityCount,1> { 00127 typedef AnalysisHandler NthBase; 00128 }; 00129 00132 template <> 00133 struct ClassTraits<Herwig::Upsilon4SMultiplicityCount> 00134 : public ClassTraitsBase<Herwig::Upsilon4SMultiplicityCount> { 00136 static string className() { return "Herwig::Upsilon4SMultiplicityCount"; } 00144 static string library() { return "HwDecayAnalysis.so"; } 00145 }; 00146 00149 } 00150 00151 #endif /* HERWIG_Upsilon4SMultiplicityCount_H */