--- trunk/src/utils/PropertyMap.hpp 2005/01/12 22:41:40 246 +++ branches/development/src/utils/PropertyMap.hpp 2010/07/09 23:08:25 1465 @@ -1,4 +1,4 @@ - /* +/* * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. * * The University of Notre Dame grants you ("Licensee") a @@ -6,19 +6,10 @@ * redistribute this software in source and binary code form, provided * that the following conditions are met: * - * 1. Acknowledgement of the program authors must be made in any - * publication of scientific results based in part on use of the - * program. An acceptable form of acknowledgement is citation of - * the article in which the program was described (Matthew - * A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher - * J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented - * Parallel Simulation Engine for Molecular Dynamics," - * J. Comput. Chem. 26, pp. 252-271 (2005)) - * - * 2. Redistributions of source code must retain the above copyright + * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * - * 3. Redistributions in binary form must reproduce the above copyright + * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. @@ -37,6 +28,15 @@ * arising out of the use of or inability to use software, even if the * University of Notre Dame has been advised of the possibility of * such damages. + * + * SUPPORT OPEN SCIENCE! If you use OpenMD or its source code in your + * research, please cite the appropriate papers when you publish your + * work. Good starting points are: + * + * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). + * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). + * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). + * [4] Vardeman & Gezelter, in progress (2009). */ /** @@ -56,92 +56,92 @@ #include -namespace oopse{ +namespace OpenMD{ - /** - * @class PropertyMap - * PropertyMap class maintains a list of GenericData. Type of Property is actually GenericData. - */ - class PropertyMap{ - public: + /** + * @class PropertyMap + * PropertyMap class maintains a list of GenericData. Type of Property is actually GenericData. + */ + class PropertyMap{ + public: - /** trivial constructor */ - PropertyMap() {} + /** trivial constructor */ + PropertyMap() {} - /** - * Virtual Destructor responsible for deleting all of the generc data in PropertyMap - */ - virtual ~PropertyMap(); + /** + * Virtual Destructor responsible for deleting all of the generc data in PropertyMap + */ + virtual ~PropertyMap(); - /** - * Adds property into property map - * - * @param genData GenericData to be added into PropertyMap - * - * @see #removeProperty - * @see #clearProperties - */ - void addProperty(GenericData* genData); + /** + * Adds property into property map + * + * @param genData GenericData to be added into PropertyMap + * + * @see #removeProperty + * @see #clearProperties + */ + void addProperty(GenericData* genData); - /** - * Removes property from PropertyMap by name - * - * @param propName the name of property to be removed - * - * @see #addProperty - * @see #clearProperties - */ - bool removeProperty(const std::string& propName); + /** + * Removes property from PropertyMap by name + * + * @param propName the name of property to be removed + * + * @see #addProperty + * @see #clearProperties + */ + bool removeProperty(const std::string& propName); - /** - * clear all of the properties - * - * @see #addProperty - * @see #removeProperty - */ - void clearProperties(); + /** + * clear all of the properties + * + * @see #addProperty + * @see #removeProperty + */ + void clearProperties(); - /** - * Returns all names of properties - * - * @return all names of properties - */ - std::vector getPropertyNames(); + /** + * Returns all names of properties + * + * @return all names of properties + */ + std::vector getPropertyNames(); - /** - * Returns all of the properties in PropertyMap - * - * @return all of the properties in PropertyMap - * - * @see #getPropertyByName - */ - std::vector getProperties(); + /** + * Returns all of the properties in PropertyMap + * + * @return all of the properties in PropertyMap + * + * @see #getPropertyByName + */ + std::vector getProperties(); - /** - * Returns property - * - * @param propName name of property - * - * @return a pointer point to property with propName. If no property named propName - * exists, return NULL - * - * @see #getProperties - */ - GenericData* getPropertyByName(const std::string& propName); - //template T getPropertyByName(std:std::string& propName); + /** + * Returns property + * + * @param propName name of property + * + * @return a pointer point to property with propName. If no property named propName + * exists, return NULL + * + * @see #getProperties + */ + GenericData* getPropertyByName(const std::string& propName); + //template T getPropertyByName(std:std::string& propName); - protected: - std::map propMap_; + protected: + std::map propMap_; - private: + private: - /** prevent copy constructing */ - PropertyMap(const PropertyMap&); + /** prevent copy constructing */ + PropertyMap(const PropertyMap&); - /** prevent copy assignment */ - PropertyMap& operator=(const PropertyMap&); - }; + /** prevent copy assignment */ + PropertyMap& operator=(const PropertyMap&); + }; -}// namespace oopse +}// namespace OpenMD #endif //UTIL_PROPERTYMAP_HPP