libpappsomspp
Library for mass spectrometry
pappso::PrecisionFactory Class Reference

#include <precision.h>

Static Public Member Functions

static PrecisionPtr fromString (const QString &str)
 
static PrecisionPtr getDaltonInstance (pappso_double value)
 
static PrecisionPtr getPpmInstance (pappso_double value)
 
static PrecisionPtr getResInstance (pappso_double value)
 
static PrecisionPtr fromString (const QString &str)
 
static PrecisionPtr getDaltonInstance (pappso_double value)
 
static PrecisionPtr getPpmInstance (pappso_double value)
 
static PrecisionPtr getResInstance (pappso_double value)
 
static PrecisionPtr getMzInstance (pappso_double value, int charge)
 

Private Types

using MapDaltonPrecision = std::map< pappso_double, DaltonPrecision * >
 
using MapPpmPrecision = std::map< pappso_double, PpmPrecision * >
 
using MapResPrecision = std::map< pappso_double, ResPrecision * >
 
using MapDaltonPrecision = std::map< pappso_double, DaltonPrecision * >
 
using MapPpmPrecision = std::map< pappso_double, PpmPrecision * >
 
using MapResPrecision = std::map< pappso_double, ResPrecision * >
 
using MapMzPrecision = std::map< pappso_double, MzPrecision * >
 

Static Private Attributes

static MapDaltonPrecision m_mapDalton
 
static MapPpmPrecision m_mapPpm
 
static MapResPrecision m_mapRes
 
static MapMzPrecision m_mapMz
 

Detailed Description

Definition at line 147 of file precision.h.

Member Typedef Documentation

◆ MapDaltonPrecision [1/2]

◆ MapDaltonPrecision [2/2]

Definition at line 149 of file precision.h.

◆ MapMzPrecision

◆ MapPpmPrecision [1/2]

◆ MapPpmPrecision [2/2]

Definition at line 150 of file precision.h.

◆ MapResPrecision [1/2]

◆ MapResPrecision [2/2]

Definition at line 151 of file precision.h.

Member Function Documentation

◆ fromString() [1/2]

PrecisionPtr pappso::PrecisionFactory::fromString ( const QString &  str)
static

Definition at line 92 of file precision.cpp.

95  {
97  }
98  else if(list.size() == 2)
99  {
100  if(list[1].toLower() == "dalton")
101  {
103  }
104 
105  if(list[1].toLower() == "ppm")
106  {
107  return PrecisionFactory::getPpmInstance(value);
108  }
109 
110  if(list[1].toLower() == "res")
111  {
112  return PrecisionFactory::getResInstance(value);
113  }
114 
115  throw ExceptionNotPossible(
116  QObject::tr("ERROR getting precision from string :\nprecision "
117  "unit %1 to not known in %2")
118  .arg(list[1])
119  .arg(str));
120  }
121  }
122 
123  throw ExceptionNotPossible(QObject::tr("ERROR getting precision from string "
124  ":\nunable to convert %1 to precision")
125  .arg(str));
126 }
127 
130 {
131  MapDaltonPrecision::iterator it = m_mapDalton.find(value);
132  if(it == m_mapDalton.end())
133  {
134  // not found
135  std::pair<MapDaltonPrecision::iterator, bool> insert_res =
136  m_mapDalton.insert(std::pair<pappso_double, DaltonPrecision *>(
137  value, new DaltonPrecision(value)));
138  it = insert_res.first;
139  }
140  else
141  {
142  // found
143  }
144  return it->second;
145 }
146 
147 

◆ fromString() [2/2]

static PrecisionPtr pappso::PrecisionFactory::fromString ( const QString &  str)
static

◆ getDaltonInstance() [1/2]

PrecisionPtr pappso::PrecisionFactory::getDaltonInstance ( pappso_double  value)
static

Definition at line 150 of file precision.cpp.

150 {
151  if(!value)
152  throw ExceptionNotPossible(
153  QObject::tr("Fatal error at precision.cpp "
154  "-- ERROR trying to set a Resolution precision value of 0. "
155  "Program aborted."));
156 
157  MapPpmPrecision::iterator it = m_mapPpm.find(value);
158 
159  if(it == m_mapPpm.end())
160  {
161  // Not found.
162  std::pair<MapPpmPrecision::iterator, bool> insert_res =
163  m_mapPpm.insert(std::pair<pappso_double, PpmPrecision *>(
164  value, new PpmPrecision(value)));
165  it = insert_res.first;
166  }

References m_mapPpm.

Referenced by pappso::AaModification::getInstance().

◆ getDaltonInstance() [2/2]

static PrecisionPtr pappso::PrecisionFactory::getDaltonInstance ( pappso_double  value)
static

◆ getMzInstance()

PrecisionPtr pappso::PrecisionFactory::getMzInstance ( pappso_double  value,
int  charge 
)
static

Definition at line 260 of file massspectrumcombinerfactory.cpp.

261  {
262  // Found.
263  }
264 
265  return it->second;
266 }
267 
268 
270 {
271 }
272 
274 {
275 }
276 
278 DaltonPrecision::unit() const
279 {
280  return PrecisionUnit::dalton;
281 }
282 
285 {
286  return m_nominal;
287 }

