libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
timsmsrunreaderbase.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/msrun/private/timsmsrunreaderbase.h
3 * \date 15/07/2024
4 * \author Olivier Langella
5 * \brief Base class for all tims ms run reader objects
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2024 Olivier Langella
10 *<Olivier.Langella@universite-paris-saclay.fr>.
11 *
12 * This file is part of the PAPPSOms++ library.
13 *
14 * PAPPSOms++ is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * PAPPSOms++ is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28
29
30#pragma once
31
34
35namespace pappso
36{
38{
39 friend class MsFileAccessor;
40
41 public:
42 /**
43 * Default constructor
44 */
46 TimsMsRunReaderBase(const TimsMsRunReaderBase &msrun_reader_base);
47
48 /**
49 * Destructor
50 */
51 virtual ~TimsMsRunReaderBase();
52
53
54 /** @brief give an access to the underlying raw data pointer
55 */
56 virtual TimsDataSp getTimsDataSPtr();
57 virtual bool hasScanNumbers() const override;
58
59 virtual bool releaseDevice() override;
60
61 virtual bool acquireDevice() override;
62
63
64 virtual Trace getTicChromatogram() override;
65
66 /** @brief retention timeline
67 * get retention times along the MSrun in seconds
68 * @return vector of retention times (seconds)
69 */
70 virtual std::vector<double> getRetentionTimeLine() override;
71
72 virtual pappso::XicCoordSPtr newXicCoordSPtrFromSpectrumIndex(
73 std::size_t spectrum_index, pappso::PrecisionPtr precision) const override;
74
75 virtual pappso::XicCoordSPtr newXicCoordSPtrFromQualifiedMassSpectrum(
76 const pappso::QualifiedMassSpectrum &mass_spectrum,
77 pappso::PrecisionPtr precision) const override;
78
79 protected:
80 virtual void initialize() override;
81 virtual bool accept(const QString &file_name) const override;
82
83 protected:
84 TimsDataSp msp_timsData = nullptr;
85};
86} // namespace pappso
base class to read MSrun the only way to build a MsRunReader object is to use the MsRunReaderFactory
Definition msrunreader.h:63
Class representing a fully specified mass spectrum.
A simple container of DataPoint instances.
Definition trace.h:148
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
Definition msrunid.h:46
std::shared_ptr< TimsData > TimsDataSp
shared pointer on a TimsData object
Definition timsdata.h:52
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:43
main Tims data handler