14#if !defined(KALFIT_LPAV_H_INCLUDED)
15#define KALFIT_LPAV_H_INCLUDED
21#include "CLHEP/Matrix/SymMatrix.h"
24 using CLHEP::HepVector;
25 using CLHEP::Hep3Vector;
26 using CLHEP::HepMatrix;
27 using CLHEP::HepSymMatrix;
54 double fit(
double x,
double y,
double w=1);
60 double nc()
const {
return m_nc; }
61 HepSymMatrix
cov(
int=0)
const;
62 HepSymMatrix
cov_c(
int=0)
const;
65 double delta_chisq(
double x,
double y,
double w=1)
const;
66 double chisq()
const {
return m_chisq; }
92 bool operator==(
const Lpav& )
const;
93 bool operator!=(
const Lpav& )
const;
96 void add(
double x,
double y,
double w=1,
double a=0,
double b=0);
97 void sub(
double x,
double y,
double w=1,
double a=0,
double b=0);
98 void calculate_average_n(
double xxav,
double yyav,
double xyav,
99 double xrrav,
double yrrav,
double rrrrav);
101 double nc(
double nc) { m_nc =
nc;
return m_nc; }
102 double solve_lambda(
void);
103 double solve_lambda3(
void);
145 m_xxsum = lp.m_xxsum;
146 m_yysum = lp.m_yysum;
147 m_xysum = lp.m_xysum;
148 m_xrrsum = lp.m_xrrsum;
149 m_yrrsum = lp.m_yrrsum;
150 m_rrrrsum = lp.m_rrrrsum;
152 m_wsum_temp = lp. m_wsum_temp;
155 m_xyavp = lp.m_xyavp;
157 m_rscale = lp. m_rscale;
158 m_xxavp = lp.m_xxavp;
159 m_yyavp = lp.m_yyavp;
160 m_xrravp = lp.m_xrravp;
161 m_yrravp = lp.m_yrravp;
162 m_rrrravp = lp.m_rrrravp;
163 m_sinrot = lp.m_sinrot;
164 m_cosrot = lp.m_cosrot;
167 m_chisq = lp.m_chisq;
175 m_xxsum = lp.m_xxsum;
176 m_yysum = lp.m_yysum;
177 m_xysum = lp.m_xysum;
178 m_xrrsum = lp.m_xrrsum;
179 m_yrrsum = lp.m_yrrsum;
180 m_rrrrsum = lp.m_rrrrsum;
182 m_wsum_temp = lp. m_wsum_temp;
185 m_xyavp = lp.m_xyavp;
187 m_rscale = lp. m_rscale;
188 m_xxavp = lp.m_xxavp;
189 m_yyavp = lp.m_yyavp;
190 m_xrravp = lp.m_xrravp;
191 m_yrravp = lp.m_yrravp;
192 m_rrrravp = lp.m_rrrravp;
193 m_sinrot = lp.m_sinrot;
194 m_cosrot = lp.m_cosrot;
197 m_chisq = lp.m_chisq;
202 m_wsum = m_xsum = m_ysum = m_xxsum = m_yysum = m_xysum
203 = m_xrrsum = m_yrrsum = m_rrrrsum = m_rscale = m_nc = 0;
const Lpar & operator=(const Lpar &)
double calculate_lpar3(void)
HepSymMatrix cov_c(int=0) const
void calculate_average3(void)
void calculate_average(void)
double calculate_lpar(void)
friend std::ostream & operator<<(std::ostream &o, const Lpav &s)
friend Lpav operator+(const Lpav &, const Lpav &)
void add_point_frac(double x, double y, double w, double f)
void add_point(double x, double y, double w=1)
double delta_chisq(double x, double y, double w=1) const
int extrapolate(double, double &, double &) const
const Lpav & operator=(const Lpav &)
const Lpav & operator+=(const Lpav &)
const Lpav & operator=(const Lpar &)
double similarity(double, double) const
HepSymMatrix cov(int=0) const