Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DimerPairing.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 made available under the Rosetta Commons license.
5 // See http://www.rosettacommons.org/license
6 // (C) 199x-2007 University of Washington
7 // (C) 199x-2007 University of California Santa Cruz
8 // (C) 199x-2007 University of California San Francisco
9 // (C) 199x-2007 Johns Hopkins University
10 // (C) 199x-2007 University of North Carolina, Chapel Hill
11 // (C) 199x-2007 Vanderbilt University
12 
13 /// @file
14 /// @brief
15 /// @author Nobuyasu Koga ( nobuyasu@uw.edu )
16 
17 #ifndef INCLUDED_protocols_fldsgn_topology_DimerPairing_hh
18 #define INCLUDED_protocols_fldsgn_topology_DimerPairing_hh
19 
20 #include <core/types.hh>
21 #include <utility/pointer/ReferenceCount.hh>
24 #include <utility/vector1.hh>
25 
26 namespace protocols {
27 namespace fldsgn {
28 namespace topology {
29 
30 
32 public:
33  ///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
34  virtual ~DimerPairing();
35 
36 
37  typedef core::Size Size;
38  typedef core::Real Real;
39 
40 
41 public:
42 
43  DimerPairing (
44  Size const res1,
45  Size const res2,
46  Real const dist,
47  Real const phi,
48  Real const theta,
49  Real const sigma,
50  Real const dp,
51  Size const sign1,
52  Size const sign2,
53  Real const score );
54 
55  Size
56  res1() const
57  {
58  return res1_;
59  }
60 
61  Size
62  res2() const
63  {
64  return res2_;
65  }
66 
67  Real
68  dist() const
69  {
70  return dist_;
71  }
72 
73  Real
74  phi() const
75  {
76  return phi_;
77  }
78 
79  Real
80  theta() const
81  {
82  return theta_;
83  }
84 
85  Real
86  dp() const
87  {
88  return dp_;
89  }
90 
91  Real
92  sigma() const
93  {
94  return sigma_;
95  }
96 
97  Size
98  sign1() const
99  {
100  return sign1_;
101  }
102 
103  Size
104  sign2() const
105  {
106  return sign2_;
107  }
108 
109  Real
110  score() const
111  {
112  return score_;
113  }
114 
115  char
116  orient() const
117  {
118  return orient_;
119  }
120 
121  bool
122  valid() const
123  {
124  return valid_;
125  }
126 
127  void
128  valid( bool const v )
129  {
130  valid_ = v;
131  }
132 
133 
134 
135 public:
136 
137 
138  bool is_parallel( Real const phi, Real const theta );
139 
140 
141 public:
142 
143 
144  friend
145  std::ostream & operator<<( std::ostream & out, const DimerPairing &dp );
146 
147 
148 private: // data
149 
150 
161  char orient_;
162  bool valid_;
163 
164 };
165 
166 class DimerPairings : public utility::vector1< DimerPairingOP > {
167 public:
168 
169  typedef core::Size Size;
172 
173 public:
174 
175  void finalize( SS_Info2 const & ss_info );
176 
177  friend
178  std::ostream & operator<<( std::ostream& out, const DimerPairings &dps );
179 
180 };
181 
182 
183 } // ns topology
184 } // ns fldsgn
185 } // ns protocols
186 
187 #endif