File indexing completed on 2025-01-18 09:54:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef Parameter_h
0023 #define Parameter_h 1
0024
0025 #include <string>
0026 #include <iostream>
0027 #include "CLHEP/GenericFunctions/AbsParameter.hh"
0028
0029 namespace Genfun {
0030
0031
0032
0033
0034
0035 class Parameter:public AbsParameter {
0036
0037 PARAMETER_OBJECT_DEF(Parameter)
0038
0039 public:
0040
0041
0042 Parameter(std::string name,
0043 double value,
0044 double lowerLimit=-1e100,
0045 double upperLimit= 1e100);
0046
0047
0048 Parameter(const Parameter & right);
0049
0050
0051 virtual ~Parameter();
0052
0053
0054 const Parameter & operator=(const Parameter &right);
0055
0056
0057 const std::string & getName() const;
0058
0059
0060 virtual double getValue() const;
0061
0062
0063 double getLowerLimit() const;
0064
0065
0066 double getUpperLimit() const;
0067
0068
0069 void setValue(double value);
0070
0071
0072 void setLowerLimit(double lowerLimit);
0073
0074
0075 void setUpperLimit(double upperLimit);
0076
0077
0078 void connectFrom(const AbsParameter * source);
0079
0080
0081 virtual Parameter *parameter() {return this;}
0082 virtual const Parameter *parameter() const {return this;}
0083
0084 private:
0085
0086 std::string _name ;
0087 double _value;
0088 double _lowerLimit;
0089 double _upperLimit;
0090 const AbsParameter *_sourceParameter;
0091
0092 };
0093 std::ostream & operator << ( std::ostream & o, const Parameter &p);
0094 }
0095
0096 #endif