24 #include <utility/vector1.hh>
25 #include <basic/Tracer.hh>
31 namespace frag_picker {
35 "protocols.frag_picker.quota.QuotaCollector");
39 Size pos = candidate.first->get_first_index_in_query();
40 bool if_inserted =
false;
43 bool tmp =
storage_[pos][j]->add(candidate);
44 if_inserted = if_inserted || tmp;
53 where << std::setw(3) << i;
55 where << std::setw(10) <<
storage_[i][j]->get_pool_name() <<
"(" << std::setw(3) <<
storage_[i][j]->total_size() <<
") ";
89 std::ostream & output,
93 using namespace ObjexxFCL::fmt;
95 output<<
"QuotaCollector contains the following number of fragments at each position:\n";
99 output<<
" "<<RJ(10,
storage_[i][j]->get_pool_name())
100 <<
" "<<I(3,
storage_[i][j]->current_size());
110 for(
Size j=1;j<=
storage_[position_in_query].size();++j) {
111 for(
Size k=1;k<=
storage_[position_in_query][j]->count_candidates();k++) {
113 for(
Size l=1;l<=content.size();l++)
127 for(
Size j=1;j<=i;++j)
128 sum +=
storage_[i][j]->get_fraction();
129 for(
Size j=1;j<=i;++j)
136 Real prediction_fraction,
151 f = prediction->helix_fraction(i+middle-1)*prediction_fraction;
152 n = (
Size) (n_candidates * f );
153 Size buffer_factor = 3;
155 trQuotaCollector.Debug <<
"Pool >"<<name<<
"< for H would have size 0, not created"<<std::endl;
160 trQuotaCollector.Trace <<
"Pool >"<<name<<
":E< added at query pos: "<<i<<
" as number: "<<
storage_[i].size()<<std::endl;
162 for(
Size l=1;l<=weights.size();l++)
168 f = prediction->sheet_fraction(i+middle-1)*prediction_fraction;
169 n = (
Size) (n_candidates * f );
171 trQuotaCollector.Debug <<
"Pool >"<<name<<
"< for E would have size 0, not created"<<std::endl;
176 trQuotaCollector.Trace <<
"Pool >"<<name<<
":E< added at query pos: "<<i<<
" as number: "<<
storage_[i].size()<<std::endl;
178 for(
Size l=1;l<=weights.size();l++)
184 f = prediction->loop_fraction(i+middle-1)*prediction_fraction;
185 n = (
Size) (n_candidates * f );
187 trQuotaCollector.Debug <<
"Pool >"<<name<<
"< for L would have size 0, not created"<<std::endl;
192 trQuotaCollector.Trace <<
"Pool >"<<name<<
":E< added at query pos: "<<i<<
" as number: "<<
storage_[i].size()<<std::endl;
194 for(
Size l=1;l<=weights.size();l++)