/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtPBB2.cc

Go to the documentation of this file.
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 @IHEP
00010 //
00011 // Module: EvtPBB2.cc 
00012 //
00013 // Description: Routine to decay pseudoscalar to  B_10 bar B_10 using
00014 //              helicity amplitude.
00015 // 
00016 // Modification history:
00017 //    
00018 //     Ping R.-G.    Apr., 2007       Module created
00019 //
00020 //------------------------------------------------------------------------
00021 
00022 
00023 #include "EvtGenBase/EvtPatches.hh"
00024 #include <stdlib.h>
00025 #include "EvtGenBase/EvtParticle.hh"
00026 #include "EvtGenBase/EvtGenKine.hh"
00027 #include "EvtGenBase/EvtPDL.hh"
00028 #include "EvtGenBase/EvtVector4C.hh"
00029 #include "EvtGenBase/EvtVector4R.hh"
00030 #include "EvtGenBase/EvtTensor4C.hh"
00031 #include "EvtGenBase/EvtReport.hh"
00032 #include "EvtGenBase/EvtHelSys.hh"
00033 #include "EvtPBB2.hh"
00034 #include "EvtGenBase/EvtdFunctionSingle.hh"
00035 #include "EvtGenBase/EvtRaritaSchwinger.hh"
00036 #include "EvtGenBase/EvtRaritaSchwingerParticle.hh" 
00037 
00038 #include <string>
00039 
00040 using std::endl;
00041 using std::cout;
00042 EvtPBB2::~EvtPBB2() {}
00043 
00044 void EvtPBB2::getName(std::string& model_name){
00045 
00046   model_name="PBB2";     
00047 
00048 }
00049 
00050 
00051 EvtDecayBase* EvtPBB2::clone(){
00052 
00053   return new EvtPBB2;
00054 
00055 }
00056 
00057 void EvtPBB2::init(){
00058  checkNDaug(2);
00059  checkSpinParent(EvtSpinType::SCALAR);
00060  checkSpinDaughter(0,EvtSpinType::RARITASCHWINGER);
00061  checkSpinDaughter(1,EvtSpinType::RARITASCHWINGER);
00062 
00063  }
00064 
00065 
00066 void EvtPBB2::initProbMax() {
00067 
00068   //Hard coded... should not be hard to calculate...
00069  double rt  =getArg(0);
00070  double pmax=2+2*rt*rt;
00071  setProbMax(pmax);
00072 }      
00073 
00074 void EvtPBB2::decay( EvtParticle *p){
00075 
00076 
00077   p->initializePhaseSpace(getNDaug(),getDaugs());
00078   
00079   double rt =getArg(0);
00080   double phs=getArg(0);
00081 
00082   int ii,jj;
00083   for(ii=0;ii<4;ii++){ 
00084      for(jj=0;jj<4;jj++){ 
00085      vertex(ii,jj,0);
00086      }
00087   }
00088 
00089   vertex(0,0,                       1.);
00090   vertex(1,1, rt*exp(EvtComplex(0,phs)));
00091   vertex(2,2,-rt*exp(EvtComplex(0,phs)));
00092   vertex(3,3,                       -1);
00093   return ;
00094   
00095 }
00096 
00097 
00098 
00099 

Generated on Tue Nov 29 23:12:20 2016 for BOSS_7.0.2 by  doxygen 1.4.7