3#ifndef _AbsParameter_h_
4#define _AbsParameter_h_
9 class ParameterDifference;
10 class ParameterProduct;
11 class ParameterQuotient;
12 class ParameterNegation;
13 class ConstPlusParameter;
14 class ConstMinusParameter;
15 class ConstTimesParameter;
16 class ConstOverParameter;
57ConstTimesParameter
operator * (
double c,
const AbsParameter &op2);
58ConstPlusParameter
operator + (
double c,
const AbsParameter &op2);
59ConstMinusParameter
operator - (
double c,
const AbsParameter &op2);
60ConstOverParameter
operator / (
double c,
const AbsParameter &op2);
62ConstTimesParameter
operator * (
const AbsParameter &op2,
double c);
63ConstPlusParameter
operator + (
const AbsParameter &op2,
double c);
64ConstPlusParameter
operator - (
const AbsParameter &op2,
double c);
65ConstTimesParameter
operator / (
const AbsParameter &op2,
double c);
68ParameterProduct
operator * (
const AbsParameter &op1,
const AbsParameter &op2);
69ParameterSum
operator + (
const AbsParameter &op1,
const AbsParameter &op2);
70ParameterDifference
operator - (
const AbsParameter &op1,
const AbsParameter &op2);
71ParameterQuotient
operator / (
const AbsParameter &op1,
const AbsParameter &op2);
72ParameterNegation
operator - (
const AbsParameter &op1);
79#define PARAMETER_OBJECT_DEF(classname) \
81 classname *clone() const; \
83 virtual AbsParameter* _clone() const;
86#define PARAMETER_OBJECT_IMP(classname) \
87classname *classname::clone () const { \
88 return (classname *) _clone(); \
90AbsParameter *classname::_clone () const { \
91 return new classname(*this); \
95#include "CLHEP/GenericFunctions/ParameterProduct.hh"
96#include "CLHEP/GenericFunctions/ParameterSum.hh"
97#include "CLHEP/GenericFunctions/ParameterDifference.hh"
98#include "CLHEP/GenericFunctions/ParameterQuotient.hh"
99#include "CLHEP/GenericFunctions/ParameterNegation.hh"
100#include "CLHEP/GenericFunctions/ConstPlusParameter.hh"
101#include "CLHEP/GenericFunctions/ConstMinusParameter.hh"
102#include "CLHEP/GenericFunctions/ConstTimesParameter.hh"
103#include "CLHEP/GenericFunctions/ConstOverParameter.hh"
virtual double getValue() const =0
virtual const Parameter * parameter() const
AbsParameter * clone() const
virtual Parameter * parameter()
FunctionQuotient operator/(const AbsFunction &op1, const AbsFunction &op2)
FunctionSum operator+(const AbsFunction &op1, const AbsFunction &op2)
FunctionProduct operator*(const AbsFunction &op1, const AbsFunction &op2)
const AbsParameter & GENPARAMETER
FunctionDifference operator-(const AbsFunction &op1, const AbsFunction &op2)