CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtSLBKPoleFF Class Reference

#include <EvtSLBKPoleFF.hh>

+ Inheritance diagram for EvtSLBKPoleFF:

Public Member Functions

 EvtSLBKPoleFF (int numarg, double *arglist)
 
void getscalarff (EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f)
 
void getvectorff (EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
 
void gettensorff (EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bp, double *bm)
 
void getbaryonff (EvtId, EvtId, double, double, double *, double *, double *, double *)
 
virtual void getscalarff (EvtId parent, EvtId daught, double t, double mass, double *fpf, double *fmf)
 
virtual void getvectorff (EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
 
virtual void gettensorff (EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
 
virtual void getbaryonff (EvtId parent, EvtId daught, double t, double m_meson, double *f1v, double *f1a, double *f2v, double *f2a)
 

Detailed Description

Definition at line 28 of file EvtSLBKPoleFF.hh.

Constructor & Destructor Documentation

◆ EvtSLBKPoleFF()

EvtSLBKPoleFF::EvtSLBKPoleFF ( int  numarg,
double *  arglist 
)

Definition at line 30 of file EvtSLBKPoleFF.cc.

30 {//modified
31 numSLBKPoleargs = numarg;//modified
32 for (int i=0; i<numarg; i++) {
33 SLBKPoleargs[i] = arglist[i]; }//modified
34
35 return;
36}

Member Function Documentation

◆ getbaryonff()

void EvtSLBKPoleFF::getbaryonff ( EvtId  ,
EvtId  ,
double  ,
double  ,
double *  ,
double *  ,
double *  ,
double *   
)
virtual

Reimplemented from EvtSemiLeptonicFF.

Definition at line 224 of file EvtSLBKPoleFF.cc.

225 {
226
227 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtSLBKPoleFF.\n";
228 ::abort();
229
230}
ostream & report(Severity severity, const char *facility)
Definition: EvtReport.cc:36
@ ERROR
Definition: EvtReport.hh:49

◆ getscalarff()

void EvtSLBKPoleFF::getscalarff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  fpf,
double *  f0f 
)
virtual

Reimplemented from EvtSemiLeptonicFF.

Definition at line 39 of file EvtSLBKPoleFF.cc.

41 {
42
43// Form factors have a general form, with parameters passed in
44// from the arguments.
45
46 if ( numSLBKPoleargs != 4 ) {//modified
47 report(ERROR,"EvtGen") << "Problem in EvtSLBKPoleFF::getscalarff\n";
48 report(ERROR,"EvtGen") << "wrong number of arguments!\n";
49 report(ERROR,"EvtGen") << "number args:"<<numSLBKPoleargs<<" (expected 4)\n";
50 report(ERROR,"EvtGen") << "Parent:"<<EvtPDL::name(parent)<<"\n";
51 report(ERROR,"EvtGen") << "Daughter:"<<EvtPDL::name(daught)<<"\n";
52
53 }
54
55
56 double f0,af,powf;
57
58 //double a_0, a_1, a_2, a_3, a_4, a_5, a_6, a_7;
59
60 f0 = SLBKPoleargs[0];//f0
61 af = SLBKPoleargs[1];//alpha
62 //bf = SLBKPoleargs[2];
63 double mass_star2 = SLBKPoleargs[3]*SLBKPoleargs[3];
64 powf = 1.0;
65 *fpf = f0/(pow( 1.0 - (1.0+af)*(t/mass_star2) + (af*((t/mass_star2)*(t/mass_star2))),powf));//modified
66
67 f0 = SLBKPoleargs[0];//f0
68 af = SLBKPoleargs[2];//beta
69 //bf = SLBKPoleargs[6];
70 powf = 1.0;
71
72 *f0f = f0/(pow( 1.0 - (t/mass_star2/af),powf));//modified
73
74 return;
75}
static std::string name(EvtId i)
Definition: EvtPDL.hh:64
int t()
Definition: t.c:1

◆ gettensorff()

void EvtSLBKPoleFF::gettensorff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  hf,
double *  kf,
double *  bp,
double *  bm 
)
virtual

Reimplemented from EvtSemiLeptonicFF.

Definition at line 179 of file EvtSLBKPoleFF.cc.

181 {
182
183 if ( numSLBKPoleargs !=16 ) {
184 report(ERROR,"EvtGen") << "Problem in EvtSLBKPoleFF::gettensorff\n";
185 report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
186 }
187
188 report(INFO,"EvtGen")<<"Check the implementation of EvtSLBKPoleFF::gettensorff()!\n";
189
190 double mb=EvtPDL::getMeanMass(parent);
191 double mb2 = mb*mb;
192
193 double f0,af,bf,powf;
194
195 f0 = SLBKPoleargs[0];
196 af = SLBKPoleargs[1];
197 bf = SLBKPoleargs[2];
198 powf = SLBKPoleargs[3];
199 *hf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
200
201 f0 = SLBKPoleargs[4];
202 af = SLBKPoleargs[5];
203 bf = SLBKPoleargs[6];
204 powf = SLBKPoleargs[7];
205
206 *kf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
207
208 f0 = SLBKPoleargs[8];
209 af = SLBKPoleargs[9];
210 bf = SLBKPoleargs[10];
211 powf = SLBKPoleargs[11];
212
213 *bpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
214
215 f0 = SLBKPoleargs[12];
216 af = SLBKPoleargs[13];
217 bf = SLBKPoleargs[14];
218 powf = SLBKPoleargs[15];
219
220 *bmf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
221 return;
222 }
@ INFO
Definition: EvtReport.hh:52
static double getMeanMass(EvtId i)
Definition: EvtPDL.hh:45

◆ getvectorff()

void EvtSLBKPoleFF::getvectorff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  a1f,
double *  a2f,
double *  vf,
double *  a0f 
)
virtual

