solventParameter.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: solventParameter.h,v 1.17 2005/12/23 17:02:00 amoll Exp $
00005 //
00006 
00007 #ifndef BALL_SOLVATION_SOLVENTPARAMETER_H
00008 #define BALL_SOLVATION_SOLVENTPARAMETER_H
00009 
00010 #ifndef BALL_SOLVATION_SOLVENTDESCRIPTOR_H
00011 # include <BALL/SOLVATION/solventDescriptor.h>
00012 #endif
00013 
00014 #ifndef BALL_FORMAT_PARAMETERS_H
00015 # include <BALL/FORMAT/parameters.h>
00016 #endif
00017 
00018 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00019 # include <BALL/FORMAT/parameterSection.h>
00020 #endif
00021 
00022 #ifndef BALL_MOLMEC_PARAMETER_FORCEFIELDPARAMETERS_H
00023 # include <BALL/MOLMEC/PARAMETER/forceFieldParameters.h>
00024 #endif
00025 
00026 namespace BALL
00027 {
00033   class BALL_EXPORT SolventParameter
00034     : public ParameterSection
00035   {
00036 
00037     public:
00038 
00039     BALL_CREATE(SolventParameter)
00040 
00041     
00044 
00047     SolventParameter();
00048 
00049     //SolventParameter(Parameters& parameters);
00050 
00053     SolventParameter(const SolventParameter& param);
00054 
00057     SolventParameter(const AtomTypes& atom_types);
00058 
00060     virtual ~SolventParameter();
00061 
00063 
00066 
00069     const SolventParameter& operator = (const SolventParameter& param);
00070 
00073     virtual void clear();
00074 
00076 
00079 
00082     const SolventDescriptor& getSolventDescriptor() const;
00083 
00087     SolventDescriptor& getSolventDescriptor();
00088 
00091     const String& getSolventName() const;
00092 
00093 
00096     const float& getSolventDensity() const;
00097 
00100     const std::vector<SolventAtomDescriptor>& getSolventDescription() const;
00101 
00103 
00106 
00109     bool operator == (const SolventParameter& param) const;
00110 
00112 
00115     virtual bool extractSection(Parameters& parameters, const String& section_name);
00116 
00117 
00118     protected:
00119 
00120     /*_ The name of the solvent description freom the INI file 
00121     */
00122     String name_;
00123 
00124     /*_ The density of the solvent description freom the INI file 
00125     */
00126     float number_density_;
00127 
00128     /*_ The atoms of the solvent description freom the INI file 
00129     */
00130     std::vector<SolventAtomDescriptor> solvent_atoms_;
00131 
00132     /*_ The solvent descriptor to be created 
00133     */
00134     SolventDescriptor solvent_descriptor_;
00135 
00136     /*_
00137     */
00138     AtomTypes atom_types_;
00139 
00140   }; 
00141 } // namespace BALL
00142 
00143 #endif // BALL_SOLVATION_SOLVENTPARAMETER_H