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