BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
conformationSet.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: conformationSet.h,v 1.3.18.2 2007/06/17 07:02:21 oliver Exp $
5 //
6 // Author:
7 //
8 
9 #ifndef BALL_STRUCTURE_DOCKING_RANKEDCONFORMATION_H
10 #define BALL_STRUCTURE_DOCKING_RANKEDCONFORMATION_H
11 
12 #ifndef BALL_DATATYPE_HASHMAP_H
13 # include <BALL/DATATYPE/hashMap.h>
14 #endif
15 
16 #ifndef BALL_KERNEL_SYSTEM_H
17 # include <BALL/KERNEL/system.h>
18 #endif
19 
20 #ifndef BALL_MOLMEC_COMMON_SNAPSHOT_H
22 #endif
23 
24 #ifndef BALL_FORMAT_DCDFILE_H
25 # include <BALL/FORMAT/DCDFile.h>
26 #endif
27 
28 #include <vector>
29 #include <set>
30 
31 namespace BALL
32 {
37  {
38  public:
39 
43  typedef std::pair<Index, float> Conformation;
44 
46  ConformationSet(const System& system);
47 
48  virtual ~ConformationSet() {};
49 
52  void setup(const System& system)
53  ;
54 
55  void add(const float score, const System& conformations)
56  ;
57 
58  const System& getSystem() const
59  ;
60 
61  System& getSystem()
62  ;
63 
66  void setScoring(std::vector<Conformation>& score)
67  ;
68 
71  const std::vector<Conformation>& getScoring() const
72  ;
73 
77  void resetScoring()
78  ;
79 
83  const std::vector<SnapShot>& getUnscoredConformations() const
84  ;
85 
89  const SnapShot& operator [] (const Index pos) const;
90 
94  bool writeDCDFile(const String& filename, const Size num=0);
95 
96  bool readDCDFile(const String& filename)
97  ;
98 
101  Size size() const;
102 
103  protected:
104 
108  // Indices of the conformations in the SnapShotManager.
109  // Sorted according to their score
110  std::vector<Conformation> snapshot_order_;
111 
115 
118  vector<SnapShot> structures_;
119  };
120 
121 }
122 #endif