CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkCircleRep Class Reference

#include <TrkCircleRep.h>

+ Inheritance diagram for TrkCircleRep:

Public Member Functions

 TrkCircleRep (const TrkExchangePar &inPar, TrkRecoTrk *myTrack, PdtPid::PidType hypo, const TrkHotList *=0)
 
 TrkCircleRep (const TrkExchangePar &inPar, TrkRecoTrk *myTrack, PdtPid::PidType hypo, int nActive, int nSvt, int nDch, double chi2, double startFoundRange, double endFoundRange)
 
virtual ~TrkCircleRep ()
 
virtual TrkCircleRepclone (TrkRecoTrk *newTrack) const
 
virtual TrkCircleRepcloneNewHypo (PdtPid::PidType hypo)
 
virtual TrkDifTrajtraj ()
 
virtual const TrkDifTrajtraj () const
 
virtual TrkExchangePar helix (double fltLen) const
 
virtual void printAll (std::ostream &ostr) const
 
virtual void print (std::ostream &ostr) const
 
- Public Member Functions inherited from TrkSimpleRep
 TrkSimpleRep (const TrkHotList *, TrkRecoTrk *, PdtPid::PidType)
 
 TrkSimpleRep (TrkRecoTrk *, PdtPid::PidType, int nActive, int nSvt, int nDch, double chi2, double startFoundRange, double endFoundRange)
 
 TrkSimpleRep (const TrkSimpleRep &right, TrkRecoTrk *trk, PdtPid::PidType)
 
virtual ~TrkSimpleRep ()
 
int nDof () const
 
double chisq () const
 
void setChisq (double c)
 
virtual int charge () const
 
virtual Hep3Vector momentum (double fltL=0.) const
 
virtual double pt (double fltL=0.) const
 
virtual BesVectorErr momentumErr (double fltL) const
 
virtual HepMatrix posmomCov (double fltL) const
 
virtual void getAllCovs (double fltL, HepSymMatrix &xxCov, HepSymMatrix &ppCov, HepMatrix &xpCov) const
 
virtual void getAllWeights (double fltL, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight) const
 
virtual void getAllWeights (const HepPoint3D &pt, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight) const
 
virtual TrkErrCode fit ()
 
TrkHelixFitterfitter ()
 
- Public Member Functions inherited from TrkRep
 TrkRep (const TrkHotList &inHots, TrkRecoTrk *trk, PdtPid::PidType hypo)
 
 TrkRep (TrkHotList &inHots, TrkRecoTrk *trk, PdtPid::PidType hypo, bool stealHots=false)
 
 TrkRep (const TrkHotList *inHots, TrkRecoTrk *trk, PdtPid::PidType hypo)
 
 TrkRep (TrkHotList *inHots, TrkRecoTrk *trk, PdtPid::PidType hypo, bool takeownership=false)
 
 TrkRep (TrkRecoTrk *trk, PdtPid::PidType hypo, int nAct, int nSvt, int nMdc, double startFoundRange, double endFoundRange)
 
 TrkRep (TrkRecoTrk *trk, PdtPid::PidType hypo, bool createHotList=false)
 
 TrkRep (const TrkRep &oldRep, TrkRecoTrk *trk, PdtPid::PidType hypo)
 
virtual ~TrkRep ()
 
virtual TrkRepclone (TrkRecoTrk *newTrack) const =0
 
virtual TrkRepcloneNewHypo (PdtPid::PidType hypo)=0
 
bool operator== (const TrkRep &)
 
virtual ChisqConsistency chisqConsistency () const
 
virtual int nActive () const
 
virtual int nSvt () const
 
virtual int nMdc () const
 
virtual PdtPid::PidType particleType () const
 
TrkRecoTrkparentTrack ()
 
const TrkRecoTrkparentTrack () const
 
double startValidRange () const
 
double endValidRange () const
 
virtual double startFoundRange () const
 
virtual double endFoundRange () const
 
virtual const IfdKeymyKey () const
 
double trackT0 () const
 
virtual HepPoint3D position (double fltL) const
 
