source: src/Parameters/ContinuousParameter_impl.hpp@ 9b5eb0

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
Last change on this file since 9b5eb0 was 047cad, checked in by Michael Ankele <ankele@…>, 13 years ago

added string functions to ValueInterface

  • Property mode set to 100644
File size: 2.8 KB
RevLine 
[c68409]1/*
2 * ContinuousParameter_impl.hpp
3 *
4 * Created on: Sep 30, 2011
5 * Author: heber
6 */
7
8#ifndef CONTINUOUSPARAMETER_IMPL_HPP_
9#define CONTINUOUSPARAMETER_IMPL_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16#include <limits>
17
18#include "ContinuousParameter.hpp"
19
20/** Constructor for class ContinuousParameter.
21 *
22 */
23template<typename T>
24ContinuousParameter<T>::ContinuousParameter(const std::string &_name) :
[9cd0d0]25 ParameterInterface<T>(_name),
[c68409]26 ContinuousValue<T>(range<T>(std::numeric_limits<T>::min(), std::numeric_limits<T>::max()))
27{};
28
29/** Constructor for class ContinuousParameter.
30 *
31 * @param _name name of this parameter
32 * @param _value initial value to set
33 */
34template<typename T>
35ContinuousParameter<T>::ContinuousParameter(const std::string &_name, const T &_value) :
[9cd0d0]36 ParameterInterface<T>(_name),
[c68409]37 ContinuousValue<T>(range<T>(std::numeric_limits<T>::min(), std::numeric_limits<T>::max()))
38{
39 setValue(_value);
40};
41
42/** Constructor for class ContinuousParameter.
43 *
44 * @param _name name of this parameter
45 * @param _ValidRange valid range for this ContinuousValue
46 */
47template<typename T>
48ContinuousParameter<T>::ContinuousParameter(const std::string &_name, const range<T> &_ValidRange) :
[9cd0d0]49 ParameterInterface<T>(_name),
[c68409]50 ContinuousValue<T>(_ValidRange)
51{};
52
53/** Constructor for class ContinuousParameter.
54 *
55 * @param _name name of this parameter
56 * @param _ValidRange valid range for this ContinuousValue
57 * @param _value initial value to set
58 */
59template<typename T>
60ContinuousParameter<T>::ContinuousParameter(const std::string &_name, const range<T> &_ValidRange, const T &_value) :
[9cd0d0]61 ParameterInterface<T>(_name),
[c68409]62 ContinuousValue<T>(_ValidRange)
63{
[047cad]64 set(_value);
[c68409]65};
66
67/** Destructor for class ContinuousParameter.
68 *
69 */
70template<typename T>
71ContinuousParameter<T>::~ContinuousParameter()
72{};
73
74/** Compares this continuous value against another \a _instance.
75 *
76 * @param _instance other value to compare to
77 * @return true - if contained ContinuousValue and name are the same, false - else
78 */
79template <class T>
80bool ContinuousParameter<T>::operator==(const ContinuousParameter<T> &_instance) const
81{
82 bool status = true;
83 status = status &&
84 (*dynamic_cast<const ContinuousValue<T> *>(this) == dynamic_cast<const ContinuousValue<T> &>(_instance));
[9cd0d0]85 status = status && (ParameterInterface<T>::getName() == _instance.ParameterInterface<T>::getName());
[c68409]86 return status;
87}
88
89/** Creates a clone of this Parameter instance.
90 *
91 * @return cloned instance
92 */
93template<typename T>
[9cd0d0]94ParameterInterface<T>* ContinuousParameter<T>::clone() const
[c68409]95{
[9cd0d0]96 ContinuousParameter<T> *instance = new ContinuousParameter<T>(ParameterInterface<T>::getName(), ContinuousValue<T>::getValidRange());
[c68409]97 instance->setValue(ContinuousValue<T>::getValue());
98 return instance;
99}
100
101
102#endif /* CONTINUOUSPARAMETER_IMPL_HPP_ */
Note: See TracBrowser for help on using the repository browser.