10#include "TrkFitter/TrkSimpleRep.h"
11#include "CLHEP/Vector/ThreeVector.h"
12#include "MdcRecoUtil/BesPointErr.h"
13#include "MdcRecoUtil/BesVectorErr.h"
14#include "PatBField/BField.h"
15#include "TrkBase/TrkErrCode.h"
16#include "TrkBase/TrkHitOnTrk.h"
17#include "TrkBase/TrkMomCalculator.h"
18#include "TrkBase/TrkParams.h"
19#include "TrkBase/TrkPoca.h"
20#include "TrkBase/TrkRecoTrk.h"
21#include "TrkBase/TrkSimpTraj.h"
26 :
TrkRep( inHots, trk, hypo ) {
31 double chi2,
double stFndRng,
double endFndRng )
32 :
TrkRep( trk, hypo, nact, nsv, ndc, stFndRng, endFndRng ) {
38 :
TrkRep( right, trk, hypo ), _fitter( right._fitter ), _chisq( right._chisq ) {
45 _chisq = right._chisq;
57 if ( error.failure() ) {
setValid(
false ); }
114 HepMatrix& xpCov )
const {
120 HepSymMatrix& xxWeight, HepSymMatrix& ppWeight,
121 HepMatrix& xpWeight )
const {
128 HepSymMatrix& xxWeight, HepSymMatrix& ppWeight,
129 HepMatrix& xpWeight )
const {
133 getAllWeights( fltL, pos, mom, xxWeight, ppWeight, xpWeight );
HepGeom::Point3D< double > HepPoint3D
virtual const TrkDifTraj & traj() const =0
virtual TrkHotList * clone(TrkBase::Functors::cloneHot) const =0
static Hep3Vector vecMom(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen)
static double ptMom(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen)
static void getAllWeights(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight)
static void getAllCovs(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen, HepSymMatrix &xxCov, HepSymMatrix &ppCov, HepMatrix &xpCov)
static int charge(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen)
static HepMatrix posmomCov(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen)
static BesVectorErr errMom(const TrkSimpTraj &, const MdcPatRec::BField &, double fltlen)
const MdcPatRec::BField & bField() const
TrkRecoTrk * parentTrack()
std::auto_ptr< TrkHotList > _hotList
virtual int nActive() const
TrkRep & operator=(const TrkRep &)
TrkRep(const TrkHotList &inHots, TrkRecoTrk *trk, PdtPid::PidType hypo)
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