34 #include <QStringList>
43 MapDaltonPrecision ret;
80 QStringList list = str.split(QRegExp(
"\\s+"), Qt::SkipEmptyParts);
89 QObject::tr(
"ERROR getting precision from string :\nunable to "
90 "convert %1 to number in %2")
98 else if(list.size() == 2)
100 if(list[1].toLower() ==
"dalton")
105 if(list[1].toLower() ==
"ppm")
110 if(list[1].toLower() ==
"res")
116 QObject::tr(
"ERROR getting precision from string :\nprecision "
117 "unit %1 to not known in %2")
124 ":\nunable to convert %1 to precision")
131 MapDaltonPrecision::iterator it =
m_mapDalton.find(value);
135 std::pair<MapDaltonPrecision::iterator, bool> insert_res =
136 m_mapDalton.insert(std::pair<pappso_double, DaltonPrecision *>(
138 it = insert_res.first;
153 QObject::tr(
"Fatal error at precision.cpp "
154 "-- ERROR trying to set a Resolution precision value of 0. "
155 "Program aborted."));
157 MapPpmPrecision::iterator it =
m_mapPpm.find(value);
162 std::pair<MapPpmPrecision::iterator, bool> insert_res =
163 m_mapPpm.insert(std::pair<pappso_double, PpmPrecision *>(
165 it = insert_res.first;
180 QObject::tr(
"Fatal error at precision.cpp "
181 "-- ERROR trying to set a Resolution precision value of 0. "
182 "Program aborted."));
184 MapResPrecision::iterator it =
m_mapRes.find(value);
189 std::pair<MapResPrecision::iterator, bool> insert_res =
190 m_mapRes.insert(std::pair<pappso_double, ResPrecision *>(
192 it = insert_res.first;
206 double value = origin->
getNominal() * fraction;
260 return (QString(
"%1 dalton").arg(
m_nominal));
290 return (QString(
"%1 ppm").arg(
m_nominal));
320 return (QString(
"%1 res").arg(
m_nominal));
virtual QString toString() const override
virtual ~DaltonPrecision()
DaltonPrecision(pappso_double x)
virtual pappso_double delta(pappso_double value) const override
virtual PrecisionUnit unit() const override
PpmPrecision(pappso_double x)
virtual pappso_double delta(pappso_double value) const override
virtual PrecisionUnit unit() const override
virtual QString toString() const override
const pappso_double m_nominal
virtual pappso_double getNominal() const final
virtual PrecisionUnit unit() const =0
static PrecisionPtr getResInstance(pappso_double value)
get a resolution precision pointer
static PrecisionPtr fromString(const QString &str)
get a precision pointer from a string
static PrecisionPtr getPrecisionPtrInstance(PrecisionUnit unit, double value)
get a precision pointer instance
static MapResPrecision m_mapRes
static MapPpmPrecision m_mapPpm
std::map< pappso_double, PpmPrecision * > MapPpmPrecision
static PrecisionPtr getPpmInstance(pappso_double value)
get a ppm precision pointer
static PrecisionPtr getPrecisionPtrFractionInstance(PrecisionPtr origin, double fraction)
get the fraction of an existing precision pointer
static PrecisionPtr getDaltonInstance(pappso_double value)
get a Dalton precision pointer
std::map< pappso_double, DaltonPrecision * > MapDaltonPrecision
static MapDaltonPrecision m_mapDalton
std::map< pappso_double, ResPrecision * > MapResPrecision
virtual PrecisionUnit unit() const override
virtual pappso_double delta(pappso_double value) const override
virtual QString toString() const override
ResPrecision(pappso_double x)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
const pappso_double ONEMILLION(1000000)
double pappso_double
A type definition for doubles.