BALL  1.4.79
 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 
82  AtomBijection(AtomContainer& A, AtomContainer& B, bool limit_to_selection = false);
83 
85  virtual ~AtomBijection() {}
86 
88 
113  Size assignTrivial(AtomContainer& A, AtomContainer& B, bool limit_to_selection = false);
114 
131  Size assignByName(AtomContainer& A, AtomContainer& B, bool limit_to_selection = false);
132 
147  Size assignCAlphaAtoms(AtomContainer& A, AtomContainer& B, bool limit_to_selection = false);
148 
149 
165  Size assignBackboneAtoms(AtomContainer& A, AtomContainer& B, bool limit_to_selection = false);
166 
173  Size assignAtomsByProperty(AtomContainer& A, AtomContainer& B);
175 
176 
179  double calculateRMSD() const;
182 
185  using PairVector::size;
188  using PairVector::push_back;
190  using PairVector::begin;
192  using PairVector::end;
194  using PairVector::rbegin;
196  using PairVector::rend;
198 
199  };
200 
201 } // namespace BALL
202 
203 #endif // BALL_STRUCTURE_ATOMBIJECTION_H
std::pair< Atom *, Atom * > AtomPair
Definition: atomBijection.h:54
virtual ~AtomBijection()
Destructor.
Definition: atomBijection.h:85
std::vector< std::pair< Atom *, Atom * > > PairVector
Definition: atomBijection.h:55
#define BALL_EXPORT
Definition: COMMON/global.h:50