File indexing completed on 2025-01-30 10:03:26
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef PeriodicRectangular_h_
0010 #define PeriodicRectangular_h_ 1
0011 #include "CLHEP/GenericFunctions/AbsFunction.hh"
0012 #include "CLHEP/GenericFunctions/Parameter.hh"
0013 namespace Genfun {
0014
0015
0016
0017
0018
0019 class PeriodicRectangular : public AbsFunction {
0020
0021 FUNCTION_OBJECT_DEF(PeriodicRectangular)
0022
0023
0024 public:
0025
0026
0027 PeriodicRectangular();
0028
0029
0030 PeriodicRectangular(const PeriodicRectangular &right);
0031
0032
0033 virtual ~PeriodicRectangular();
0034
0035
0036 virtual double operator ()(double argument) const override;
0037 virtual double operator ()(const Argument & arg) const override {return operator() (arg[0]);}
0038
0039
0040 Parameter & a();
0041
0042
0043 Parameter & b();
0044
0045
0046 Parameter & height();
0047
0048
0049 Derivative partial (unsigned int) const override;
0050
0051
0052 virtual bool hasAnalyticDerivative() const override {return true;}
0053
0054 private:
0055
0056
0057 const PeriodicRectangular & operator=(const PeriodicRectangular &right);
0058
0059
0060 Parameter _a;
0061 Parameter _b;
0062 Parameter _height;
0063
0064 };
0065 }
0066 #endif