virtual Hep3Vector direction (double fltL) const
 
virtual double arrivalTime (double fltL) const
 
virtual BesPointErr positionErr (double fltL) const
 
virtual BesVectorErr directionErr (double fltL) const
 
virtual void addHot (TrkHitOnTrk *theHot)
 
virtual void removeHot (TrkHitOnTrk *theHot)
 
virtual void activateHot (TrkHitOnTrk *theHot)
 
virtual void deactivateHot (TrkHitOnTrk *theHot)
 
virtual TrkHotListhotList ()
 
virtual const TrkHotListhotList () const
 
virtual void updateHots ()
 
virtual bool resid (const TrkHitOnTrk *theHot, double &residual, double &residErr, bool exclude=false) const
 
bool hitCapable () const
 
virtual TrkErrCode fit ()=0
 
- Public Member Functions inherited from TrkFitStatus
bool is2d () const
 
bool fitCurrent () const
 
bool fitValid () const
 
bool multScat () const
 
std::ostream & printStatus (std::ostream &os=std::cout) const
 
void setValid (bool v)
 
void setCurrent (bool c)
 
void set2d (bool d)
 
void setMultScat (bool m)
 
const TrkErrCodefitStatus () const
 
history_iterator beginHistory () const
 
history_iterator endHistory () const
 
history_riterator reverseBeginHistory () const
 
history_riterator reverseEndHistory () const
 
std::pair< history_iterator, history_iterator > history () const
 
const std::vector< TrkHistory > & historyVector () const
 
virtual void addHistory (const TrkErrCode &status, const char *modulename)
 
template<class T >
void addHistory (T begin, T end)
 
template<class T >
void addHistory (std::pair< T, T > p)
 
std::ostream & printHistory (std::ostream &os=std::cout) const
 
- Public Member Functions inherited from TrkFit
virtual ChisqConsistency chisqConsistency () const =0
 
virtual bool validFlightLength (double fltL, double tolerance=0.0) const
 
void printType (std::ostream &ostr) const
 
virtual int nActive () const =0
 
virtual int nSvt () const =0
 
virtual int nMdc () const =0
 
virtual PdtPid::PidType particleType () const =0
 
virtual TrkExchangePar helix (double fltL) const =0
 
virtual double arrivalTime (double fltL) const =0
 
virtual double startFoundRange () const =0
 
virtual double endFoundRange () const =0
 
virtual int charge () const =0
 
virtual double chisq () const =0
 
virtual int nDof () const =0
 
virtual const TrkDifTrajtraj () const =0
 
virtual HepPoint3D position (double fltL) const =0
 
virtual Hep3Vector direction (double fltL) const =0
 
virtual Hep3Vector momentum (double fltL=0.) const =0
 
virtual double pt (double fltL=0.) const =0
 
virtual BesPointErr positionErr (double fltL) const =0
 
virtual BesVectorErr directionErr (double fltL) const =0
 
virtual BesVectorErr momentumErr (double fltL) const =0
 
virtual HepMatrix posmomCov (double fltL) const =0
 
virtual void getAllCovs (double fltL, HepSymMatrix &xxCov, HepSymMatrix &ppCov, HepMatrix &xpCov) const =0
 
virtual void getAllWeights (double fltL, HepVector &pos, HepVector &mom, HepSymMatrix &xxWeight, HepSymMatrix &ppWeight, HepMatrix &xpWeight) const =0
 
virtual double startValidRange () const =0
 
virtual double endValidRange () const =0
 
virtual void printAll (std::ostream &ostr) const =0
 
virtual void print (std::ostream &ostr) const =0
 
- Public Member Functions inherited from TrkHitOnTrkUpdater
virtual ~TrkHitOnTrkUpdater ()=0
 

Protected Member Functions

 TrkCircleRep (const TrkCircleRep &right, TrkRecoTrk *trk, PdtPid::PidType)
 
virtual TrkSimpTrajsimpTraj ()
 
virtual const TrkSimpTrajsimpTraj () const
 