Reimplemented from EvtSemiLeptonicFF.

Definition at line 77 of file EvtSLBKPoleFF.cc.

79 {
80
81 if ( numSLBKPoleargs !=8 ) {//modified
82 report(ERROR,"EvtGen") << "Problem in EvtSLBKPoleFF::getvectorff\n";//modified
83 report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
84 report(ERROR,"EvtGen") << numSLBKPoleargs<<"\n";//modified
85// printf("\n*********************%d*********************",numSLBKPoleargs);
86 }
87
88
89 report(INFO,"EvtGen")<<"Check the implementation of EvtSLBKPoleFF::getvectorff()!\n";
90
91
92 double mb=EvtPDL::getMeanMass(parent);
93 double mb2 = mb*mb;
94
95//modified-begin
96 static EvtId B0=EvtPDL::getId("B0");
97 static EvtId B0B=EvtPDL::getId("anti-B0");
98 static EvtId BP=EvtPDL::getId("B+");
99 static EvtId BM=EvtPDL::getId("B-");
100 static EvtId BS0=EvtPDL::getId("B_s0");
101
102 static EvtId B0S=EvtPDL::getId("B*0");
103 static EvtId BPMS=EvtPDL::getId("B*+");
104 static EvtId BS0S=EvtPDL::getId("B_s*0");
105
106 static EvtId D0=EvtPDL::getId("D0");
107 static EvtId D0B=EvtPDL::getId("anti-D0");
108 static EvtId DP=EvtPDL::getId("D+");
109 static EvtId DM=EvtPDL::getId("D-");
110 static EvtId DSP=EvtPDL::getId("D_s+");
111 static EvtId DSM=EvtPDL::getId("D_s-");
112
113 static EvtId D0S=EvtPDL::getId("D*0");
114 static EvtId DPMS=EvtPDL::getId("D*+");
115 static EvtId DSPMS=EvtPDL::getId("D_s*+");
116
117 double mass_star;
118 double mass_star2;
119 if(parent==B0||parent==B0B){
120 mass_star=EvtPDL::getMeanMass(B0S);
121 mass_star2=mass_star*mass_star;
122 }
123 if(parent==BP||parent==BM){
124 mass_star=EvtPDL::getMeanMass(BPMS);
125 mass_star2=mass_star*mass_star;
126 }
127 if(parent==BS0){
128 mass_star=EvtPDL::getMeanMass(BS0S);
129 mass_star2=mass_star*mass_star;
130 }
131
132 if(parent==D0||parent==D0B){
133 mass_star=EvtPDL::getMeanMass(D0S);
134 mass_star2=mass_star*mass_star;
135 }
136 if(parent==DP||parent==DM){
137 mass_star=EvtPDL::getMeanMass(DPMS);
138 mass_star2=mass_star*mass_star;
139 }
140 if(parent==DSP||parent==DSM){
141 mass_star=EvtPDL::getMeanMass(DSPMS);
142 mass_star2=mass_star*mass_star;
143 }
144//modified-end
145
146 double f0,af,bf,powf;
147
148 f0 = SLBKPoleargs[2];//A1
149 af = SLBKPoleargs[6];//b'
150 bf = 0;//0
151 powf = 1.0;//1.0
152 *a1f = f0/(pow( 1.0 - af*t/mass_star2,powf));//modified
153
154 f0 = SLBKPoleargs[3];//A2
155 af = SLBKPoleargs[6];//b'
156 bf = SLBKPoleargs[7];//b''==0
157 powf = 1.0;//1.0
158
159 *a2f = f0/(pow(1.0 - (af+bf)*(t/mass_star2) + (af*bf)*((t/mass_star2)*(t/mass_star2)),powf));//modified
160
161 f0 = SLBKPoleargs[0];//V0
162 af = SLBKPoleargs[4];//a
163 bf = 0;//0
164 powf = 1.0;//1.0
165
166 *vf = f0/(pow( 1.0 - (1.0+af)*(t/mass_star2) + af*(t/mass_star2)*(t/mass_star2),powf));//modified
167
168 f0 = SLBKPoleargs[1];//A0
169 af = SLBKPoleargs[5];//a'
170 bf = 0;//0
171 powf = 1.0;//1.0
172
173 *a0f = f0/(pow( 1.0 - (1.0+af)*(t/mb2) + af*((t/mb2)*(t/mb2)),powf));//modified
174 return;
175 }
Definition: EvtId.hh:27
static EvtId getId(const std::string &name)
Definition: EvtPDL.cc:287

The documentation for this class was generated from the following files: