37 std::string(
"The \"POLYNOMIAL_TIME_DEPENDENCE\" element defines ")+\
38 std::string(
"polynomial coefficients for time dependent RF phase, ")+\
39 std::string(
"frequency, amplitude, etc, given by ")+\
40 std::string(
"f(t) = P0+P1*t+P2*t^2+P3*t^3 where t is the time in ns");
46 "POLYNOMIAL_TIME_DEPENDENCE",
49 "Constant term in the polynomial expansion.");
51 "First order (linear) term in the polynomial expansion.");
53 "Second order (quadratic) term in the polynomial expansion.");
55 "Third order (cubic) term in the polynomial expansion.");
76 std::vector<double> polynomial_coefficients;
83 std::make_shared<PolynomialTimeDependence>(polynomial_coefficients));
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
const std::string & getOpalName() const
Return object name.
std::vector< Attribute > itsAttr
The object attributes.
static void setTimeDependence(std::string name, std::shared_ptr< AbstractTimeDependence > time_dep)
virtual void print(std::ostream &) const
Print the object.
void registerOwnership() const
OpalPolynomialTimeDependence()
static const std::string doc_string
virtual ~OpalPolynomialTimeDependence()
virtual OpalPolynomialTimeDependence * clone(const std::string &name)
virtual void print(std::ostream &) const