BALL  1.5.0
RMSDMinimizer.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_RMSDMINIMIZER_H
6 #define BALL_STRUCTURE_RMSDMINIMIZER_H
7 
8 #ifndef BALL_STRUCTURE_ATOMBIJECTION_H
10 #endif
11 
12 #ifndef BALL_MATHS_MATRIX44_H
13 # include <BALL/MATHS/matrix44.h>
14 #endif
15 
16 namespace BALL
17 {
18 
30  {
31  public:
34  {
35  public:
36  IncompatibleCoordinateSets(const char*, int, Size, Size);
37  };
38 
41  {
42  public:
43  TooFewCoordinates(const char*, int, Size);
44  };
45 
46  typedef std::vector<Vector3> PointVector;
47  typedef std::pair<Matrix4x4, double> Result;
48 
53  static Result computeTransformation(const AtomBijection& ab);
54 
59  static Result computeTransformation(const PointVector& X, const PointVector& Y);
60 
65  static double minimizeRMSD(AtomContainer& a, AtomContainer& b);
66  };
67 
68 } // namespace BALL
69 
70 #endif // BALL_STRUCTURE_RMSDMINIMIZER_H
std::vector< Vector3 > PointVector
Definition: RMSDMinimizer.h:46
std::pair< Matrix4x4, double > Result
Definition: RMSDMinimizer.h:47
#define BALL_EXPORT
Definition: COMMON/global.h:50
Definition: constants.h:12