libpappsomspp
Library for mass spectrometry
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 "../../exportinmportconfig.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
FilterInterface
40
{
41
public
:
42
virtual
Trace &
filter
(Trace &data_points)
const
= 0;
43
};
44
45
typedef
std::shared_ptr<FilterInterface>
FilterInterfaceSPtr
;
46
typedef
std::shared_ptr<const FilterInterface>
FilterInterfaceCstSPtr
;
47
48
class
MassSpectrum;
49
/** @brief generic interface to apply a filter on a MassSpectrum
50
* This is the same as FilterInterface, but some filter are only relevant if
51
* they are used on MassSpectrum using this interface means the filter can only
52
* be applied on MassSpectrum and not on Trace
53
*/
54
class
MassSpectrumFilterInterface
55
{
56
public
:
57
virtual
MassSpectrum
&
filter
(
MassSpectrum
&spectrum)
const
= 0;
58
};
59
}
// namespace pappso
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks
Definition:
aa.cpp:39
pappso::MassSpectrum
Class to represent a mass spectrum.
Definition:
massspectrum.h:92
pappso::FilterInterfaceCstSPtr
std::shared_ptr< const FilterInterface > FilterInterfaceCstSPtr
Definition:
filterinterface.h:64
pappso::MassSpectrumFilterInterface::filter
virtual MassSpectrum & filter(MassSpectrum &spectrum) const =0
pappso::FilterInterface::filter
virtual Trace & filter(Trace &data_points) const =0
pappso::FilterInterfaceSPtr
std::shared_ptr< FilterInterface > FilterInterfaceSPtr
Definition:
filterinterface.h:63
pappsomspp
processing
filters
filterinterface.h
Generated on Mon Aug 24 2020 17:42:19 for libpappsomspp by
1.8.18