Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
match
output
MatchFilter.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
// :noTabs=false:tabSize=4:indentSize=4:
4
//
5
// (c) Copyright Rosetta Commons Member Institutions.
6
// (c) This file is part of the Rosetta software suite and is made available under license.
7
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10
11
/// @file protocols/match/output/MatchFilter.hh
12
/// @brief Declaration for abstract class to filter matches.
13
/// @author Alex Zanghellini (zanghell@u.washington.edu)
14
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com), porting to mini
15
16
#ifndef INCLUDED_protocols_match_output_MatchFilter_hh
17
#define INCLUDED_protocols_match_output_MatchFilter_hh
18
19
// Unit headers
20
#include <
protocols/match/output/MatchFilter.fwd.hh
>
21
22
// Package headers
23
#include <
protocols/match/Hit.fwd.hh
>
24
25
// Utility headers
26
#include <utility/pointer/ReferenceCount.hh>
27
28
#include <iterator>
29
30
31
namespace
protocols {
32
namespace
match
{
33
namespace
output {
34
35
class
MatchFilter
:
public
utility::pointer::ReferenceCount
{
36
public
:
37
38
MatchFilter
(
std::string
filter_name
);
39
40
virtual
41
~MatchFilter
();
42
43
/// @brief Returns true if the given match passes this filter
44
virtual
45
bool
46
passes_filter
(
47
match
const
& m
48
)
const
= 0;
49
50
virtual
51
bool
52
passes_filter
(
53
match_dspos1
const
& m
54
)
const
= 0;
55
56
std::string
57
filter_name
()
const
{
58
return
filter_name_
; }
59
60
private
:
61
std::string
filter_name_
;
62
63
};
64
65
class
StateAccumulatingMatchFilter
:
public
MatchFilter
{
66
public
:
67
68
StateAccumulatingMatchFilter
(
std::string
filter_name
);
69
70
virtual
71
~StateAccumulatingMatchFilter
();
72
73
/// @brief Returns true if the given match passes this filter
74
virtual
75
bool
76
passes_filter
(
77
match
const
& m
78
)
const
= 0;
79
80
virtual
81
bool
82
passes_filter
(
83
match_dspos1
const
& m
84
)
const
= 0;
85
86
/// @brief Note that a particular match has passed all the filters and will be output.
87
virtual
88
void
89
note_match_accepted
(
90
match
const
& m
91
) = 0;
92
93
virtual
94
bool
95
note_match_accepted
(
96
match_dspos1
const
& m
97
)
const
= 0;
98
99
/// @brief Erase all tracking data on which matches have already been output.
100
virtual
101
void
102
reset
() = 0;
103
104
};
105
106
}
107
}
108
}
109
110
#endif
Generated on Sat Jun 1 2013 11:59:41 for Rosetta 3.5 by
1.8.4