6#include <OpenMS/config.h>
10#include <OpenMS/OpenMSConfig.h>
11#include <opentims++/scan2inv_ion_mobility_converter.h>
14#include <unordered_map>
46 class OPENMS_DLLAPI RationalScan2ImConverter :
public Scan2InvIonMobilityConverter
52 double c0, c1, c2, c3, c4, c5, c6, c7, c8, c9;
59 RationalScan2ImConverter(
60 std::unordered_map<uint32_t, Coefficients> calibrations,
61 std::vector<uint32_t> frame_to_cal);
63 void convert(uint32_t frame_id,
double* inv_ion_mobilities,
64 const double* scans, uint32_t size)
override;
65 void convert(uint32_t frame_id,
double* inv_ion_mobilities,
66 const uint32_t* scans, uint32_t size)
override;
67 void inverse_convert(uint32_t frame_id, uint32_t* scans,
68 const double* inv_ion_mobilities, uint32_t size)
override;
71 std::string description()
const override;
74 std::unordered_map<uint32_t, Coefficients> calibrations_;
75 std::vector<uint32_t> frame_to_cal_;
79 const Coefficients& getCalibration(uint32_t frame_id)
const;
83 static double applyFormula(
const Coefficients& c,
double scan);
87 static double invertFormula(
const Coefficients& c,
double inv_k0);
93 OPENMS_DLLAPI std::unique_ptr<Scan2InvIonMobilityConverter> tryCreateRationalConverter(
94 const std::string& tims_dir_path);
T convert(const std::string &s)
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19