]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGen/EvtGenModels/EvtSLPoleFF.cpp
Converting TEvtGen to native cmake
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGenModels / EvtSLPoleFF.cpp
CommitLineData
da0e9ce3 1//--------------------------------------------------------------------------
2//
3// Environment:
4// This software is part of the EvtGen package developed jointly
5// for the BaBar and CLEO collaborations. If you use all or part
6// of it, please give an appropriate acknowledgement.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtSLPoleFF.cc
12//
13// Description: Routine to implement semileptonic form factors
14// according to the model SLPoles
15//
16// Modification history:
17//
18// DJL April 17,1998 Module created
19//
20//------------------------------------------------------------------------
21//
22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtReport.hh"
24#include "EvtGenModels/EvtSLPoleFF.hh"
25#include <string>
26#include "EvtGenBase/EvtPDL.hh"
27#include <math.h>
28#include <stdlib.h>
29
30EvtSLPoleFF::EvtSLPoleFF(int numarg, double *arglist) {
31 //arg - maybe ignore the last argument - if odd ... Sigh
32 numSLPoleargs = numarg - (numarg % 2);
33 for (int i=0; i<numSLPoleargs; i++) {
34 SLPoleargs[i] = arglist[i]; }
35
36 return;
37}
38
39
40void EvtSLPoleFF::getscalarff(EvtId parent,EvtId,
41 double t, double, double *fpf,
42 double *f0f ) {
43
44// Form factors have a general form, with parameters passed in
45// from the arguements.
46
47 if ( numSLPoleargs !=8 ) {
48 report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::getscalarff\n";
49 report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
50 }
51
52 double mb=EvtPDL::getMeanMass(parent);
53 double mb2 = mb*mb;
54
55 double f0,af,bf,powf;
56
57 f0 = SLPoleargs[0];
58 af = SLPoleargs[1];
59 bf = SLPoleargs[2];
60 powf = SLPoleargs[3];
61 *fpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
62
63 f0 = SLPoleargs[4];
64 af = SLPoleargs[5];
65 bf = SLPoleargs[6];
66 powf = SLPoleargs[7];
67
68 *f0f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
69
70 return;
71}
72
73 void EvtSLPoleFF::getvectorff(EvtId parent,EvtId,
74 double t, double, double *a1f,
75 double *a2f, double *vf, double *a0f ){
76
77 if ( numSLPoleargs !=16 ) {
78 report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::getvectorff\n";
79 report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
80 report(ERROR,"EvtGen") << numSLPoleargs<<"\n";
81 }
82
83 double mb=EvtPDL::getMeanMass(parent);
84 double mb2 = mb*mb;
85
86 double f0,af,bf,powf;
87
88 f0 = SLPoleargs[0];
89 af = SLPoleargs[1];
90 bf = SLPoleargs[2];
91 powf = SLPoleargs[3];
92 *a1f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
93
94 f0 = SLPoleargs[4];
95 af = SLPoleargs[5];
96 bf = SLPoleargs[6];
97 powf = SLPoleargs[7];
98
99 *a2f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
100
101 f0 = SLPoleargs[8];
102 af = SLPoleargs[9];
103 bf = SLPoleargs[10];
104 powf = SLPoleargs[11];
105
106 *vf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
107
108 f0 = SLPoleargs[12];
109 af = SLPoleargs[13];
110 bf = SLPoleargs[14];
111 powf = SLPoleargs[15];
112
113 *a0f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
114 return;
115 }
116
117
118
119 void EvtSLPoleFF::gettensorff(EvtId parent,EvtId,
120 double t, double, double *hf,
121 double *kf, double *bpf, double *bmf ){
122
123 if ( numSLPoleargs !=16 ) {
124 report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::gettensorff\n";
125 report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
126 }
127
128 double mb=EvtPDL::getMeanMass(parent);
129 double mb2 = mb*mb;
130
131 double f0,af,bf,powf;
132
133 f0 = SLPoleargs[0];
134 af = SLPoleargs[1];
135 bf = SLPoleargs[2];
136 powf = SLPoleargs[3];
137 *hf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
138
139 f0 = SLPoleargs[4];
140 af = SLPoleargs[5];
141 bf = SLPoleargs[6];
142 powf = SLPoleargs[7];
143
144 *kf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
145
146 f0 = SLPoleargs[8];
147 af = SLPoleargs[9];
148 bf = SLPoleargs[10];
149 powf = SLPoleargs[11];
150
151 *bpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
152
153 f0 = SLPoleargs[12];
154 af = SLPoleargs[13];
155 bf = SLPoleargs[14];
156 powf = SLPoleargs[15];
157
158 *bmf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
159 return;
160 }
161
162
163void EvtSLPoleFF::getbaryonff(EvtId, EvtId, double, double, double*,
164 double*, double*, double*){
165
166 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtSLPoleFF.\n";
167 ::abort();
168
169}
170
0ca57c2f 171void EvtSLPoleFF::getdiracff(EvtId, EvtId, double, double, double*, double*,
172 double*, double*, double*, double*) {
173
174 report(ERROR,"EvtGen") << "Not implemented :getdiracff in EvtSLPoleFF.\n";
175 ::abort();
176
177}
178
179void EvtSLPoleFF::getraritaff(EvtId, EvtId, double, double, double*, double*,
180 double*, double*, double*, double*, double*, double*) {
181
182 report(ERROR,"EvtGen") << "Not implemented :getraritaff in EvtSLPoleFF.\n";
183 ::abort();
184
185}
186