BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
atomBijection.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_STRUCTURE_ATOMBIJECTION_H
6 #define BALL_STRUCTURE_ATOMBIJECTION_H
7 
8 #ifndef BALL_COMMON_H
9 # include <BALL/common.h>
10 #endif
11 
12 #ifndef BALL_KERNEL_ATOMCONTAINER_H
14 #endif
15 
16 namespace BALL
17 {
18 
46  : public std::vector<std::pair<Atom*, Atom*> >
47  {
48  public:
49 
54  typedef std::pair<Atom*, Atom*> AtomPair;
55  typedef std::vector<std::pair<Atom*, Atom*> > PairVector;
57 
61 
65 
80 
82  virtual ~AtomBijection() {}
83 
85 
106  Size assignTrivial(AtomContainer& A, AtomContainer& B);
107 
120  Size assignByName(AtomContainer& A, AtomContainer& B);
121 
132  Size assignCAlphaAtoms(AtomContainer& A, AtomContainer& B);
133 
134 
146  Size assignBackboneAtoms(AtomContainer& A, AtomContainer& B);
148 
149 
152 
153  double calculateRMSD() const;
155 
158 
159  using PairVector::size;
161  using PairVector::push_back;
163  using PairVector::begin;
165  using PairVector::end;
167  using PairVector::rbegin;
169  using PairVector::rend;
171 
172  };
173 
174 } // namespace BALL
175 
176 #endif // BALL_STRUCTURE_ATOMBIJECTION_H