53 typename std::vector<Cluster1D>::const_iterator
begin =
values.begin();
54 typename std::vector<Cluster1D>::const_iterator
end =
values.end() - 1;
57 #ifdef FsmwClusterizer1DDebug
58 cout <<
"Begin at " <<
begin->position().value() << endl;
62 #ifdef FsmwClusterizer1DDebug
70 #ifdef FsmwClusterizer1DDebug
72 cout <<
"Old end at " <<
end->position().value() << endl;
76 typename std::vector<Cluster1D>::const_iterator new_begin =
begin;
77 typename std::vector<Cluster1D>::const_iterator new_end =
end;
79 #ifdef FsmwClusterizer1DDebug
81 cout <<
"New end at " <<
end->position().value() << endl;
90 double totalweight =
end->weight();
91 for (
typename std::vector<Cluster1D>::const_iterator
w =
begin;
w !=
end; ++
w) {
92 totalweight +=
w->weight();
95 double div = fabs(
end->position().value() -
begin->position().value()) / totalweight;
96 #ifdef FsmwClusterizer1DDebug
98 cout <<
"Div at " <<
begin->position().value() <<
":" << (
end)->
position().value() <<
" = " << div << endl;
107 double tmpweight = 0.;
108 for (
typename std::vector<Cluster1D>::const_iterator wt =
i; wt != (
i +
stepsize + 1); ++wt) {
109 tmpweight += wt->weight();
112 double tmpdiv = fabs(
i->position().value() - (
i +
stepsize)->
position().value()) / tmpweight;
113 #ifdef FsmwClusterizer1DDebug
115 cout <<
"Div at " <<
i->position().value() <<
":" << (
i +
stepsize)->
position().value() <<
" = " << tmpdiv
125 #ifdef FsmwClusterizer1DDebug
127 cout <<
"---- new interval: " << new_begin->position().value() <<
":" << new_end->position().value() << endl;
136 std::pair<typename std::vector<Cluster1D>::const_iterator,
typename std::vector<Cluster1D>::const_iterator>
ret(