BALL
1.4.1
|
00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: conformationSet.h,v 1.3.18.2 2007/06/17 07:02:21 oliver Exp $ 00005 // 00006 // Author: 00007 // 00008 00009 #ifndef BALL_STRUCTURE_DOCKING_RANKEDCONFORMATION_H 00010 #define BALL_STRUCTURE_DOCKING_RANKEDCONFORMATION_H 00011 00012 #ifndef BALL_DATATYPE_HASHMAP_H 00013 # include <BALL/DATATYPE/hashMap.h> 00014 #endif 00015 00016 #ifndef BALL_KERNEL_SYSTEM_H 00017 # include <BALL/KERNEL/system.h> 00018 #endif 00019 00020 #ifndef BALL_MOLMEC_COMMON_SNAPSHOT_H 00021 # include <BALL/MOLMEC/COMMON/snapShot.h> 00022 #endif 00023 00024 #ifndef BALL_FORMAT_DCDFILE_H 00025 # include <BALL/FORMAT/DCDFile.h> 00026 #endif 00027 00028 #include <vector> 00029 #include <set> 00030 00031 namespace BALL 00032 { 00036 class BALL_EXPORT ConformationSet 00037 { 00038 public: 00039 00043 typedef std::pair<Index, float> Conformation; 00044 00045 ConformationSet() {}; 00046 ConformationSet(const System& system); 00047 00048 virtual ~ConformationSet() {}; 00049 00052 void setup(const System& system) 00053 ; 00054 00055 void add(const float score, const System& conformations) 00056 ; 00057 00058 const System& getSystem() const 00059 ; 00060 00061 System& getSystem() 00062 ; 00063 00066 void setScoring(std::vector<Conformation>& score) 00067 ; 00068 00071 const std::vector<Conformation>& getScoring() const 00072 ; 00073 00077 void resetScoring() 00078 ; 00079 00083 const std::vector<SnapShot>& getUnscoredConformations() const 00084 ; 00085 00089 const SnapShot& operator [] (const Index pos) const; 00090 00094 bool writeDCDFile(const String& filename, const Size num=0); 00095 00096 bool readDCDFile(const String& filename) 00097 ; 00098 00101 Size size() const; 00102 00103 protected: 00104 00108 // Indices of the conformations in the SnapShotManager. 00109 // Sorted according to their score 00110 std::vector<Conformation> snapshot_order_; 00111 00114 System system_; 00115 00118 vector<SnapShot> structures_; 00119 }; 00120 00121 } 00122 #endif