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

Go to the documentation of this file.
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: EvtTSS.cc
00012 //
00013 // Description: Routine to decay tensor-> scalar scalar
00014 //
00015 // Modification history:
00016 //
00017 //    RYD     November 24, 1996         Module created
00018 //
00019 //------------------------------------------------------------------------
00020 // -*- C++ -*-
00021 //
00022 // Package:     EVT
00023 // Module:      EvtTSS
00024 // 
00025 //
00026 // Implimentation:
00027 //     
00028 //
00029 // Author:      ryd
00030 // Created:     Nov 24, 1996
00031 //
00032 // 
00033 #include "EvtGenBase/EvtPatches.hh"
00034 #include <stdlib.h>
00035 #include "EvtGenBase/EvtVector4C.hh"
00036 #include "EvtGenBase/EvtParticle.hh"
00037 #include "EvtGenBase/EvtGenKine.hh"
00038 #include "EvtGenBase/EvtPDL.hh"
00039 #include "EvtGenBase/EvtTensor4C.hh"
00040 #include "EvtGenBase/EvtReport.hh"
00041 #include "EvtGenModels/EvtTSS.hh"
00042 #include <string>
00043 
00044 EvtTSS::~EvtTSS() {}
00045 
00046 void EvtTSS::getName(std::string& model_name){
00047 
00048   model_name="TSS";     
00049 
00050 }
00051 
00052 
00053 EvtDecayBase* EvtTSS::clone(){
00054 
00055   return new EvtTSS;
00056 
00057 }
00058 
00059 void EvtTSS::init(){
00060 
00061   // check that there are 0 arguments
00062   checkNArg(0);
00063 
00064   checkNDaug(2);
00065 
00066   checkSpinParent(EvtSpinType::TENSOR);
00067 
00068   checkSpinDaughter(0,EvtSpinType::SCALAR);
00069   checkSpinDaughter(1,EvtSpinType::SCALAR);
00070 
00071 
00072 }
00073 
00074 void EvtTSS::initProbMax() {
00075 
00076    setProbMax(1.0);
00077 
00078 }      
00079 
00080 void EvtTSS::decay( EvtParticle *p){
00081 
00082   p->initializePhaseSpace(getNDaug(),getDaugs());
00083 
00084   EvtVector4R moms1 = p->getDaug(0)->getP4(); 
00085 
00086   double norm = 1.0/(moms1.d3mag()*moms1.d3mag());
00087 
00088   vertex(0,norm*(p->epsTensor(0).cont1(EvtVector4C(moms1))*(moms1)));
00089   vertex(1,norm*(p->epsTensor(1).cont1(EvtVector4C(moms1))*(moms1)));
00090   vertex(2,norm*(p->epsTensor(2).cont1(EvtVector4C(moms1))*(moms1)));
00091   vertex(3,norm*(p->epsTensor(3).cont1(EvtVector4C(moms1))*(moms1)));
00092   vertex(4,norm*(p->epsTensor(4).cont1(EvtVector4C(moms1))*(moms1)));
00093 
00094   return ;
00095 }

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