47   class PrecursorIonSelectionPreprocessing;
 
   48   class PSProteinInference;
 
   92     void createAndSolveILPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
 
   94                                                       std::vector<IndexTriple>& variable_indices,
 
   95                                                       std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
 
   96                                                       std::set<Int>& charges_set, 
UInt ms2_spectra_per_rt_bin,
 
   97                                                       std::vector<int>& solution_indices);
 
  104                                                    UInt ms2_spectra_per_rt_bin, 
UInt max_list_size,
 
  106                                                    bool solve_ILP = 
true);
 
  108     void createAndSolveCombinedLPForKnownLCMSMapFeatureBased(
const FeatureMap& features,
 
  110                                                              std::vector<IndexTriple>& variable_indices,
 
  111                                                              std::vector<int>& solution_indices,
 
  112                                                              std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
 
  113                                                              std::set<Int>& charges_set, 
UInt ms2_spectra_per_rt_bin,
 
  114                                                              Size step_size = 0, 
bool sequential_order = 
false);
 
  116     void updateStepSizeConstraint(
Size iteration, 
UInt step_size);
 
  117     void updateFeatureILPVariables(
FeatureMap& new_features, std::vector<IndexTriple>& variable_indices, std::map<
Size, std::vector<String> >& feature_constraints_map);
 
  118     void updateRTConstraintsForSequentialILP(
Size& rt_index, 
UInt ms2_spectra_per_rt_bin, 
Size max_rt_index);
 
  120                            std::vector<String>& new_protein_accs, std::vector<String>& protein_accs, 
PSProteinInference& prot_inference, 
Size& variable_counter,
 
  121                            std::map<
String, std::vector<Size> >& protein_feature_map, 
Feature& new_feature, std::map<String, Size>& protein_variable_index_map,
 
  122                            std::map<
String, std::set<String> >& prot_id_counter);
 
  128     void solveILP(std::vector<int>& solution_indices);
 
  141       std::binary_function<IndexTriple, IndexTriple, bool>
 
  153       std::binary_function<IndexTriple, IndexTriple, bool>
 
  164       std::binary_function<IndexTriple, IndexTriple, bool>
 
  176     void getXIC_(
const std::vector<std::pair<Size, Size> >& end_points,
 
  177                  std::vector<double>& weights,
 
  184     void calculateXICs_(std::vector<std::vector<double> >& xics,
 
  187                         const std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
 
  193     void createAndSolveILP_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
 
  194                             std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
 
  195                             std::vector<IndexTriple>& variable_indices, std::vector<int>& solution_indices,
 
  196                             UInt ms2_spectra_per_rt_bin, 
Size number_of_scans);
 
  198     void createAndSolveCombinedLPFeatureBased_(
const FeatureMap& features, std::vector<std::vector<double> >& intensity_weights,
 
  199                                                std::set<Int>& charges_set, std::vector<std::vector<std::pair<Size, Size> > >& mass_ranges,
 
  200                                                std::vector<IndexTriple>& variable_indices, std::vector<Int>& solution_indices,
 
  201                                                UInt ms2_spectra_per_rt_bin, 
Size number_of_scans, 
Size step_size = 0, 
bool sequential_order = 
false);
 
  204                           std::map<
String, std::vector<double> >::const_iterator map_iter,
 
  205                           Size& counter, 
Size& pep_counter, 
Size& feature_counter,
 
  206                           std::vector<IndexTriple>& variable_indices,
 
  207                           std::map<String, Size>& protein_penalty_index_map, 
FeatureMap& precursors);
 
  209     void addPrecursorAcquisitionNumberConstraint_(std::vector<IndexTriple>& variable_indices, 
Size number_of_features, 
UInt number_of_msms_per_precursor);
 
  211     void addMaxInclusionListSizeConstraints_(std::vector<IndexTriple>& variable_indices,  
UInt max_list_size);
 
  213     void addRTBinCapacityConstraint_(std::vector<IndexTriple>& variable_indices,
 
  214                                      Size max_rt_index, 
UInt ms2_spectra_per_rt_bin, 
bool sequential_order = 
false);
 
  216     void addProteinCoverageConstraint_(std::vector<IndexTriple>& variable_indices,
 
  218                                        std::map<String, Size> protein_variable_index_map);
 
  220     void addStepSizeConstraint_(std::vector<IndexTriple>& variable_indices, 
UInt step_size);
 
  228     Int getNumberOfPrecsInSpectrum_(
Int constr_idx);
 
  236     os << 
"feature: " << triple.
feature << 
" scan: " << triple.
scan << 
" variable: " << triple.
variable << 
" prot_acc: " << triple.
prot_acc;