1#ifndef CGEMSEGMENTFUN_H
2#define CGEMSEGMENTFUN_H
5#include "KalFitAlg/helix/Helix.h"
6#include "CLHEP/Geometry/Point3D.h"
7#include "CLHEP/Matrix/Vector.h"
14 void GetHelixVarBeforeFit(
int charge,
double& d0,
double& phi0,
double& omega,
double& z0,
double& tanl);
17 void fcnTrk(
int &npar,
double *gin,
double &f,
double *par,
int iflag);
18 double fLadder(
double x,
double delta_phi);
19 double fGauss(
double x,
double mean,
double sigma);
23 HepSymMatrix
InvC(
int iLayer);
25 double detA(
double arcs[10][10],
int n);
27 void getAStart(
double arcs[10][10],
int n,
double ans[10][10]);
void getAStart(double arcs[10][10], int n, double ans[10][10])
bool DetSquareMatrix(HepMatrix m, double &det)
void GetHelixVarBeforeFit(int charge, double &d0, double &phi0, double &omega, double &z0, double &tanl)
HepSymMatrix InvC(int iLayer)
bool InverseSymMatrix(HepSymMatrix m, HepSymMatrix &m_inv)
double fLadder(double x, double delta_phi)
double GetKappaAfterFit(int charge, double *rec_phi)
double fGauss(double x, double mean, double sigma)
bool GetMatrixInverse(double src[10][10], int n, double des[10][10])
double detA(double arcs[10][10], int n)
void GetLikelihoodF(CLHEP::HepVector trkpar, HepPoint3D pivot, double &chisq)
HepVector CalculateHelix(CLHEP::HepVector trkpar, HepPoint3D pivot)
void fcnTrk(int &npar, double *gin, double &f, double *par, int iflag)
void GetChisqF(CLHEP::HepVector trkpar, HepPoint3D pivot, double &chisq)
double IntersectCylinder(double r, KalmanFit::Helix helix)