BALL  1.4.1
RDFParameter.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_STRUCTURE_RDFPARAMETER_H
00006 #define BALL_STRUCTURE_RDFPARAMETER_H
00007 
00008 #ifndef BALL_KERNEL_ATOM_H
00009 # include <BALL/KERNEL/atom.h>
00010 #endif
00011 
00012 #ifndef BALL_STRUCTURE_RADIALDISTRIBUTIONFUNCTION_H
00013 # include <BALL/STRUCTURE/radialDistributionFunction.h>
00014 #endif
00015 
00016 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00017 # include <BALL/FORMAT/parameterSection.h>
00018 #endif
00019 
00020 #ifndef BALL_MOLMEC_PARAMETERS_FORCEFIELDPARAMETERS_H
00021 # include <BALL/MOLMEC/PARAMETER/forceFieldParameters.h>
00022 #endif
00023 
00024 namespace BALL 
00025 {
00031   class BALL_EXPORT RDFParameter
00032     : public ParameterSection
00033   {
00034     public:
00035 
00036     BALL_CREATE(RDFParameter)
00037 
00038     
00041 
00044     RDFParameter() 
00045       ;
00046 
00050     RDFParameter(const RDFParameter& rdf_parameter) 
00051       ;
00052 
00055     virtual ~RDFParameter() 
00056       ;
00057 
00059 
00062 
00067     const RDFParameter& operator = (const RDFParameter& rdf_parameter)
00068       ;
00069 
00072     virtual void clear() 
00073       ;
00074 
00076 
00079 
00086     Position getIndex(Atom::Type type_i, Atom::Type type_j) const 
00087       ;
00088 
00094     const RadialDistributionFunction& getRDF(Atom::Type type_i,
00095         Atom::Type type_j) const 
00096       ;
00097 
00103     const RadialDistributionFunction& getRDF(Position index) const 
00104       ;
00105 
00107 
00113     virtual bool extractSection(ForceFieldParameters& parameters,
00114         const String& section_name) 
00115       ;
00116 
00120 
00128     bool hasRDF(Atom::Type solvent_atom_type, Atom::Type solute_atom_type) 
00129       const ;
00130 
00134     bool hasParameters(Atom::Type solvent_atom_type,
00135         Atom::Type solute_atom_type) const 
00136       ;
00137 
00139 
00140     protected:
00141 
00142     /*_ The vector containing all the read RDF representations */
00143     std::vector<RadialDistributionFunction> rdf_list_;
00144 
00145     /*_ This maps Atom:Types to Indices of rdf_list_ */
00146     HashMap< Atom::Type, HashMap<Atom::Type, Position> > rdf_indices_;
00147 
00148 
00149   };
00150    
00151 } // namespace BALL
00152 #endif // BALL__RDFPARAMETER_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines