electrostaticPotentialCalculator.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: electrostaticPotentialCalculator.h,v 1.10 2005/12/23 17:01:59 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_SOLVATION_ELECTROSTATICPOTENTIALCALCULATOR_H
00008 #define BALL_SOLVATION_ELECTROSTATICPOTENTIALCALCULATOR_H
00009 
00010 #ifndef BALL_KERNEL_SYSTEM_H
00011  # include <BALL/KERNEL/system.h>
00012 #endif
00013 
00014 #ifndef BALL_DATATYPE_OPTIONS_H
00015  # include <BALL/DATATYPE/options.h>
00016 #endif
00017 
00018 #ifndef BALL_STRUCTURE_DEFAULTPROCESSORS_H
00019  # include <BALL/STRUCTURE/defaultProcessors.h>
00020 #endif
00021 
00022 namespace BALL
00023 {
00024   class FragmentDB;
00025 
00033   class BALL_EXPORT ElectrostaticPotentialCalculator
00034   {
00035     BALL_CREATE(ElectrostaticPotentialCalculator)
00036 
00037     public: 
00038 
00043     struct Option
00044     {
00047       static const char* LOCALITY;
00048     };
00049 
00052     struct Default
00053     {
00057       static const bool LOCALITY;
00058     };
00059           
00063     
00066     ElectrostaticPotentialCalculator()
00067       ;
00068 
00071     ElectrostaticPotentialCalculator(const ElectrostaticPotentialCalculator& epc)
00072       ;
00073 
00076     virtual ~ElectrostaticPotentialCalculator()
00077       ;
00078 
00080 
00083     
00087     void apply(System &S)
00088       throw(Exception::NullPointer);
00089 
00091     void setFragmentDB(const FragmentDB* db)
00092       ;
00093 
00095     const FragmentDB* getFragmentDB() const
00096       ;
00097 
00099 
00102     
00105     float operator() (const Vector3& pos)
00106       ;
00107 
00109 
00112 
00115     Options options;
00116 
00118 
00120     //_@{
00121     protected:
00122 
00123     System mySys_;
00124 
00125     FragmentDB *frag_db_;
00126 
00127     AssignRadiusProcessor radii_;
00128     
00129     AssignChargeProcessor charges_;
00130     //_@}
00131   };
00132 }
00133 
00134 
00135 #endif // BALL_SOLVATION_ELECTROSTATICPOTENTIALCALCULATOR_H