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
fldsgn
topology
BB_Pos.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 ./src/protocols/fldsgn/topology/BB_Pos.hh
11
/// @brief bb_pos class header
12
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com), Nobuyasu Koga ( nobuyasu@u.washington.edu )
13
14
#ifndef INCLUDED_protocols_fldsgn_topology_BB_Pos_hh
15
#define INCLUDED_protocols_fldsgn_topology_BB_Pos_hh
16
17
/// Unit headers
18
#include <
protocols/fldsgn/topology/BB_Pos.fwd.hh
>
19
20
/// Package headers
21
#include <
core/types.hh
>
22
#include <
core/chemical/ResidueType.fwd.hh
>
23
#include <
core/pose/Pose.fwd.hh
>
24
25
/// Utility headers
26
// AUTO-REMOVED #include <utility/vector1.hh>
27
28
/// Numeric headers
29
#include <numeric/xyzVector.hh>
30
31
#include <utility/vector1.hh>
32
33
34
namespace
protocols {
35
namespace
fldsgn {
36
namespace
topology {
37
38
//////////////////////////////////////////////////////////////////////////////////////////////////////
39
class
BB_Pos
{
40
41
42
typedef
core::Size
Size
;
43
typedef
core::Vector
Vector
;
44
typedef
core::pose::Pose
Pose
;
45
46
47
public
:
48
49
void
50
resize
(
Size
const
nres );
51
52
void
53
clear
();
54
55
void
56
take_coordinates_from_pose
(
Pose
const
& pose );
57
58
/// @details accessor for N's coordinate on residue i, requires take_coordinates_from_pose have been recently called.
59
Vector
const
&
60
N
(
Size
const
i )
const
61
{
62
return
N_
[i];
63
}
64
65
/// @details accessor for CA's coordinate on residue i, requires take_coordinates_from_pose have been recently called.
66
Vector
const
&
67
CA
(
Size
const
i )
const
68
{
69
return
CA_
[i];
70
}
71
72
/// @details accessor for CB's coordinate on residue i, requires take_coordinates_from_pose have been recently called.
73
Vector
const
&
74
CB
(
Size
const
i )
const
75
{
76
return
CB_
[i];
77
}
78
79
80
/// @details accessor for C's coordinate on residue i, requires take_coordinates_from_pose have been recently called.
81
Vector
const
&
82
C
(
Size
const
i )
const
83
{
84
return
C_
[i];
85
}
86
87
/// @details accessor for O's coordinate on residue i, requires take_coordinates_from_pose have been recently called.
88
Vector
const
&
89
O
(
Size
const
i )
const
90
{
91
return
O_
[i];
92
}
93
94
/// @
95
Size
size
()
const
96
{
97
return
residue_types_
.size();
98
}
99
100
private
:
101
102
bool
bbindices_up_to_date
(
Pose
const
& pose )
const
;
103
void
update_indices
(
Pose
const
& pose );
104
105
private
:
// DATA
106
107
utility::vector1< Vector >
N_
;
108
utility::vector1< Vector >
CA_
;
109
utility::vector1< Vector >
CB_
;
110
utility::vector1< Vector >
C_
;
111
utility::vector1< Vector >
O_
;
112
113
/// Residue types must match those of the pose for the indices
114
/// to match.
115
utility::vector1< core::chemical::ResidueType const * >
residue_types_
;
116
utility::vector1< Size >
N_index_
;
117
utility::vector1< Size >
CA_index_
;
118
utility::vector1< Size >
CB_index_
;
119
utility::vector1< Size >
C_index_
;
120
utility::vector1< Size >
O_index_
;
121
122
};
123
124
}
// ns topology
125
}
// ns fldsgn
126
}
// ns devel
127
128
#endif
Generated on Sat Jun 1 2013 11:50:08 for Rosetta 3.5 by
1.8.4