00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Copyright Information: See EvtGen/COPYRIGHT 00009 // Copyright (C) 1998 Caltech, UCSB 00010 // 00011 // Module: EvtGen/EvtVub.hh 00012 // 00013 // Description: 00014 // Class to generate inclusive B to X_u l nu decays according to various 00015 // decay models. Implemtented are ACCM, parton-model and a QCD model. 00016 // 00017 // Modification history: 00018 // 00019 // Sven Menke January 17, 2001 Module created 00020 // 00021 //------------------------------------------------------------------------ 00022 00023 #ifndef EVTVUB_HH 00024 #define EVTVUB_HH 00025 00026 #include "EvtGenBase/EvtDecayIncoherent.hh" 00027 00028 #include <vector> 00029 00030 class EvtParticle; 00031 class EvtVubdGamma; 00032 class RandGeneral; 00033 00034 class EvtVub:public EvtDecayIncoherent { 00035 00036 public: 00037 00038 EvtVub() {} 00039 virtual ~EvtVub(); 00040 00041 void getName(std::string& name); 00042 00043 EvtDecayBase* clone(); 00044 00045 void initProbMax(); 00046 00047 void init(); 00048 00049 void decay(EvtParticle *p); 00050 00051 private: 00052 00053 double _mb; // the b-quark pole mass in GeV (try 4.65 to 4.9) 00054 double _a; // Parameter for the Fermi Motion (1.29 is good) 00055 double _alphas; // Strong Coupling at m_b (around 0.24) 00056 double _dGMax; // max dGamma*p2 value; 00057 int _nbins; 00058 int _storeQplus; 00059 double * _masses; 00060 double * _weights; 00061 00062 EvtVubdGamma *_dGamma; // calculates the decay rate 00063 double findPFermi(); 00064 std::vector<double> _pf; 00065 }; 00066 00067 #endif 00068