33 std::vector<WTrackParameter> wlis ) {
47 for (
unsigned int i = 0; i < wlis.size(); i++ )
50 HepLorentzVector p = wtrk.
p();
55 double a = afield * ( 0.0 + wtrk.
charge() );
56 double J = a * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
58 J = std::min( J, 1 - 1e-4 );
59 J = std::max( J, -1 + 1e-4 );
61 delx.x() - 2 * p.px() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
63 delx.y() - 2 * p.py() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
64 double S = 1.0 / sqrt( 1 - J * J ) / p.perp2();
68 dc[0] = delx.y() * p.px() - delx.x() * p.py() -
69 0.5 * a * ( delx.x() * delx.x() + delx.y() * delx.y() );
70 dc[1] = delx.z() - p.pz() / a * asin( J );
73 HepMatrix
Ec( 2, 3, 0 );
76 HepMatrix
Dc( 2, 6, 0 );
80 Dc[0][3] = p.py() + a * delx.x();
81 Dc[0][4] = -p.px() + a * delx.y();
83 Dc[1][0] = -p.pz() * S * Rx;
84 Dc[1][1] = -p.pz() * S * Ry;
85 Dc[1][2] = -asin( J ) / a;
86 Dc[1][3] = p.px() * p.pz() * S;
87 Dc[1][4] = p.py() * p.pz() * S;
91 HepSymMatrix
VD( 2, 0 );
96 HepSymMatrix
EVDE( 3, 0 );
97 m_EVDE.push_back(
EVDE );
100 m_lambda0.push_back(
lambda0 );
103 m_lambda.push_back(
lambda );
105 HepMatrix
covax( 6, 3, 0 );
106 m_covax.push_back(
covax );
113 for (
unsigned int i = 0; i < wlis.size(); i++ )
116 HepLorentzVector p = wtrk.
p();
122 HepVector
dc( 2, 0 );
123 dc[0] = p.pz() * delx.x() - p.px() * delx.z();
124 dc[1] = p.pz() * delx.y() - p.py() * delx.z();
125 m_dc.push_back(
dc );
127 HepMatrix
Ec( 2, 3, 0 );
134 m_Ec.push_back(
Ec );
136 HepMatrix
Dc( 2, 6, 0 );
137 Dc[0][0] = -delx.z();
144 Dc[1][1] = -delx.z();
149 m_Dc.push_back(
Dc );
154 double a = afield * ( 0.0 + wtrk.
charge() );
155 double J = a * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
156 J = std::min( J, 1 - 1e-4 );
157 J = std::max( J, -1 + 1e-4 );
159 delx.x() - 2 * p.px() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
161 delx.y() - 2 * p.py() * ( delx.x() * p.px() + delx.y() * p.py() ) / p.perp2();
162 double S = 1.0 / sqrt( 1 - J * J ) / p.perp2();
164 HepVector
dc( 2, 0 );
165 dc[0] = delx.y() * p.px() - delx.x() * p.py() -
166 0.5 * a * ( delx.x() * delx.x() + delx.y() * delx.y() );
167 dc[1] = delx.z() - p.pz() / a * asin( J );
168 m_dc.push_back(
dc );
170 HepMatrix
Ec( 2, 3, 0 );
171 Ec[0][0] = -p.py() - a * delx.x();
172 Ec[0][1] = p.px() - a * delx.y();
174 Ec[1][0] = -p.px() * p.pz() * S;
175 Ec[1][1] = -p.py() * p.pz() * S;
177 m_Ec.push_back(
Ec );
179 HepMatrix
Dc( 2, 6, 0 );
181 Dc[0][1] = -delx.x();
183 Dc[0][3] = p.py() + a * delx.x();
184 Dc[0][4] = -p.px() + a * delx.y();
186 Dc[1][0] = -p.pz() * S * Rx;
187 Dc[1][1] = -p.pz() * S * Ry;
188 Dc[1][2] = -asin( J ) / a;
189 Dc[1][3] = p.px() * p.pz() * S;
190 Dc[1][4] = p.py() * p.pz() * S;
192 m_Dc.push_back(
Dc );
195 HepSymMatrix
VD( 2, 0 );
196 m_VD.push_back(
VD );
198 HepSymMatrix
EVDE( 3, 0 );
199 m_EVDE.push_back(
EVDE );
202 m_lambda0.push_back(
lambda0 );
205 m_lambda.push_back(
lambda );
207 HepMatrix
covax( 6, 3, 0 );
208 m_covax.push_back(
covax );