00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of models developed at BES collaboration 00005 // based on the EvtGen framework. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/BesCopyright 00009 // Copyright (A) 2006 Ping Rong-Gang 00010 // 00011 // Module: EvtTauola.cc 00012 // the necessary file: tauola2.4.F 00013 // 00014 // Description: interface to the tauola package 00015 // 00016 // Modification history: 00017 // 00018 // Ping R.-G. 2008-07-13 Module created 00019 // 00020 //------------------------------------------------------------------------ 00021 00022 #ifndef EVTTAUOLA_HH 00023 #define EVTTAUOLA_HH 00024 00025 #include "EvtGenBase/EvtDecayIncoherent.hh" 00026 00027 class EvtParticle; 00028 00029 typedef EvtDecayBase* EvtDecayBasePtr; 00030 00031 #include <iosfwd> 00032 00033 class EvtTauola:public EvtDecayIncoherent { 00034 00035 public: 00036 00037 EvtTauola(); 00038 virtual ~EvtTauola(); 00039 00040 void getName(std::string& name); 00041 EvtDecayBase* clone(); 00042 void decay(EvtParticle *p); 00043 00044 std::string commandName(); 00045 void command(std::string cmd); 00046 00047 void init(); 00048 00049 void initProbMax(); 00050 00051 private: 00052 00053 void store(EvtDecayBase* jsdecay); 00054 void fixPolarizations(EvtParticle* p); 00055 00056 static int ntauoladecays; 00057 static EvtDecayBasePtr* tauoladecays; 00058 static int ntable; 00059 00060 static int ncommand; 00061 static int lcommand; 00062 static std::string* commands; 00063 00064 }; 00065 00066 #endif 00067 00068 00069 00070