Candidate_v1.6.1
        Candidate_v1.7.0
        ChemicalSpaceEvaluator
        stable
      
      
      
| Rev | Line |  | 
|---|
| [67cd3a] | 1 | /* | 
|---|
|  | 2 | * PotentialRegistry.hpp | 
|---|
|  | 3 | * | 
|---|
|  | 4 | *  Created on: Nov 23, 2012 | 
|---|
|  | 5 | *      Author: heber | 
|---|
|  | 6 | */ | 
|---|
|  | 7 |  | 
|---|
|  | 8 | #ifndef POTENTIALREGISTRY_HPP_ | 
|---|
|  | 9 | #define POTENTIALREGISTRY_HPP_ | 
|---|
|  | 10 |  | 
|---|
|  | 11 | // include config.h | 
|---|
|  | 12 | #ifdef HAVE_CONFIG_H | 
|---|
|  | 13 | #include <config.h> | 
|---|
|  | 14 | #endif | 
|---|
|  | 15 |  | 
|---|
| [f0964c] | 16 | #include "CodePatterns/Observer/Observable.hpp" | 
|---|
| [67cd3a] | 17 | #include "CodePatterns/Registry.hpp" | 
|---|
|  | 18 | #include "CodePatterns/Singleton.hpp" | 
|---|
| [fdd23a] | 19 | #include "Potentials/EmpiricalPotential.hpp" | 
|---|
| [67cd3a] | 20 |  | 
|---|
|  | 21 | /** Potential Registry. | 
|---|
|  | 22 | * | 
|---|
|  | 23 | * The Potential registry is a storage for any EmpiricalPotential instance to | 
|---|
|  | 24 | * be retrieved by name. It is a singleton and can be called from anywhere. | 
|---|
|  | 25 | * | 
|---|
|  | 26 | * This class is meant for convenience when loading and saving potential files. | 
|---|
|  | 27 | * By the keyword given in the potential file we may look up whether the | 
|---|
|  | 28 | * potential exists and modify it or create a new one accordingly. When saving | 
|---|
|  | 29 | * the present potentials to a file, we just have to iterate over all present | 
|---|
|  | 30 | * ones. | 
|---|
|  | 31 | */ | 
|---|
| [f0964c] | 32 | class PotentialRegistry : | 
|---|
|  | 33 | public Singleton<PotentialRegistry>, | 
|---|
|  | 34 | public Registry<EmpiricalPotential>, | 
|---|
|  | 35 | public Observable | 
|---|
| [67cd3a] | 36 | { | 
|---|
|  | 37 | friend class Singleton<PotentialRegistry>; | 
|---|
| [fdd23a] | 38 | //friend class Registry<EmpiricalPotential>; | 
|---|
| [67cd3a] | 39 |  | 
|---|
|  | 40 | public: | 
|---|
|  | 41 |  | 
|---|
| [f0964c] | 42 | void registerInstance(EmpiricalPotential*); | 
|---|
|  | 43 | void unregisterInstance(EmpiricalPotential*); | 
|---|
|  | 44 |  | 
|---|
| [67cd3a] | 45 | private: | 
|---|
| [f0964c] | 46 | PotentialRegistry(); | 
|---|
| [96c7d2] | 47 | virtual ~PotentialRegistry(); | 
|---|
| [67cd3a] | 48 | }; | 
|---|
|  | 49 |  | 
|---|
|  | 50 | #endif /* POTENTIALREGISTRY_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.