00001
00002
00003
00004
00005
00006
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
00109
00110 std::vector<Conformation> snapshot_order_;
00111
00114 System system_;
00115
00118 vector<SnapShot> structures_;
00119 };
00120
00121 }
00122 #endif