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
filters
CalculatorFilter.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 sw=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file protocols/filters/CalculatorFilter.hh
11
/// @brief Combine several filters in a (semi) arbitrary calculation
12
/// @author Rocco Moretti (rmoretti@u.washington.edu)
13
14
#ifndef INCLUDED_protocols_filters_CalculatorFilter_hh
15
#define INCLUDED_protocols_filters_CalculatorFilter_hh
16
17
// Project Headers
18
#include <
protocols/filters/Filter.hh
>
19
#include <
core/pose/Pose.fwd.hh
>
20
#include <utility/tag/Tag.fwd.hh>
21
#include <
protocols/moves/DataMap.fwd.hh
>
22
#include <
protocols/moves/Mover.fwd.hh
>
23
24
#include <numeric/Calculator.fwd.hh>
25
#include <utility/vector1.hh>
26
27
#include <string>
28
29
// Unit headers
30
31
namespace
protocols {
32
namespace
filters {
33
34
class
CalculatorFilter
:
public
protocols::filters::Filter
35
{
36
public
:
37
CalculatorFilter
();
38
CalculatorFilter
(
std::string
equation);
39
CalculatorFilter
(
CalculatorFilter
const
& other);
40
virtual
~CalculatorFilter
();
41
42
virtual
bool
apply
(
core::pose::Pose
const
& pose )
const
;
43
virtual
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
44
virtual
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
45
core::Real
compute
(
core::pose::Pose
const
& pose )
const
;
46
47
virtual
protocols::filters::FilterOP
clone
()
const
{
48
return
new
CalculatorFilter
( *
this
);
49
}
50
virtual
protocols::filters::FilterOP
fresh_instance
()
const
{
51
return
new
CalculatorFilter
();
52
}
53
54
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
55
protocols::moves::DataMap
&,
56
protocols::filters::Filters_map
const
&,
57
protocols::moves::Movers_map
const
&,
58
core::pose::Pose
const
& );
59
void
threshold
(
core::Real
threshold
) {
threshold_
=
threshold
; }
60
61
void
add_filter
(
std::string
name
,
protocols::filters::FilterOP
filter );
62
63
void
add_constant
(
std::string
name
,
core::Real
value );
64
65
private
:
66
numeric::CalculatorOP
calc_
;
67
std::map<std::string, core::Real>
values_
;
68
std::map<std::string, protocols::filters::FilterOP>
filters_
;
69
core::Real
threshold_
;
70
71
};
72
73
}
// filters
74
}
// protocols
75
76
#endif //INCLUDED_protocols_Filters_CalculatorFilter_HH_
77
Generated on Sat Jun 1 2013 11:49:45 for Rosetta 3.5 by
1.8.4