10#include "TrkFitter/TrkSimpleRep.h"
11#include "TrkBase/TrkHitOnTrk.h"
12#include "TrkBase/TrkSimpTraj.h"
13#include "TrkBase/TrkParams.h"
14#include "TrkBase/TrkPoca.h"
15#include "TrkBase/TrkMomCalculator.h"
16#include "TrkBase/TrkRecoTrk.h"
17#include "BField/BField.h"
19#include "TrkBase/TrkErrCode.h"
20#include "MdcRecoUtil/BesVectorErr.h"
21#include "MdcRecoUtil/BesPointErr.h"
22#include "CLHEP/Vector/ThreeVector.h"
32 int nsv,
int ndc,
double chi2,
33 double stFndRng,
double endFndRng) :
34 TrkRep(trk, hypo, nact, nsv, ndc, stFndRng, endFndRng)
42 TrkRep(right, trk, hypo), _fitter(right._fitter), _chisq(right._chisq)
54 _chisq = right._chisq;
65 "Tried to fit without a list of hits.");
68 if (
error.failure()) {
147 HepMatrix& xpCov)
const
157 HepSymMatrix& xxWeight,
158 HepSymMatrix& ppWeight,
159 HepMatrix& xpWeight)
const
163 pos,mom,xxWeight,ppWeight,xpWeight);
169 HepSymMatrix& xxWeight,
170 HepSymMatrix& ppWeight,
171 HepMatrix& xpWeight)
const
virtual const TrkDifTraj & traj() const =0
TrkErrCode fit(TrkHotList &hitList, TrkSimpTraj &)
virtual TrkHotList * clone(TrkBase::Functors::cloneHot) const =0
static void getAllWeights(const TrkSimpTraj &, const BField &, double fltlen, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight)
static void getAllCovs(const TrkSimpTraj &, const BField &, double fltlen, HepSymMatrix &xxCov, HepSymMatrix &ppCov, HepMatrix &xpCov)
static HepMatrix posmomCov(const TrkSimpTraj &, const BField &, double fltlen)
static BesVectorErr errMom(const TrkSimpTraj &, const BField &, double fltlen)
static Hep3Vector vecMom(const TrkSimpTraj &, const BField &, double fltlen)
static int charge(const TrkSimpTraj &, const BField &, double fltlen)
static double ptMom(const TrkSimpTraj &, const BField &, double fltlen)
const BField & bField() const
TrkRecoTrk * parentTrack()
virtual int nActive() const
TrkRep & operator=(const TrkRep &)
virtual TrkHotList * hotList()
virtual BesVectorErr momentumErr(double fltL) const
virtual void getAllCovs(double fltL, HepSymMatrix &xxCov, HepSymMatrix &ppCov, HepMatrix &xpCov) const
virtual TrkSimpTraj & simpTraj()=0
virtual HepMatrix posmomCov(double fltL) const
virtual void getAllWeights(double fltL, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight) const
TrkSimpleRep & operator=(const TrkSimpleRep &right)
virtual double pt(double fltL=0.) const
virtual int charge() const
TrkSimpleRep(const TrkHotList *, TrkRecoTrk *, PdtPid::PidType)
virtual Hep3Vector momentum(double fltL=0.) const