/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtVVS.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: VVS.hh
00012 //
00013 // Description: To define the helicity for vector(s=+1,-1)->vector(s=-1,0,1)+Pseudoscalar
00014 //
00015 // Modification history:
00016 //
00017 //    Ping R.-G.       Apr., 2006       Module created
00018 //
00019 //------------------------------------------------------------------------
00020 //
00021 #include "EvtGenBase/EvtPatches.hh"
00022 #include <math.h>
00023 #include <stdlib.h>
00024 #include "EvtGenBase/EvtParticle.hh"
00025 #include "EvtGenBase/EvtKine.hh"
00026 
00027 #include "EvtGenBase/EvtVector4C.hh"
00028 #include "EvtGenBase/EvtVector4R.hh"
00029 #include "EvtGenBase/EvtTensor4C.hh"
00030 #include "EvtGenBase/EvtHelSys.hh"
00031 #include "EvtGenModels/EvtVVS.hh"
00032 #include <string>
00033 using namespace std;  
00034 
00035 
00036   double VVS::R00(double r){
00037   return r;
00038   }
00039   
00040    double VVS::Fij(int i, int j, double r){
00041    double mpsi=(_pd[0]+_pd[1]+_pd[2]).mass();
00042    double temp=mpsi*r;
00043    if(i==0&& j==0) return 0;
00044    if(i==1&& j==0) return temp;
00045    if(i==-1&& j==0) return -temp;
00046  
00047   }
00048 
00049  EvtComplex  VVS::amps1(int m,  int i, int j){
00050    double mrho=_res[0];
00051    double wrho=_res[1];
00052    double s;
00053    EvtComplex img(0.0,1.0),dpro;
00054    EvtVector4R prho;
00055    prho=_pd[i]+_pd[j];
00056    s=prho.mass2();
00057    dpro=s-mrho*mrho+img*sqrt(s)*wrho;
00058    EvtHelSys angles(prho,_pd[i]),labAngles;
00059    double theta,phi,ct1,st1,phi1,st,ct;
00060    double rpp=angles.getHelAng(0);
00061    theta=angles.getHelAng(1);
00062    phi  =angles.getHelAng(2);
00063    ct1 =labAngles.Angles(prho,1);
00064    phi1=labAngles.Angles(prho,2);
00065    int lamb;
00066    EvtComplex temp(0.0,0.0);
00067    for(lamb=-1;lamb<=1;lamb++) temp=temp+Fij(lamb,0,prho.d3mag())*Djmn(1,m,lamb,phi1,ct1,0.0)/dpro*R00(rpp)*Djmn(1,lamb,0,phi,theta,0.0); 
00068     return temp;
00069   }
00070 
00071  double VVS::amps(){
00072  double r1=_par[0];
00073  double phase1=_par[1];
00074  double r2=_par[2];
00075  double phase2=_par[3];
00076  double temp=0.0;
00077  int m;
00078  for(m=-1;m<=1;m+=2) temp=temp+pow(abs(r1*exp(EvtComplex(0,phase1))*amps1(m,0,1)+r2*exp(EvtComplex(0,phase2))*amps1(m,0,2)+amps1(m,1,2)),2.);
00079  return temp;
00080  } 

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