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
core
chemical
orbitals
ICoorOrbitalData.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
/// @begin AtomTypeSet
11
///
12
/// @brief
13
/// A class for reading in the orbital type properties
14
///
15
/// @detailed
16
/// This class contains the ORBITALS INTERNAL_ICOOR data that is read in from residue_io.cc. Actually,
17
/// the data is set when residue_io.cc calls the command from residuetype.cc set_orbital_icoor. The data
18
/// is set and chills out in memory until needed. The actual xyz coordinates are not stored at this point.
19
/// xyz coordinates are constructed when conformation/Residue.hh asks for the build function in this class.
20
/// At that point, the coordinates are built and returned.
21
///
22
/// But wait, you say, why do you store the names of the atoms instead of the index of the atoms!? Well, the
23
/// problem occurs when residuetype reorders the indices of the atoms. When this occurrs, the indices for the icoor
24
/// are not reordered here. Another problem ocurs because orbital indices are not reordered in this process because
25
/// orbital indices are seperate from the atom indices. Regardless, when you build the xyz coords, this step is transparent
26
/// because the function orbital_xyz() in residue.hh takes care of this conversion of indice to string.
27
///
28
/// @note NOTE!!!!!!!!!!! The internal coordinates cannot contain an orbital as the stub1, stub2, or stub3 atom.
29
/// This is because the xyz coordinates are not updated when the conformation changes. The stub1, stub2, stub2 atoms
30
/// must be actual atoms and not orbitals!!!!! (design feature or flaw? you decide)
31
///
32
///
33
/// @authors
34
/// Steven Combs
35
///
36
///
37
/// @last_modified December 12 2010
38
/////////////////////////////////////////////////////////////////////////
39
40
#ifndef INCLUDED_core_chemical_orbitals_ICoorOrbitalData_hh
41
#define INCLUDED_core_chemical_orbitals_ICoorOrbitalData_hh
42
43
// Project headers
44
// AUTO-REMOVED #include <core/chemical/ResidueType.fwd.hh>
45
// AUTO-REMOVED #include <core/conformation/Residue.fwd.hh>
46
// AUTO-REMOVED #include <core/conformation/Conformation.fwd.hh>
47
// AUTO-REMOVED #include <core/id/AtomID.hh>
48
49
// Utility headers
50
// AUTO-REMOVED #include <utility/exit.hh>
51
52
#include <
core/types.hh
>
53
#include <string>
54
55
//Auto Headers
56
namespace
core{
57
namespace
chemical{
58
namespace
orbitals{
59
60
class
ICoorOrbitalData
{
61
public
:
62
63
public
:
64
/// @brief default constructor
65
ICoorOrbitalData
();
66
67
/// @brief construct ICoorAtomID by atom name and its ResidueType
68
ICoorOrbitalData
(
69
Real
phi
,
70
Real
theta
,
71
Real
distance
,
72
std::string
stub1
,
73
std::string
stub2
,
74
std::string
stub3
75
);
76
77
ICoorOrbitalData
(
78
Real
phi,
79
Real
theata,
80
Real
distance,
81
Size
stub1,
82
Size
stub2,
83
Size
stub3
84
);
85
86
87
88
89
Real
phi
()
const
;
90
Real
theta
()
const
;
91
Real
distance
()
const
;
92
std::string
stub1
()
const
;
93
std::string
stub2
()
const
;
94
std::string
stub3
()
const
;
95
96
Vector
97
build
(
98
Vector
stub1_xyz,
99
Vector
stub2_xyz,
100
Vector
stub3_xyz
101
)
const
;
102
103
104
void
replace_stub1
(
const
core::Size
atom1 )
105
{
106
s_stub1_
=atom1;
107
}
108
109
void
replace_stub2
(
const
core::Size
atom2)
110
{
111
s_stub2_
=atom2;
112
}
113
void
replace_stub3
(
const
core::Size
atom3)
114
{
115
s_stub3_
=atom3;
116
}
117
118
core::Size
get_stub1
()
119
{
120
return
s_stub1_
;
121
}
122
core::Size
get_stub2
()
123
{
124
return
s_stub2_
;
125
}
126
core::Size
get_stub3
()
127
{
128
return
s_stub3_
;
129
}
130
131
132
private
:
133
Real
phi_
;
134
Real
theta_
;
135
Real
distance_
;
136
std::string
stub1_
;
137
std::string
stub2_
;
138
std::string
stub3_
;
139
140
Size
s_stub1_
;
141
Size
s_stub2_
;
142
Size
s_stub3_
;
143
144
145
146
};
147
148
149
150
151
}
152
}
153
}
154
155
156
#endif
/* ICOORORBITALID_HH_ */
Generated on Sat Jun 1 2013 11:31:36 for Rosetta 3.5 by
1.8.4