BOSS
7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtVVS.cc
Go to the documentation of this file.
1
//--------------------------------------------------------------------------
2
//
3
// Environment:
4
// This software is part of models developed at BES collaboration
5
// based on the EvtGen framework. If you use all or part
6
// of it, please give an appropriate acknowledgement.
7
//
8
// Copyright Information: See EvtGen/BesCopyright
9
// Copyright (A) 2006 Ping Rong-Gang @IHEP
10
//
11
// Module: VVS.hh
12
//
13
// Description: To define the helicity for vector(s=+1,-1)->vector(s=-1,0,1)+Pseudoscalar
14
//
15
// Modification history:
16
//
17
// Ping R.-G. Apr., 2006 Module created
18
//
19
//------------------------------------------------------------------------
20
//
21
#include "
EvtGenBase/EvtPatches.hh
"
22
#include <math.h>
23
#include <stdlib.h>
24
#include "
EvtGenBase/EvtParticle.hh
"
25
#include "
EvtGenBase/EvtKine.hh
"
26
27
#include "
EvtGenBase/EvtVector4C.hh
"
28
#include "
EvtGenBase/EvtVector4R.hh
"
29
#include "
EvtGenBase/EvtTensor4C.hh
"
30
#include "
EvtGenBase/EvtHelSys.hh
"
31
#include "
EvtGenModels/EvtVVS.hh
"
32
#include <string>
33
using namespace
std
;
34
35
36
double
VVS::R00
(
double
r){
37
return
r;
38
}
39
40
double
VVS::Fij
(
int
i,
int
j,
double
r){
41
double
mpsi=(_pd[0]+_pd[1]+_pd[2]).
mass
();
42
double
temp=mpsi*r;
43
if
(i==0&& j==0)
return
0;
44
if
(i==1&& j==0)
return
temp;
45
if
(i==-1&& j==0)
return
-temp;
46
47
}
48
49
EvtComplex
VVS::amps1
(
int
m,
int
i,
int
j){
50
double
mrho=_res[0];
51
double
wrho=_res[1];
52
double
s
;
53
EvtComplex
img(0.0,1.0),dpro;
54
EvtVector4R
prho;
55
prho=_pd[i]+_pd[j];
56
s
=prho.
mass2
();
57
dpro=
s
-mrho*mrho+img*sqrt(
s
)*wrho;
58
EvtHelSys
angles(prho,_pd[i]),labAngles;
59
double
theta,phi,ct1,st1,
phi1
,st,ct;
60
double
rpp=angles.
getHelAng
(0);
61
theta=angles.getHelAng(1);
62
phi =angles.getHelAng(2);
63
ct1 =labAngles.
Angles
(prho,1);
64
phi1
=labAngles.
Angles
(prho,2);
65
int
lamb;
66
EvtComplex
temp(0.0,0.0);
67
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);
68
return
temp;
69
}
70
71
double
VVS::amps
(){
72
double
r1=_par[0];
73
double
phase1=_par[1];
74
double
r2=_par[2];
75
double
phase2=_par[3];
76
double
temp=0.0;
77
int
m;
78
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.);
79
return
temp;
80
}
mass
double mass
Definition
CosmicGenerator.cxx:138
phi1
Double_t phi1
Definition
DataBase/tau_mode.c:7
abs
#define abs(x)
Definition
Eepipi/Eepipi-00-01-00/src/ee2eepp/basesv5.1/f2c.h:151
exp
EvtComplex exp(const EvtComplex &c)
Definition
EvtComplex.hh:252
Djmn
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
Definition
EvtHelSys.cc:151
EvtHelSys.hh
EvtKine.hh
EvtParticle.hh
EvtPatches.hh
EvtTensor4C.hh
EvtVVS.hh
EvtVector4C.hh
EvtVector4R.hh
s
XmlRpcServer s
Definition
HelloServer.cpp:11
EvtComplex
Definition
EvtComplex.hh:28
EvtHelSys
Definition
EvtHelSys.hh:44
EvtHelSys::getHelAng
double getHelAng(int i)
Definition
EvtHelSys.cc:54
EvtHelSys::Angles
double Angles(EvtVector4R, int)
Definition
EvtHelSys.cc:108
EvtVector4R
Definition
EvtVector4R.hh:29
EvtVector4R::d3mag
double d3mag() const
Definition
EvtVector4R.cc:186
EvtVector4R::mass2
double mass2() const
Definition
EvtVector4R.hh:116
VVS::R00
double R00(double r)
Definition
EvtVVS.cc:36
VVS::amps1
EvtComplex amps1(int m, int i, int j)
Definition
EvtVVS.cc:49
VVS::Fij
double Fij(int i, int j, double r)
Definition
EvtVVS.cc:40
VVS::amps
double amps()
Definition
EvtVVS.cc:71
std
Definition
RootEventData/RootEventData_rootcint.cxx:38
7.1.2
Generator
BesEvtGen
BesEvtGen-00-04-30
src
EvtGen
EvtGenModels
EvtVVS.cc
Generated by
1.12.0