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
scoring
symmetry
SymmetricEnergies.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
// This file is part of the Rosetta software suite and is made available under license.
5
// The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6
// (C) 199x-2009 Rosetta Commons participating institutions and developers.
7
// For more information, see http://www.rosettacommons.org/.
8
9
/// @file core/scoring/symmetry/SymmetricEnergies.hh
10
/// @brief Symmetric Energies class to store cached energies and track the residue
11
/// neighbor relationships
12
/// @author Ingemar Andre
13
14
#ifndef INCLUDED_core_scoring_symmetry_SymmetricEnergies_hh
15
#define INCLUDED_core_scoring_symmetry_SymmetricEnergies_hh
16
17
// Unit headers
18
#include <
core/scoring/symmetry/SymmetricEnergies.fwd.hh
>
19
20
// Package headers
21
#include <
core/scoring/Energies.hh
>
22
#include <
core/conformation/symmetry/SymmetryInfo.fwd.hh
>
23
#include <
core/conformation/symmetry/SymmetricConformation.fwd.hh
>
24
25
// Project headers
26
#include <
core/conformation/PointGraph.fwd.hh
>
27
#include <
core/scoring/ContextGraphTypes.hh
>
28
29
// Numeric headers
30
// AUTO-REMOVED #include <numeric/xyzMatrix.hh>
31
32
#include <utility/vector1.hh>
33
#include <numeric/xyzMatrix.fwd.hh>
34
35
36
namespace
core {
37
namespace
scoring {
38
namespace
symmetry {
39
40
class
SymmetricEnergies
:
public
Energies
41
{
42
43
public
:
44
45
typedef
conformation::symmetry::SymmetricConformation
SymmetricConformation
;
46
typedef
conformation::symmetry::SymmetryInfoCOP
SymmetryInfoCOP
;
47
48
typedef
numeric::xyzMatrix< Real >
Matrix
;
49
50
public
:
51
/// ctor -- ensure correct initial state
52
SymmetricEnergies
();
53
54
// Explicit copy ctor to avoid #include .hh's
55
SymmetricEnergies
(
Energies
const
& src );
56
57
SymmetricEnergies
(
Energies
& src );
58
59
// Explicit assignmnet operator to avoid #include .hh's
60
virtual
Energies
const
&
operator =
(
Energies
const
& rhs );
61
62
///@details determine whether my type is the same as another Conformation's
63
virtual
64
bool
65
same_type_as_me
(
Energies
const
& other,
bool
recurse =
true
)
const
;
66
67
~SymmetricEnergies
();
68
69
EnergiesOP
70
clone
()
const
;
71
72
void
set_derivative_graph
(
MinimizationGraphOP
dg );
73
MinimizationGraphOP
derivative_graph
();
74
MinimizationGraphCOP
derivative_graph
()
const
;
75
76
private
:
77
78
void
update_neighbor_links
(
pose::Pose
const
& pose );
79
void
fill_point_graph
(
pose::Pose
const
& pose,
conformation::PointGraphOP
pg )
const
;
80
void
require_context_graph_
(
scoring::ContextGraphType
type,
bool
external )
const
;
81
82
#ifdef USEBOOSTSERIALIZE
83
friend
class
boost::serialization::access;
84
85
template
<
class
Archive>
86
void
serialize(Archive & ar,
const
unsigned
int
version){
87
ar & boost::serialization::base_object<Energies>(*this);
88
}
89
90
#endif
91
private
:
92
MinimizationGraphOP
derivative_graph_
;
93
94
};
95
96
}
// namespace symmetry
97
}
// namespace scoring
98
}
// namespace core
99
100
101
#endif // INCLUDED_core_scoring_symmetry_SymmetricEnergies_HH
Generated on Sat Jun 1 2013 11:40:19 for Rosetta 3.5 by
1.8.4