libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
filterinterface.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/processing/filers/filterinterface.h
3
* \date 26/04/2019
4
* \author Olivier Langella
5
* \brief generic interface to filter any trace
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
10
*
11
* This file is part of the PAPPSOms++ library.
12
*
13
* PAPPSOms++ is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation, either version 3 of the License, or
16
* (at your option) any later version.
17
*
18
* PAPPSOms++ is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25
*
26
******************************************************************************/
27
28
#pragma once
29
#include <memory>
30
#include "
pappsomspp/export-import-config.h
"
31
32
33
namespace
pappso
34
{
35
class
Trace
;
36
37
/** @brief generic interface to apply a filter on a trace
38
*/
39
class
PMSPP_LIB_DECL
FilterInterface
40
{
41
public
:
42
virtual
Trace
&
filter
(
Trace
&data_points)
const
= 0;
43
virtual
~FilterInterface
(){};
44
};
45
46
typedef
std::shared_ptr<FilterInterface>
FilterInterfaceSPtr
;
47
typedef
std::shared_ptr<const FilterInterface>
FilterInterfaceCstSPtr
;
48
49
class
MassSpectrum
;
50
/** @brief generic interface to apply a filter on a MassSpectrum
51
* This is the same as FilterInterface, but some filter are only relevant if
52
* they are used on MassSpectrum using this interface means the filter can only
53
* be applied on MassSpectrum and not on Trace
54
*/
55
class
PMSPP_LIB_DECL
MassSpectrumFilterInterface
56
{
57
public
:
58
virtual
MassSpectrum
&
filter
(
MassSpectrum
&spectrum)
const
= 0;
59
60
virtual
~MassSpectrumFilterInterface
(){};
61
};
62
63
64
}
// namespace pappso
pappso::FilterInterface
generic interface to apply a filter on a trace
Definition
filterinterface.h:40
pappso::FilterInterface::filter
virtual Trace & filter(Trace &data_points) const =0
pappso::FilterInterface::~FilterInterface
virtual ~FilterInterface()
Definition
filterinterface.h:43
pappso::MassSpectrumFilterInterface
generic interface to apply a filter on a MassSpectrum This is the same as FilterInterface,...
Definition
filterinterface.h:56
pappso::MassSpectrumFilterInterface::~MassSpectrumFilterInterface
virtual ~MassSpectrumFilterInterface()
Definition
filterinterface.h:60
pappso::MassSpectrumFilterInterface::filter
virtual MassSpectrum & filter(MassSpectrum &spectrum) const =0
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition
massspectrum.h:70
pappso::Trace
A simple container of DataPoint instances.
Definition
trace.h:152
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::FilterInterfaceSPtr
std::shared_ptr< FilterInterface > FilterInterfaceSPtr
Definition
filterinterface.h:46
pappso::FilterInterfaceCstSPtr
std::shared_ptr< const FilterInterface > FilterInterfaceCstSPtr
Definition
filterinterface.h:47
pappsomspp
core
processing
filters
filterinterface.h
Generated on
for libpappsomspp by
1.17.0