/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtSPL.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, Pang Cai-Ying@IHEP
00010 //
00011 //
00012 // Module: EvtSPL.cc
00013 //
00014 // Description: Routine to decay Sigma0->photon+Lambda by helicity amplitude.
00015 //
00016 // Modification history:
00017 //
00018 //    Ping R.-G.    Apr., 2006       Module created
00019 //
00020 //------------------------------------------------------------------------
00021 // 
00022 #include "EvtGenBase/EvtPatches.hh"
00023 #include <stdlib.h>
00024 #include "EvtGenBase/EvtParticle.hh"
00025 #include "EvtGenBase/EvtGenKine.hh"
00026 #include "EvtGenBase/EvtPDL.hh"
00027 #include "EvtGenBase/EvtVector4C.hh"
00028 #include "EvtGenBase/EvtVector4R.hh"
00029 #include "EvtGenBase/EvtTensor4C.hh"
00030 #include "EvtGenBase/EvtReport.hh"
00031 #include "EvtGenBase/EvtdFunction.hh"
00032 #include "EvtGenBase/EvtHelSys.hh"
00033 #include "EvtSPL.hh"
00034 #include <string>
00035 using std::endl;
00036 
00037 EvtSPL::~EvtSPL() {}
00038 
00039 void EvtSPL::getName(std::string& model_name){
00040 
00041   model_name="SPL";     
00042 
00043 }
00044 
00045 
00046 EvtDecayBase* EvtSPL::clone(){
00047 
00048   return new EvtSPL;
00049 
00050 }
00051 
00052 void EvtSPL::initProbMax() {
00053    double ProbMax=4.;
00054    setProbMax(ProbMax); 
00055 }
00056 
00057 void EvtSPL::init(){
00058  checkNDaug(2);
00059  checkSpinParent(EvtSpinType::DIRAC);
00060  checkSpinDaughter(0,EvtSpinType::PHOTON);
00061  checkSpinDaughter(1,EvtSpinType::DIRAC);
00062 }
00063 
00064 void EvtSPL::decay( EvtParticle *p){
00065   
00066   p->initializePhaseSpace(getNDaug(),getDaugs());
00067   EvtParticle *v,*s1;
00068   EvtVector4R pv,ps,ppr;
00069 
00070   v =p->getDaug(0); //photon 
00071   s1=p->getDaug(1); //Lambda
00072   pv=v->getP4Lab();
00073   ps=s1->getP4Lab();
00074   ppr=p->getP4();
00075 
00076 //  Put phase space results into the daughters.
00077   
00078   EvtHelSys angles(ppr,pv);   //using helicity sys.angles
00079   double theta=angles.getHelAng(1);
00080   double phi  =angles.getHelAng(2);
00081   double gamma=0;  
00082 
00083 
00084  vertex(0,0,0, Djmn(0.5, 0.5, 0.5,phi,theta,gamma));
00085  vertex(0,1,1,-Djmn(0.5, 0.5,-0.5,phi,theta,gamma));
00086  vertex(1,0,0, Djmn(0.5,-0.5, 0.5,phi,theta,gamma));
00087  vertex(1,1,1,-Djmn(0.5,-0.5,-0.5,phi,theta,gamma));           
00088  vertex(0,0,1,                       0.0);
00089  vertex(0,1,0,                       0.0);
00090  vertex(1,0,1,                       0.0);
00091  vertex(1,1,0,                       0.0);
00092   return ;
00093 
00094 }
00095 
00096 
00097 
00098 

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