◆ getPpmInstance() [1/2]

PrecisionPtr pappso::PrecisionFactory::getPpmInstance ( pappso_double  value)
static

Definition at line 170 of file precision.cpp.

177 {
178  if(!value)
179  throw ExceptionNotPossible(
180  QObject::tr("Fatal error at precision.cpp "
181  "-- ERROR trying to set a Resolution precision value of 0. "
182  "Program aborted."));
183 
184  MapResPrecision::iterator it = m_mapRes.find(value);
185 
186  if(it == m_mapRes.end())
187  {
188  // not found
189  std::pair<MapResPrecision::iterator, bool> insert_res =
190  m_mapRes.insert(std::pair<pappso_double, ResPrecision *>(
191  value, new ResPrecision(value)));
192  it = insert_res.first;
193  }

◆ getPpmInstance() [2/2]

static PrecisionPtr pappso::PrecisionFactory::getPpmInstance ( pappso_double  value)
static

◆ getResInstance() [1/2]

PrecisionPtr pappso::PrecisionFactory::getResInstance ( pappso_double  value)
static

Definition at line 197 of file precision.cpp.

202  : PrecisionBase(x)
203 {
204 }
205 
207 {
208 }
209 
211 DaltonPrecision::unit() const
212 {
213  return PrecisionUnit::dalton;
214 }
215 
217 DaltonPrecision::delta([[maybe_unused]] pappso_double value) const
218 {
219  return m_nominal;
220 }

◆ getResInstance() [2/2]

static PrecisionPtr pappso::PrecisionFactory::getResInstance ( pappso_double  value)
static

Member Data Documentation

◆ m_mapDalton

static MapDaltonPrecision pappso::PrecisionFactory::m_mapDalton
staticprivate
Initial value:
= [] {
return ret;
}()

Definition at line 154 of file precision.h.

◆ m_mapMz

PrecisionFactory::MapMzPrecision pappso::PrecisionFactory::m_mapMz
staticprivate
Initial value:
= [] {
return ret;
}()

Definition at line 157 of file massspectrumcombinerfactory.h.

◆ m_mapPpm

static MapPpmPrecision pappso::PrecisionFactory::m_mapPpm
staticprivate
Initial value:
= [] {
return ret;
}()

Definition at line 155 of file precision.h.

Referenced by getDaltonInstance().

◆ m_mapRes

static MapResPrecision pappso::PrecisionFactory::m_mapRes
staticprivate
Initial value:
= [] {
return ret;
}()

Definition at line 156 of file precision.h.


The documentation for this class was generated from the following files:
pappso::pappso_double
double pappso_double
A type definition for doubles.
Definition: types.h:69
pappso::PrecisionFactory::m_mapRes
static MapResPrecision m_mapRes
Definition: precision.h:156
pappso::PrecisionFactory::getPpmInstance
static PrecisionPtr getPpmInstance(pappso_double value)
Definition: precision.cpp:170
pappso::PrecisionFactory::MapDaltonPrecision
std::map< pappso_double, DaltonPrecision * > MapDaltonPrecision
Definition: precision.h:149
pappso::DaltonPrecision::~DaltonPrecision
virtual ~DaltonPrecision()
Definition: precision.cpp:227
pappso::PrecisionFactory::MapMzPrecision
std::map< pappso_double, MzPrecision * > MapMzPrecision
Definition: massspectrumcombinerfactory.h:151
pappso::PrecisionUnit::dalton
@ dalton
pappso::DaltonPrecision::delta
virtual pappso_double delta(pappso_double value) const override
Definition: massspectrumcombinerfactory.cpp:305
pappso::PeptideIonCter::x
@ x
pappso::PrecisionFactory::MapPpmPrecision
std::map< pappso_double, PpmPrecision * > MapPpmPrecision
Definition: precision.h:150
pappso::PrecisionFactory::getDaltonInstance
static PrecisionPtr getDaltonInstance(pappso_double value)
Definition: precision.cpp:150
pappso::DaltonPrecision::unit
virtual PrecisionUnit unit() const override
Definition: precision.cpp:232
pappso::DaltonPrecision::DaltonPrecision
DaltonPrecision(pappso_double x)
Definition: precision.cpp:223
pappso::PrecisionPtr
const typedef PrecisionBase * PrecisionPtr
Definition: precision.h:143
pappso::PrecisionFactory::m_mapDalton
static MapDaltonPrecision m_mapDalton
Definition: precision.h:154
pappso::PrecisionUnit
PrecisionUnit
Definition: types.h:83
pappso::PrecisionFactory::MapResPrecision
std::map< pappso_double, ResPrecision * > MapResPrecision
Definition: precision.h:151
pappso::PrecisionBase::m_nominal
const pappso_double m_nominal
Definition: precision.h:88
pappso::PrecisionFactory::m_mapPpm
static MapPpmPrecision m_mapPpm
Definition: precision.h:155
pappso::PrecisionFactory::getResInstance
static PrecisionPtr getResInstance(pappso_double value)
Definition: precision.cpp:197