Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HBEvalTuple.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/hbonds/HBEvalTuple.hh
10 /// @brief Tuple describing data about the donor and acceptor in a single hbond
11 /// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
12 
13 #ifndef INCLUDED_core_scoring_hbonds_HBEvalTuple_HH
14 #define INCLUDED_core_scoring_hbonds_HBEvalTuple_HH
15 
16 // Unit headers
18 
19 // Package headers
21 
22 // Project headers
24 
25 namespace core {
26 namespace scoring {
27 namespace hbonds {
28 
30 {
31 private:
36 
37 public:
43  {}
44 
46  int const datm,
47  core::conformation::Residue const & don_rsd,
48  int const aatm,
49  core::conformation::Residue const & acc_rsd
50  );
51 
53  HBDonChemType don,
54  HBAccChemType acc,
56  );
57 
58  HBEvalTuple( HBEvalTuple const & src ) :
59  don_type_( src.don_type_ ),
60  acc_type_( src.acc_type_ ),
61  seq_sep_( src.seq_sep_ ),
62  eval_type_( src.eval_type_ )
63  {}
64 
65  HBEvalTuple const & operator = ( HBEvalTuple const & rhs ) {
66  if ( this != & rhs ) {
67  don_type_ = rhs.don_type_;
68  acc_type_ = rhs.acc_type_;
69  seq_sep_ = rhs.seq_sep_;
70  eval_type_ = rhs.eval_type_;
71  }
72  return *this;
73  }
74 
75  inline ~HBEvalTuple() {}
76 
77  friend
78  bool
79  operator==(HBEvalTuple const & a, HBEvalTuple const & b);
80 
81  void don_type( HBDonChemType don );
82  void acc_type( HBAccChemType acc );
83  void sequence_sep( HBSeqSep seqsep );
84 
85  inline HBDonChemType don_type() const { return don_type_; }
86  inline HBAccChemType acc_type() const { return acc_type_; }
87  inline HBSeqSep sequence_sep() const { return seq_sep_; }
88  inline HBEvalType eval_type() const { return eval_type_; }
89 
90 
91 private:
92  void update_hbevaltype();
93 
94 };
95 
96 } // namespace hbonds
97 } // namespace scoring
98 } // namespace core
99 
100 
101 #endif // INCLUDED_core_scoring_hbonds_HBEvalTuple_HH