Herwig++
2.7.0
|
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 */