00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: uhligCavFreeEnergyProcessor.h,v 1.19 2005/12/23 17:02:00 amoll Exp $ 00005 // 00006 00007 #ifndef BALL_SOLVATION_UHLIGCAVFREEENERGYPROCESSOR_H 00008 #define BALL_SOLVATION_UHLIGCAVFREEENERGYPROCESSOR_H 00009 00010 #ifndef BALL_COMMON_H 00011 # include <BALL/common.h> 00012 #endif 00013 00014 #ifndef BALL_ENERGY_ENERGYPROCESSOR_H 00015 # include <BALL/ENERGY/energyProcessor.h> 00016 #endif 00017 00018 #ifndef BALL_DATATYPE_OPTIONS_H 00019 # include <BALL/DATATYPE/options.h> 00020 #endif 00021 00022 namespace BALL 00023 { 00030 class BALL_EXPORT UhligCavFreeEnergyProcessor 00031 : public EnergyProcessor 00032 { 00033 00034 public: 00035 00040 struct Option 00041 { 00047 static const char* VERBOSITY; 00048 00056 static const char* PROBE_RADIUS; 00057 00065 static const char* SURFACE_TENSION; 00066 00074 static const char* CONSTANT; 00075 00076 }; 00077 00082 struct Default 00083 { 00087 static const int VERBOSITY; 00088 00094 static const float PROBE_RADIUS; 00095 00106 static const float SURFACE_TENSION; 00107 00116 static const float CONSTANT; 00117 00118 }; 00119 00123 00126 UhligCavFreeEnergyProcessor(); 00127 00130 UhligCavFreeEnergyProcessor(const UhligCavFreeEnergyProcessor& proc); 00131 00134 virtual ~UhligCavFreeEnergyProcessor(); 00135 00137 00140 00143 const UhligCavFreeEnergyProcessor& operator = (const UhligCavFreeEnergyProcessor& proc); 00144 00147 virtual void clear(); 00148 00150 00153 00156 bool operator == (const UhligCavFreeEnergyProcessor& proc) const; 00157 00159 00162 00165 virtual bool finish(); 00166 00168 00171 00174 Options options; 00175 00177 00178 private: 00179 00180 void setDefaultOptions(); 00181 00182 }; 00183 } 00184 00185 #endif // BALL_SOLVATION_UHLIGCAVFREEENERGYPROCESSOR_H