6#include <OpenMS/config.h>
10#include <OpenMS/OpenMSConfig.h>
11#include <opentims++/scan2inv_ion_mobility_converter.h>
14#include <unordered_map>
45 class OPENMS_DLLAPI RationalScan2ImConverter :
public Scan2InvIonMobilityConverter
51 double c0, c1, c2, c3, c4, c5, c6, c7, c8, c9;
58 RationalScan2ImConverter(
59 std::unordered_map<uint32_t, Coefficients> calibrations,
60 std::vector<uint32_t> frame_to_cal);
62 void convert(uint32_t frame_id,
double* inv_ion_mobilities,
63 const double* scans, uint32_t size)
override;
64 void convert(uint32_t frame_id,
double* inv_ion_mobilities,
65 const uint32_t* scans, uint32_t size)
override;
66 void inverse_convert(uint32_t frame_id, uint32_t* scans,
67 const double* inv_ion_mobilities, uint32_t size)
override;
70 std::string description()
const override;
73 std::unordered_map<uint32_t, Coefficients> calibrations_;
74 std::vector<uint32_t> frame_to_cal_;
78 const Coefficients& getCalibration(uint32_t frame_id)
const;
82 static double applyFormula(
const Coefficients& c,
double scan);
85 static double invertFormula(
const Coefficients& c,
double inv_k0);
91 OPENMS_DLLAPI std::unique_ptr<Scan2InvIonMobilityConverter> tryCreateRationalConverter(
92 const std::string& tims_dir_path);
T convert(const String &s)
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19