herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
BabarBDecayAnalysis.h
00001 // -*- C++ -*-
00002 #ifndef THEPEG_BabarBDecayAnalysis_H
00003 #define THEPEG_BabarBDecayAnalysis_H
00004 //
00005 // This is the declaration of the BabarBDecayAnalysis class.
00006 //
00007 
00008 #include "ThePEG/Handlers/AnalysisHandler.h"
00009 #include "Herwig++/Analysis/MultiplicityInfo.h"
00010 
00011 namespace Herwig {
00012 using namespace ThePEG;
00013 
00020 class BabarBDecayAnalysis: public AnalysisHandler {
00021 
00022 public:
00023 
00043   virtual void analyze(tEventPtr event, long ieve, int loop, int state);
00045 
00046 public:
00047 
00054   static void Init();
00055 
00056 protected:
00057 
00061   void findCharm(tcPPtr,vector<tcPPtr> & charmed);
00062 
00063 protected:
00064 
00071   virtual IBPtr clone() const;
00072 
00077   virtual IBPtr fullclone() const;
00079 
00080 protected:
00081 
00088   virtual void doinitrun();
00089 
00094   virtual void dofinish();
00096 
00097 private:
00098 
00103   static NoPIOClassDescription<BabarBDecayAnalysis> initBabarBDecayAnalysis;
00104 
00109   BabarBDecayAnalysis & operator=(const BabarBDecayAnalysis &);
00110 
00111 private:
00112 
00116   map<long,MultiplicityInfo> _b0data,_bplusdata;
00117 
00118 };
00119 
00120 }
00121 
00122 #include "ThePEG/Utilities/ClassTraits.h"
00123 
00124 namespace ThePEG {
00125 
00130 template <>
00131 struct BaseClassTrait<Herwig::BabarBDecayAnalysis,1> {
00133   typedef AnalysisHandler NthBase;
00134 };
00135 
00138 template <>
00139 struct ClassTraits<Herwig::BabarBDecayAnalysis>
00140   : public ClassTraitsBase<Herwig::BabarBDecayAnalysis> {
00142   static string className() { return "Herwig::BabarBDecayAnalysis"; }
00150   static string library() { return "HwDecayAnalysis.so"; }
00151 };
00152 
00155 }
00156 
00157 #endif /* THEPEG_BabarBDecayAnalysis_H */