- Protected Member Functions inherited from TrkSimpleRep
TrkSimpleRepoperator= (const TrkSimpleRep &right)
 
virtual TrkSimpTrajsimpTraj ()=0
 
virtual const TrkSimpTrajsimpTraj () const =0
 
- Protected Member Functions inherited from TrkRep
TrkRepoperator= (const TrkRep &)
 
const TrkContexttrkContext () const
 
- Protected Member Functions inherited from TrkFitStatus
virtual ~TrkFitStatus ()
 
 TrkFitStatus ()
 
TrkFitStatusoperator= (const TrkFitStatus &)
 
 TrkFitStatus (const TrkFitStatus &)
 
- Protected Member Functions inherited from TrkFit
 TrkFit ()
 
virtual ~TrkFit ()
 
- Protected Member Functions inherited from TrkAbsFit
 TrkAbsFit ()
 
virtual ~TrkAbsFit ()
 
- Protected Member Functions inherited from TrkHitOnTrkUpdater
TrkErrCode updateMeasurement (TrkHitOnTrk &hot, const TrkDifTraj *traj=0, bool maintainAmbiguity=false) const
 
void setActivity (TrkHitOnTrk &hot, bool active) const
 
void setParent (TrkHitOnTrk &hot, TrkRep *parent) const
 
TrkBase::Functors::updateMeasurement updateMeasurement (const TrkDifTraj *traj=0, bool maintainAmbiguity=false) const
 
TrkBase::Functors::setParent setParent (TrkRep *parent) const
 
TrkBase::Functors::setActive setActive (bool active) const
 

Additional Inherited Members

- Public Types inherited from TrkFitStatus
typedef std::unary_function< TrkFitStatus, boolpredicate_type
 
- Protected Attributes inherited from TrkRep
std::auto_ptr< TrkHotList_hotList
 

Detailed Description

Definition at line 22 of file TrkCircleRep.h.

Constructor & Destructor Documentation

◆ TrkCircleRep() [1/3]

TrkCircleRep::TrkCircleRep ( const TrkExchangePar inPar,
TrkRecoTrk myTrack,
PdtPid::PidType  hypo,
const TrkHotList inHots = 0 
)

Definition at line 19 of file TrkCircleRep.cxx.

22 :
23 TrkSimpleRep(inHots, trk, hypo),
24 _traj(inPar)
25{
26 set2d(true);
27}
void set2d(bool d)
Definition: TrkFitStatus.h:40

◆ TrkCircleRep() [2/3]

TrkCircleRep::TrkCircleRep ( const TrkExchangePar inPar,
TrkRecoTrk myTrack,
PdtPid::PidType  hypo,
int  nActive,
int  nSvt,
int  nDch,
double  chi2,
double  startFoundRange,
double  endFoundRange 
)

Definition at line 30 of file TrkCircleRep.cxx.

32 :
33 TrkSimpleRep(trk, hypo, nact, nsv, ndc, chi2, stFndRng, endFndRng),
34 _traj(inPar)
35{
36 set2d(true);
37}

◆ ~TrkCircleRep()

TrkCircleRep::~TrkCircleRep ( )
virtual

Definition at line 47 of file TrkCircleRep.cxx.

48{}

◆ TrkCircleRep() [3/3]

TrkCircleRep::TrkCircleRep ( const TrkCircleRep right,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)
protected

Definition at line 40 of file TrkCircleRep.cxx.

41 :
42 TrkSimpleRep(right, trk, hypo), _traj(right._traj)
43{
44 set2d(true);
45}

Member Function Documentation

◆ clone()

TrkCircleRep * TrkCircleRep::clone ( TrkRecoTrk newTrack) const
virtual

Implements TrkRep.

Definition at line 51 of file TrkCircleRep.cxx.

52{
53 TrkCircleRep* newRep = new TrkCircleRep(*this, theTrack, this->particleType());
54 newRep->setValid(fitValid());
55 newRep->setCurrent(fitCurrent());
56 return newRep;
57
58}
void setValid(bool v)
bool fitValid() const
Definition: TrkFitStatus.h:34
bool fitCurrent() const
Definition: TrkFitStatus.h:33
void setCurrent(bool c)
Definition: TrkFitStatus.h:39
virtual PdtPid::PidType particleType() const
Definition: TrkRep.cxx:308

