00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 00004 #ifndef BALL_STRUCTURE_FORCEFIELDEVALUATION_H 00005 #define BALL_STRUCTURE_FORCEFIELDEVALUATION_H 00006 00007 #ifndef BALL_STRUCTURE_DOCKING_ENERGETICEVALUATION_H 00008 # include <BALL/STRUCTURE/DOCKING/energeticEvaluation.h> 00009 #endif 00010 00011 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H 00012 # include <BALL/MOLMEC/COMMON/forceField.h> 00013 #endif 00014 00015 namespace BALL 00016 { 00021 class BALL_EXPORT ForceFieldEvaluation 00022 : public EnergeticEvaluation 00023 { 00024 public: 00025 00027 ForceFieldEvaluation() 00028 ; 00029 00031 ForceFieldEvaluation(ForceField& ff) 00032 ; 00033 00035 virtual ~ForceFieldEvaluation() 00036 ; 00037 00040 void setForceField(ForceField& ff) 00041 ; 00042 00044 void setOptions(const Options& options) 00045 ; 00046 00048 ForceField& getForceField() 00049 ; 00050 00052 const ForceField& getForceField() const 00053 ; 00054 00056 Options& getOptions() 00057 ; 00058 00060 const Options& getOptions() const 00061 ; 00062 00064 virtual std::vector<ConformationSet::Conformation> operator () (ConformationSet& conformations) 00065 throw(Exception::TooManyErrors); 00066 00067 protected: 00068 00069 ForceField* ff_; 00070 Options options_; 00071 bool delete_force_field_; 00072 }; 00073 } 00074 #endif