Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

colvarparams.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 
00003 // This file is part of the Collective Variables module (Colvars).
00004 // The original version of Colvars and its updates are located at:
00005 // https://github.com/Colvars/colvars
00006 // Please update all Colvars source files before making any changes.
00007 // If you wish to distribute your changes, please submit them to the
00008 // Colvars repository at GitHub.
00009 
00010 #ifndef COLVARPARAMS_H
00011 #define COLVARPARAMS_H
00012 
00013 #include <map>
00014 
00016 
00017 
00018 class colvarparams {
00019 
00020  public:
00021 
00023   int param_exists(std::string const &param_name);
00024 
00026   virtual std::vector<std::string> get_param_names();
00027 
00029   virtual std::vector<std::string> get_param_grad_names();
00030 
00032   virtual void const *get_param_ptr(std::string const &param_name);
00033 
00035   virtual void const *get_param_grad_ptr(std::string const &param_name);
00036 
00038   virtual cvm::real get_param(std::string const &param_name);
00039 
00041   virtual int set_param(std::string const &param_name, void const *new_value);
00042 
00043  protected:
00044 
00046   colvarparams();
00047 
00049   virtual ~colvarparams();
00050 
00052   std::map<std::string, void const *> param_map;
00053 
00055   std::map<std::string, colvarvalue const *> param_grad_map;
00056 
00058   void register_param(std::string const &param_name, void *param_ptr);
00059 
00061   void register_param_grad(std::string const &param_name,
00062                            colvarvalue *param_grad_ptr);
00063 
00064 };
00065 
00066 #endif

Generated on Thu Apr 25 02:42:20 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002