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
toolbox
task_operations
RestrictInterGroupVectorOperation.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
//
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/toolbox/task_operations/RestrictInterGroupVectorOperation.hh
11
/// @brief restricts design to only those residues between two groups of structures
12
/// @author Ben Stranges stranges@unc.edu
13
14
#ifndef INCLUDED_protocols_toolbox_task_operations_RestrictInterGroupVectorOperation_hh
15
#define INCLUDED_protocols_toolbox_task_operations_RestrictInterGroupVectorOperation_hh
16
17
// unit headers
18
#include <
protocols/toolbox/task_operations/RestrictInterGroupVectorOperation.fwd.hh
>
19
20
//package headers
21
#include <
core/pack/task/operation/TaskOperation.hh
>
22
23
//project headers
24
#include <
core/pack/task/PackerTask.fwd.hh
>
25
#include <
core/types.hh
>
26
27
// Utility Headers
28
#include <utility/tag/Tag.fwd.hh>
29
#include <utility/vector1.hh>
30
31
//C++ headers
32
#include <set>
33
#include <utility>
//pair
34
35
36
namespace
protocols{
37
namespace
toolbox{
38
namespace
task_operations{
39
40
class
RestrictInterGroupVectorOperation
:
public
core::pack::task::operation::TaskOperation
{
41
public
:
42
typedef
core::pack::task::operation::TaskOperation
parent
;
43
typedef
std::set< core::Size >
one_group
;
44
typedef
std::pair< one_group, one_group >
group_pair
;
45
typedef
utility::vector1< group_pair >
group_vector
;
46
public
:
47
48
/// @brief default constructor
49
RestrictInterGroupVectorOperation
();
50
51
/// @brief full constructor
52
RestrictInterGroupVectorOperation
(
53
group_vector
const
& group,
54
core::Real
CB_dist_cutoff
,
55
core::Real
nearby_atom_cutoff
,
56
core::Real
vector_angle_cutoff
,
57
core::Real
vector_dist_cutoff
);
58
59
//@brief convienience contstuctor for one pair
60
RestrictInterGroupVectorOperation
(
61
group_pair
const
&
one_group
,
62
core::Real
CB_dist_cutoff
,
63
core::Real
nearby_atom_cutoff
,
64
core::Real
vector_angle_cutoff
,
65
core::Real
vector_dist_cutoff
);
66
67
/// @brief destructor
68
~RestrictInterGroupVectorOperation
();
69
70
/// @brief make clone
71
virtual
core::pack::task::operation::TaskOperationOP
clone
()
const
;
72
73
public
:
74
///@breif parse_tag
75
//parse_tag(
76
// utility::tag::TagPtr tag,
77
// core::pose::Pose const & pose);
78
79
/// @brief apply
80
virtual
void
apply
(
Pose
const
& pose,
core::pack::task::PackerTask
& task )
const
;
81
82
// ///@brief parse_tag
83
// void parse_tag(utility::tag::TagPtr tag);
84
85
/// @brief setters for member data
86
void
insert_pair
(
group_pair
pair
);
87
void
CB_dist_cutoff
(
core::Real
CB_dist_cutoff
);
88
void
nearby_atom_cutoff
(
core::Real
nearby_atom_cutoff
);
89
void
vector_angle_cutoff
(
core::Real
vector_angle_cutoff
);
90
void
vector_dist_cutoff
(
core::Real
vector_dist_cutoff
);
91
92
private
:
93
group_vector
pair_vector_
;
94
core::Real
CB_dist_cutoff_
;
95
core::Real
nearby_atom_cutoff_
;
96
core::Real
vector_angle_cutoff_
;
97
core::Real
vector_dist_cutoff_
;
98
};
99
100
101
}
// TaskOperations
102
}
// toolbox
103
}
// protocols
104
#endif
Generated on Sat Jun 1 2013 12:23:43 for Rosetta 3.5 by
1.8.4