34 reinterpret_cast<float_v&
>(
fP[iP][iTr]) = value;
37 const uint_v
index(uint_v::IndexesFromZero());
38 (
reinterpret_cast<float_v&
>(
fP[iP][iTr])).gather(reinterpret_cast<const float*>(&value), index, simd_cast<float_m>(index<(
Size() - iTr)));
50 reinterpret_cast<float_v&
>(
fC[iC][iTr]) = value;
53 const uint_v
index(uint_v::IndexesFromZero());
54 (
reinterpret_cast<float_v&
>(
fC[iC][iTr])).gather(reinterpret_cast<const float*>(&value), index, simd_cast<float_m>(index<(
Size() - iTr)));
63 for(
int i=0;
i<4;
i++)
65 for(
int i=0;
i<10;
i++)
78 for(
int iV=0; iV<vSize; iV++)
80 for(
int i=0;
i<4;
i++)
81 fP[
i][offset+iV] = v.
fP[
i][iV];
82 for(
int i=0;
i<10;
i++)
83 fC[
i][offset+iV] = v.
fC[
i][iV];
84 fId[offset+iV] = v.
fId[iV];
96 if(nIndexes == 0)
return;
100 for(
int iP=0; iP<4; iP++)
105 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
106 float_v&
vec =
reinterpret_cast<float_v&
>(
fP[iP][iElement]);
107 vec.gather(&(track.
fP[iP][0]), index);
109 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
110 float_v&
vec =
reinterpret_cast<float_v&
>(
fP[iP][iElement]);
111 vec.gather(&(track.
fP[iP][0]), index, simd_cast<float_m>(iElement+uint_v::IndexesFromZero()<nIndexes));
114 for(
int iC=0; iC<10; iC++)
119 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
120 float_v&
vec =
reinterpret_cast<float_v&
>(
fC[iC][iElement]);
121 vec.gather(&(track.
fC[iC][0]), index);
123 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
124 float_v&
vec =
reinterpret_cast<float_v&
>(
fC[iC][iElement]);
125 vec.gather(&(track.
fC[iC][0]), index, simd_cast<float_m>(iElement+uint_v::IndexesFromZero()<nIndexes));
131 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
132 int_v&
vec =
reinterpret_cast<int_v&
>(
fId[iElement]);
133 vec.gather(&(track.
fId[0]), index);
135 const uint_v&
index =
reinterpret_cast<const uint_v&
>(trackIndex[iElement]);
136 int_v&
vec =
reinterpret_cast<int_v&
>(
fId[iElement]);
137 vec.gather(&(track.
fId[0]), index, int_m(iElement+uint_v::IndexesFromZero()<nIndexes));
146 for(
int i=0;
i<4;
i++)
147 std::cout <<
fP[
i][n] <<
" ";
148 std::cout << std::endl;
149 for(
int i=0;
i<10;
i++)
150 std::cout <<
fC[
i][n] <<
" ";
151 std::cout << std::endl;
153 std::cout <<
fId[
n] << std::endl;
160 std::cout <<
"NTracks " <<
Size() << std::endl;
161 if(
Size()==0 )
return;
163 std::cout <<
"Parameters: " << std::endl;
164 for(
int iP=0; iP<4; iP++)
166 std::cout <<
" iP " << iP <<
": ";
167 for(
int iTr=0; iTr<
Size(); iTr++)
169 std::cout << std::endl;
172 std::cout <<
"Cov matrix: " << std::endl;
173 for(
int iC=0; iC<10; iC++)
175 std::cout <<
" iC " << iC <<
": ";
176 for(
int iTr=0; iTr<
Size(); iTr++)
178 std::cout << std::endl;
181 std::cout <<
"Id: " << std::endl;
182 for(
int iTr=0; iTr<
Size(); iTr++)
183 std::cout <<
Id()[iTr] <<
" ";
184 std::cout << std::endl;