// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// FilterMispickedIons
Rcpp::List FilterMispickedIons(const Rcpp::DataFrame& peakTable, const double ringWin, const double isoWin, const double trWin, const double maxIsoShift);
RcppExport SEXP _mpactr_FilterMispickedIons(SEXP peakTableSEXP, SEXP ringWinSEXP, SEXP isoWinSEXP, SEXP trWinSEXP, SEXP maxIsoShiftSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::DataFrame& >::type peakTable(peakTableSEXP);
    Rcpp::traits::input_parameter< const double >::type ringWin(ringWinSEXP);
    Rcpp::traits::input_parameter< const double >::type isoWin(isoWinSEXP);
    Rcpp::traits::input_parameter< const double >::type trWin(trWinSEXP);
    Rcpp::traits::input_parameter< const double >::type maxIsoShift(maxIsoShiftSEXP);
    rcpp_result_gen = Rcpp::wrap(FilterMispickedIons(peakTable, ringWin, isoWin, trWin, maxIsoShift));
    return rcpp_result_gen;
END_RCPP
}
// FilterCV
Rcpp::DataFrame FilterCV(const Rcpp::DataFrame& peakTable, const std::vector<std::string>& uniqueSampleList, const double cvCutOff, const size_t replicates);
RcppExport SEXP _mpactr_FilterCV(SEXP peakTableSEXP, SEXP uniqueSampleListSEXP, SEXP cvCutOffSEXP, SEXP replicatesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::DataFrame& >::type peakTable(peakTableSEXP);
    Rcpp::traits::input_parameter< const std::vector<std::string>& >::type uniqueSampleList(uniqueSampleListSEXP);
    Rcpp::traits::input_parameter< const double >::type cvCutOff(cvCutOffSEXP);
    Rcpp::traits::input_parameter< const size_t >::type replicates(replicatesSEXP);
    rcpp_result_gen = Rcpp::wrap(FilterCV(peakTable, uniqueSampleList, cvCutOff, replicates));
    return rcpp_result_gen;
END_RCPP
}
// UniqueDuplicates
Rcpp::StringVector UniqueDuplicates(Rcpp::StringVector& compoundNames);
RcppExport SEXP _mpactr_UniqueDuplicates(SEXP compoundNamesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::StringVector& >::type compoundNames(compoundNamesSEXP);
    rcpp_result_gen = Rcpp::wrap(UniqueDuplicates(compoundNames));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_mpactr_FilterMispickedIons", (DL_FUNC) &_mpactr_FilterMispickedIons, 5},
    {"_mpactr_FilterCV", (DL_FUNC) &_mpactr_FilterCV, 4},
    {"_mpactr_UniqueDuplicates", (DL_FUNC) &_mpactr_UniqueDuplicates, 1},
    {NULL, NULL, 0}
};

RcppExport void R_init_mpactr(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
