Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConstraintEnergyContainer.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 core/scoring/constraints/ConstraintsEnergyContainer.hh
11 /// @brief Constraints Energy Container class declaration
12 /// @author Andrew Leaver-Fay
13 
14 #ifndef INCLUDED_core_scoring_constraints_ConstraintEnergyContainer_hh
15 #define INCLUDED_core_scoring_constraints_ConstraintEnergyContainer_hh
16 
17 // Unit headers
19 
20 // Package headers
24 
26 // AUTO-REMOVED #include <core/scoring/ScoreFunction.fwd.hh>
27 
28 // AUTO-REMOVED #include <core/scoring/ScoreType.hh>
29 
30 // Project headers
31 #include <core/pose/Pose.fwd.hh>
32 #include <core/graph/Graph.hh>
33 
34 #include <utility/vector1.hh>
35 #include <iostream>
36 
37 
38 namespace core {
39 namespace scoring {
40 namespace constraints {
41 
43 public:
45 
46 public:
47 
48  CstResNeighbIterator( Size focused_node, EdgeListIter edge_iter);
49 
50  virtual ~CstResNeighbIterator();
51 
53  virtual ResidueNeighborIterator const & operator ++ ();
54  virtual bool operator == ( ResidueNeighborIterator const & ) const;
55  virtual bool operator != ( ResidueNeighborIterator const & ) const;
56 
57  virtual Size upper_neighbor_id() const;
58  virtual Size lower_neighbor_id() const;
59 
60  virtual Size residue_iterated_on() const;
61  virtual Size neighbor_id() const;
62 
63  virtual void save_energy( EnergyMap const & );
64  virtual void retrieve_energy( EnergyMap & ) const;
65  virtual void accumulate_energy( EnergyMap & ) const;
66 
67  virtual void mark_energy_computed();
68  virtual void mark_energy_uncomputed();
69 
70  virtual bool energy_computed() const;
71 protected:
72 
74 
75 private:
78 
79 };
80 
82 public:
84 
85 public:
86  CstResNeighbConstIterator( Size focused_node, EdgeListConstIter edge_iter);
87 
89 
92  virtual bool operator == ( ResidueNeighborConstIterator const & ) const;
93  virtual bool operator != ( ResidueNeighborConstIterator const & ) const;
94 
95  virtual Size upper_neighbor_id() const;
96  virtual Size lower_neighbor_id() const;
97 
98  virtual Size residue_iterated_on() const;
99  virtual Size neighbor_id() const;
100 
101  virtual void retrieve_energy( EnergyMap & ) const;
102  virtual void accumulate_energy( EnergyMap & ) const;
103 
104  virtual bool energy_computed() const;
105 
106 protected:
107  static ConstraintEdge const * downcast_cstedge( graph::Edge const * );
108 
109 private:
111  graph::Node::EdgeListConstIter edge_iter_; // no need to store a const iterator if this class guarantees that no non-const methods are called
112 
113 };
114 
116 
117 public:
119 
120  CstEnergyContainer( pose::Pose const & );
121 
122  virtual
124 
125  virtual
126  bool empty() const;
127 
128  virtual
129  LREnergyContainerOP clone() const;
130 
131  virtual
132  void
133  set_num_nodes( Size );
134 
135  virtual
137  const_neighbor_iterator_begin( int resid ) const;
138 
139  virtual
141  const_neighbor_iterator_end( int resid ) const;
142 
143  virtual
145  const_upper_neighbor_iterator_begin( int resid ) const;
146 
147  virtual
149  const_upper_neighbor_iterator_end( int resid ) const;
150 
151  virtual
153  neighbor_iterator_begin( int resid );
154 
155  virtual
157  neighbor_iterator_end( int resid );
158 
159  virtual
161  upper_neighbor_iterator_begin( int resid );
162 
163  virtual
165  upper_neighbor_iterator_end( int resid );
166 
167  /// Does the constraint graph that this CEC defines match up with the constraint set stored
168  /// in the pose?
169  bool
170  matches( ConstraintSetCOP cst_set );
171 
172 private:
174 
177 
178 };
179 
180 }
181 }
182 }
183 
184 #endif