◆ cloneNewHypo()

TrkCircleRep * TrkCircleRep::cloneNewHypo ( PdtPid::PidType  hypo)
virtual

Implements TrkRep.

Definition at line 61 of file TrkCircleRep.cxx.

62{
63 TrkCircleRep* newRep = new TrkCircleRep(*this, parentTrack(), hypo);
64 newRep->setValid(fitValid());
65 newRep->setCurrent(fitCurrent()); // true for circles, anyway
66 return newRep;
67}
TrkRecoTrk * parentTrack()
Definition: TrkRep.h:82

◆ helix()

TrkExchangePar TrkCircleRep::helix ( double  fltLen) const
virtual

Implements TrkFit.

Definition at line 70 of file TrkCircleRep.cxx.

71{
72 TrkExchangePar localPar(_traj.d0(), BesAngle(_traj.phi0()).rad(),
73 _traj.omega(), 0.0, 0.0);
74 HepSymMatrix& theCov = localPar.covariance();
75 for (int i = 1; i < 4; i++) {
76 for (int j = 1; j < 4; j++) {
77 theCov(i,j) = _traj.parameters()->covariance()(i,j);
78 }
79 }
80 return localPar;
81}
double rad() const
Definition: BesAngle.h:118
double d0() const
Definition: TrkCircleTraj.h:88
double phi0() const
double omega() const
Definition: TrkCircleTraj.h:90
HepSymMatrix & covariance()
Definition: TrkParams.h:54
TrkParams * parameters()
Definition: TrkSimpTraj.h:80

◆ print()

void TrkCircleRep::print ( std::ostream &  ostr) const
virtual

Implements TrkAbsFit.

Definition at line 84 of file TrkCircleRep.cxx.

85{
86 ostr << "TrkCircleRep "
87 << " q: "<<charge()
88 << " phi0: " << BesAngle(_traj.phi0()).rad()
89 << " om: "<<_traj.omega()
90 << " pt: "<<pt()
91 << " p: "<<momentum()
92 << " d0: " << _traj.d0()
93 << " parent track:"<<parentTrack()->id()
94 << endl;
95
96}
**********INTEGER nmxhep !maximum number of particles DOUBLE PRECISION vhep INTEGER jdahep COMMON hepevt $ !serial number $ !number of particles $ !status code $ !particle ident KF $ !parent particles $ !childreen particles $ !four momentum
const TrkId & id() const
Definition: TrkRecoTrk.cxx:134
virtual double pt(double fltL=0.) const
virtual int charge() const

Referenced by printAll().

◆ printAll()

void TrkCircleRep::printAll ( std::ostream &  ostr) const
virtual

Implements TrkAbsFit.

Definition at line 99 of file TrkCircleRep.cxx.

100{
101 print(ostr);
102}
virtual void print(std::ostream &ostr) const

◆ simpTraj() [1/2]

TrkSimpTraj & TrkCircleRep::simpTraj ( )
protectedvirtual

Implements TrkSimpleRep.

Definition at line 105 of file TrkCircleRep.cxx.

106{
107 return _traj;
108}

◆ simpTraj() [2/2]

const TrkSimpTraj & TrkCircleRep::simpTraj ( ) const
protectedvirtual

Implements TrkSimpleRep.

Definition at line 111 of file TrkCircleRep.cxx.

112{
113 return _traj;
114}

◆ traj() [1/2]

TrkDifTraj & TrkCircleRep::traj ( )
virtual

Definition at line 117 of file TrkCircleRep.cxx.

118{
119 return _traj;
120}

◆ traj() [2/2]

const TrkDifTraj & TrkCircleRep::traj ( ) const
virtual

Implements TrkAbsFit.

Definition at line 122 of file TrkCircleRep.cxx.

123{
124 return _traj;
125}

The documentation for this class was generated from the following files: