#if !defined(lorentzian_h)
#define lorentzian_h
#include "parameters.hh"
/** Structure definition for Lorentzian parameters.
* The Lorentzian is normalized to the 'scale' parameter.
*
* f(x)=scale * 1/pi 0.5gamma / [ (x-x_0)^2 + (0.5gamma)^2 ]
*
* [PYTHONCLASS] = Lorentzian
* [DESCRIPTION] = f(x)=scale * 1/pi 0.5gamma / [ (x-x_0)^2 + (0.5gamma)^2 ]
* [ORIENTATION_PARAMS]=
*/
class Lorentzian{
public:
/// Scale factor
// [DEFAULT]=scale=1.0
Parameter scale;
/// Width
// [DEFAULT]=gamma=1.0
Parameter gamma;
/// Center of the Lorentzian distribution
// [DEFAULT]=center=0.0
Parameter center;
// Constructor
Lorentzian();
// Operators to get I(Q)
double operator()(double q);
double operator()(double qx, double qy);
double calculate_ER();
double evaluate_rphi(double q, double phi);
};
#endif