59 {
60
62
64 EvtVector4R pv, ps, ppr;
65
71
72
73 EvtHelSys angles( ppr, pv );
74 double theta = angles.getHelAng( 1 );
75 double phi = angles.getHelAng( 2 );
76 double gamma = 0;
77 double F00, F01, F02, F03, F10, F11, F13, F20, F22, F23, F30, F31, F32, F33;
83
84 F33 = F00;
85 F32 = F01;
86 F31 = F02;
87 F30 = F03;
88 F22 = F11;
89 F10 = F01;
90 F20 = F02;
91 F23 = F10;
92 F13 = F20;
93
94
95 vertex( 0, 0, 0,
Djmn( 2, 0, 0, phi, theta, gamma ) * F00 );
96
97 vertex( 0, 0, 1,
Djmn( 2, 0, -1, phi, theta, gamma ) * F01 );
98 vertex( 0, 0, 2,
Djmn( 2, 0, 2, phi, theta, gamma ) * F02 );
99 vertex( 0, 0, 3,
Djmn( 2, 0, 1, phi, theta, gamma ) * F03 );
100 vertex( 0, 1, 0,
Djmn( 2, 0, 1, phi, theta, gamma ) * F10 );
101 vertex( 0, 1, 1,
Djmn( 2, 0, 0, phi, theta, gamma ) * F11 );
103 vertex( 0, 1, 3,
Djmn( 2, 0, 2, phi, theta, gamma ) * F13 );
104 vertex( 0, 2, 0,
Djmn( 2, 0, -2, phi, theta, gamma ) * F20 );
106 vertex( 0, 2, 2,
Djmn( 2, 0, 0, phi, theta, gamma ) * F22 );
107 vertex( 0, 2, 3,
Djmn( 2, 0, -1, phi, theta, gamma ) * F23 );
108 vertex( 0, 3, 0,
Djmn( 2, 0, -1, phi, theta, gamma ) * F30 );
109 vertex( 0, 3, 1,
Djmn( 2, 0, -2, phi, theta, gamma ) * F31 );
110 vertex( 0, 3, 2,
Djmn( 2, 0, 1, phi, theta, gamma ) * F32 );
111 vertex( 0, 3, 3,
Djmn( 2, 0, 0, phi, theta, gamma ) * F33 );
112
113 vertex( 1, 0, 0,
Djmn( 2, 2, 0, phi, theta, gamma ) * F00 );
114
115 vertex( 1, 0, 1,
Djmn( 2, 2, -1, phi, theta, gamma ) * F01 );
116 vertex( 1, 0, 2,
Djmn( 2, 2, 2, phi, theta, gamma ) * F02 );
117 vertex( 1, 0, 3,
Djmn( 2, 2, 1, phi, theta, gamma ) * F03 );
118 vertex( 1, 1, 0,
Djmn( 2, 2, 1, phi, theta, gamma ) * F10 );
119 vertex( 1, 1, 1,
Djmn( 2, 2, 0, phi, theta, gamma ) * F11 );
121 vertex( 1, 1, 3,
Djmn( 2, 2, 2, phi, theta, gamma ) * F13 );
122 vertex( 1, 2, 0,
Djmn( 2, 2, -2, phi, theta, gamma ) * F20 );
124 vertex( 1, 2, 2,
Djmn( 2, 2, 0, phi, theta, gamma ) * F22 );
125 vertex( 1, 2, 3,
Djmn( 2, 2, -1, phi, theta, gamma ) * F23 );
126 vertex( 1, 3, 0,
Djmn( 2, 2, -1, phi, theta, gamma ) * F30 );
127 vertex( 1, 3, 1,
Djmn( 2, 2, -2, phi, theta, gamma ) * F31 );
128 vertex( 1, 3, 2,
Djmn( 2, 2, 1, phi, theta, gamma ) * F32 );
129 vertex( 1, 3, 3,
Djmn( 2, 2, 0, phi, theta, gamma ) * F33 );
130
131 vertex( 2, 0, 0,
Djmn( 2, -2, 0, phi, theta, gamma ) * F00 );
132
133 vertex( 2, 0, 1,
Djmn( 2, -2, -1, phi, theta, gamma ) * F01 );
134 vertex( 2, 0, 2,
Djmn( 2, -2, 2, phi, theta, gamma ) * F02 );
135 vertex( 2, 0, 3,
Djmn( 2, -2, 1, phi, theta, gamma ) * F03 );
136 vertex( 2, 1, 0,
Djmn( 2, -2, 1, phi, theta, gamma ) * F10 );
137 vertex( 2, 1, 1,
Djmn( 2, -2, 0, phi, theta, gamma ) * F11 );
139 vertex( 2, 1, 3,
Djmn( 2, -2, 2, phi, theta, gamma ) * F13 );
140 vertex( 2, 2, 0,
Djmn( 2, -2, -2, phi, theta, gamma ) * F20 );
142 vertex( 2, 2, 2,
Djmn( 2, -2, 0, phi, theta, gamma ) * F22 );
143 vertex( 2, 2, 3,
Djmn( 2, -2, -1, phi, theta, gamma ) * F23 );
144 vertex( 2, 3, 0,
Djmn( 2, -2, -1, phi, theta, gamma ) * F30 );
145 vertex( 2, 3, 1,
Djmn( 2, -2, -2, phi, theta, gamma ) * F31 );
146 vertex( 2, 3, 2,
Djmn( 2, -2, 1, phi, theta, gamma ) * F32 );
147 vertex( 2, 3, 3,
Djmn( 2, -2, 0, phi, theta, gamma ) * F33 );
148
149 vertex( 3, 0, 0,
Djmn( 2, 1, 0, phi, theta, gamma ) * F00 );
150
151 vertex( 3, 0, 1,
Djmn( 2, 1, -1, phi, theta, gamma ) * F01 );
152 vertex( 3, 0, 2,
Djmn( 2, 1, 2, phi, theta, gamma ) * F02 );
153 vertex( 3, 0, 3,
Djmn( 2, 1, 1, phi, theta, gamma ) * F03 );
154 vertex( 3, 1, 0,
Djmn( 2, 1, 1, phi, theta, gamma ) * F10 );
155 vertex( 3, 1, 1,
Djmn( 2, 1, 0, phi, theta, gamma ) * F11 );
157 vertex( 3, 1, 3,
Djmn( 2, 1, 2, phi, theta, gamma ) * F13 );
158 vertex( 3, 2, 0,
Djmn( 2, 1, -2, phi, theta, gamma ) * F20 );
160 vertex( 3, 2, 2,
Djmn( 2, 1, 0, phi, theta, gamma ) * F22 );
161 vertex( 3, 2, 3,
Djmn( 2, 1, -1, phi, theta, gamma ) * F23 );
162 vertex( 3, 3, 0,
Djmn( 2, 1, -1, phi, theta, gamma ) * F30 );
163 vertex( 3, 3, 1,
Djmn( 2, 1, -2, phi, theta, gamma ) * F31 );
164 vertex( 3, 3, 2,
Djmn( 2, 1, 1, phi, theta, gamma ) * F32 );
165 vertex( 3, 3, 3,
Djmn( 2, 1, 0, phi, theta, gamma ) * F33 );
166
167 vertex( 4, 0, 0,
Djmn( 2, -1, 0, phi, theta, gamma ) * F00 );
168
169 vertex( 4, 0, 1,
Djmn( 2, -1, -1, phi, theta, gamma ) * F01 );
170 vertex( 4, 0, 2,
Djmn( 2, -1, 2, phi, theta, gamma ) * F02 );
171 vertex( 4, 0, 3,
Djmn( 2, -1, 1, phi, theta, gamma ) * F03 );
172 vertex( 4, 1, 0,
Djmn( 2, -1, 1, phi, theta, gamma ) * F10 );
173 vertex( 4, 1, 1,
Djmn( 2, -1, 0, phi, theta, gamma ) * F11 );
175 vertex( 4, 1, 3,
Djmn( 2, -1, 2, phi, theta, gamma ) * F13 );
176 vertex( 4, 2, 0,
Djmn( 2, -1, -2, phi, theta, gamma ) * F20 );
178 vertex( 4, 2, 2,
Djmn( 2, -1, 0, phi, theta, gamma ) * F22 );
179 vertex( 4, 2, 3,
Djmn( 2, -1, -1, phi, theta, gamma ) * F23 );
180 vertex( 4, 3, 0,
Djmn( 2, -1, -1, phi, theta, gamma ) * F30 );
181 vertex( 4, 3, 1,
Djmn( 2, -1, -2, phi, theta, gamma ) * F31 );
182 vertex( 4, 3, 2,
Djmn( 2, -1, 1, phi, theta, gamma ) * F32 );
183 vertex( 4, 3, 3,
Djmn( 2, -1, 0, phi, theta, gamma ) * F33 );
184
185 return;
186}
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
void vertex(const EvtComplex &)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)