Herwig++
2.7.0
|
00001 // -*- C++ -*- 00002 #ifndef THEPEG_BranchingRatioAnalysis_H 00003 #define THEPEG_BranchingRatioAnalysis_H 00004 // 00005 // This is the declaration of the BranchingRatioAnalysis class. 00006 // 00007 00008 #include "ThePEG/Handlers/AnalysisHandler.h" 00009 #include "ThePEG/PDT/ParticleData.h" 00010 #include "ThePEG/PDT/DecayMode.h" 00011 00012 namespace Herwig { 00013 using namespace ThePEG; 00014 00021 class BranchingRatioAnalysis: public AnalysisHandler { 00022 00023 public: 00024 00028 inline BranchingRatioAnalysis() : _total(101,0.) {}; 00029 00030 public: 00031 00051 virtual void analyze(tEventPtr event, long ieve, int loop, int state); 00052 00058 virtual void analyze(const tPVector & particles); 00059 00064 virtual void analyze(tPPtr particle); 00066 00067 public: 00068 00075 void persistentOutput(PersistentOStream & os) const; 00076 00082 void persistentInput(PersistentIStream & is, int version); 00084 00091 static void Init(); 00092 00093 protected: 00094 00101 inline virtual IBPtr clone() const {return new_ptr(*this);} 00102 00107 inline virtual IBPtr fullclone() const {return new_ptr(*this);} 00109 00110 00111 protected: 00112 00119 virtual void dofinish(); 00121 00122 private: 00123 00128 static ClassDescription<BranchingRatioAnalysis> initBranchingRatioAnalysis; 00129 00134 BranchingRatioAnalysis & operator=(const BranchingRatioAnalysis &); 00135 00136 private: 00137 00141 PDPtr _particle; 00142 00146 map<tDMPtr,vector<double> > _points; 00147 00151 vector<double> _total; 00152 00153 }; 00154 00155 } 00156 00157 #include "ThePEG/Utilities/ClassTraits.h" 00158 00159 namespace ThePEG { 00160 00165 template <> 00166 struct BaseClassTrait<Herwig::BranchingRatioAnalysis,1> { 00168 typedef AnalysisHandler NthBase; 00169 }; 00170 00173 template <> 00174 struct ClassTraits<Herwig::BranchingRatioAnalysis> 00175 : public ClassTraitsBase<Herwig::BranchingRatioAnalysis> { 00177 static string className() { return "Herwig::BranchingRatioAnalysis"; } 00185 static string library() { return "HwDecayAnalysis.so"; } 00186 }; 00187 00190 } 00191 00192 #endif /* THEPEG_BranchingRatioAnalysis_H */