Ignore:
Timestamp:
Oct 17, 2011, 4:52:27 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
6b5228
Parents:
c4afd1
git-author:
Frederik Heber <heber@…> (10/04/11 08:34:41)
git-committer:
Frederik Heber <heber@…> (10/17/11 16:52:27)
Message:

Added variable name and function getName() to interface Parameter.

  • a Parameter always must have a name (cstors without params are private).
  • this is preparatory for storage inside a Registry<Parameter>.
  • adapted Continuous- and DiscreteParameter's cstors accordingly, pass on to Parameter's cstor.
Location:
src/Parser/Parameters
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/Parameters/ContinuousParameter.hpp

    rc4afd1 r39fa96  
    1414#endif
    1515
     16#include <string>
    1617
    1718#include "ContinuousValue.hpp"
     
    2526{
    2627public:
    27   ContinuousParameter();
    28   ContinuousParameter(const range<T> &_ValidRange);
     28  ContinuousParameter(const std::string &_name);
     29  ContinuousParameter(const std::string &_name, const range<T> &_ValidRange);
    2930  virtual ~ContinuousParameter();
    3031
    3132  Parameter* clone() const;
     33
     34private:
     35  ContinuousParameter();
    3236};
    3337
  • src/Parser/Parameters/ContinuousParameter_impl.hpp

    rc4afd1 r39fa96  
    2020 */
    2121template<typename T>
    22 ContinuousParameter<T>::ContinuousParameter()
     22ContinuousParameter<T>::ContinuousParameter(const std::string &_name) :
     23  Parameter(_name)
    2324{};
    2425
    2526/** Constructor for class ContinuousParameter.
    2627 *
     28 * @param _name name of this parameter
    2729 * @param _ValidRange valid range for this ContinuousValue
    2830 */
    2931template<typename T>
    30 ContinuousParameter<T>::ContinuousParameter(const range<T> &_ValidRange) :
     32ContinuousParameter<T>::ContinuousParameter(const std::string &_name, const range<T> &_ValidRange) :
     33  Parameter(_name),
    3134  ContinuousValue<T>(_ValidRange)
    3235{};
     
    4649Parameter* ContinuousParameter<T>::clone() const
    4750{
    48   ContinuousParameter<T> *instance = new ContinuousParameter<T>(ContinuousValue<T>::getValidRange());
     51  ContinuousParameter<T> *instance = new ContinuousParameter<T>(Parameter::getName(), ContinuousValue<T>::getValidRange());
    4952  instance->setValue(ContinuousValue<T>::getValue());
    5053  return instance;
  • src/Parser/Parameters/DiscreteParameter.hpp

    rc4afd1 r39fa96  
    1414#endif
    1515
     16#include <string>
    1617
    1718#include "DiscreteValue.hpp"
     
    2728{
    2829public:
    29   DiscreteParameter();
    30   DiscreteParameter(const std::vector<T> &_ValidValues);
     30  DiscreteParameter(const std::string &_name);
     31  DiscreteParameter(const std::string &_name, const std::vector<T> &_ValidValues);
    3132  virtual ~DiscreteParameter();
    3233
    3334  Parameter* clone() const;
     35
     36private:
     37  DiscreteParameter();
    3438};
    3539
  • src/Parser/Parameters/DiscreteParameter_impl.hpp

    rc4afd1 r39fa96  
    2222 */
    2323template<typename T>
    24 DiscreteParameter<T>::DiscreteParameter()
     24DiscreteParameter<T>::DiscreteParameter(const std::string &_name) :
     25  Parameter(_name)
    2526{};
    2627
    2728/** Constructor for class DiscreteParameter.
    2829 *
     30 * @param _name name of this parameter
    2931 * @param _ValidValues valid values for this DiscreteValue
    3032 */
    3133template<typename T>
    32 DiscreteParameter<T>::DiscreteParameter(const std::vector<T> &_ValidValues) :
     34DiscreteParameter<T>::DiscreteParameter(const std::string &_name, const std::vector<T> &_ValidValues) :
     35  Parameter(_name),
    3336  DiscreteValue<T>(_ValidValues)
    3437{};
     
    4851Parameter* DiscreteParameter<T>::clone() const
    4952{
    50   DiscreteParameter<T> *instance = new DiscreteParameter<T>(DiscreteValue<T>::getValidValues());
     53  DiscreteParameter<T> *instance = new DiscreteParameter<T>(Parameter::getName(), DiscreteValue<T>::getValidValues());
    5154  instance->setValue(DiscreteValue<T>::getValue());
    5255  return instance;
  • src/Parser/Parameters/Parameter.hpp

    rc4afd1 r39fa96  
    1414#endif
    1515
     16#include <string>
     17
    1618#include "CodePatterns/Clone.hpp"
    1719
     
    1921
    2022
     23/** This interface represents a clonable, named Value.
     24 *
     25 */
    2126class Parameter : virtual public ValueInterface, public Clone<Parameter>
    2227{
    2328public:
     29  Parameter(const std::string &_name) : name(_name) {}
    2430  virtual ~Parameter() {}
    2531
     32  const std::string &getName() const { return name; }
     33
    2634  virtual Parameter* clone() const=0;
     35
     36private:
     37  Parameter();
     38
     39private:
     40  const std::string name;
    2741};
    2842
  • src/Parser/Parameters/unittests/ContinuousParameterUnitTest.cpp

    rc4afd1 r39fa96  
    5757{
    5858  // create instance
    59   ContinuousParameter<int> test(*ValidRange);
     59  ContinuousParameter<int> test("intParam", *ValidRange);
    6060
    6161  // check that we throw because of unset parameter
  • src/Parser/Parameters/unittests/DiscreteParameterUnitTest.cpp

    rc4afd1 r39fa96  
    5959{
    6060  // create instance
    61   DiscreteParameter<int> test(ValidValues);
     61  DiscreteParameter<int> test("intParam", ValidValues);
    6262
    6363  // check that we throw because of unset parameter
Note: See TracChangeset for help on using the changeset viewer.