BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkRep Class Referenceabstract

#include <TrkRep.h>

+ Inheritance diagram for TrkRep:

Public Member Functions

 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
 
 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
 
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 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
 
- Public Member Functions inherited from TrkAbsFit
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
 
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
 
virtual ~TrkHitOnTrkUpdater ()=0
 

Protected Member Functions

TrkRepoperator= (const TrkRep &)
 
const TrkContexttrkContext () const
 
TrkRepoperator= (const TrkRep &)
 
const TrkContexttrkContext () const
 
- Protected Member Functions inherited from TrkFitStatus
virtual ~TrkFitStatus ()
 
 TrkFitStatus ()
 
TrkFitStatusoperator= (const TrkFitStatus &)
 
 TrkFitStatus (const TrkFitStatus &)
 
virtual ~TrkFitStatus ()
 
 TrkFitStatus ()
 
TrkFitStatusoperator= (const TrkFitStatus &)
 
 TrkFitStatus (const TrkFitStatus &)
 
- Protected Member Functions inherited from TrkFit
 TrkFit ()
 
virtual ~TrkFit ()
 
 TrkFit ()
 
virtual ~TrkFit ()
 
- Protected Member Functions inherited from TrkAbsFit
 TrkAbsFit ()
 
virtual ~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
 
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
 

Protected Attributes

std::auto_ptr< TrkHotList_hotList
 

Additional Inherited Members

- Public Types inherited from TrkFitStatus
typedef std::unary_function< TrkFitStatus, boolpredicate_type
 
typedef std::unary_function< TrkFitStatus, boolpredicate_type
 

Detailed Description

Definition at line 43 of file InstallArea/include/TrkBase/TrkBase/TrkRep.h.

Constructor & Destructor Documentation

◆ TrkRep() [1/14]

TrkRep::TrkRep ( const TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

Definition at line 47 of file TrkRep.cxx.

49 :_hotList( hotlist.clone(TrkBase::Functors::cloneHot(this)) )
50{
51 init(trk, hypo);
52}
std::auto_ptr< TrkHotList > _hotList

◆ TrkRep() [2/14]

TrkRep::TrkRep ( TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  stealHots = false 
)

Definition at line 54 of file TrkRep.cxx.

56{
57 init(trk, hypo);
58 if (!stealHots) {
59 _hotList.reset( hotlist.clone(TrkBase::Functors::cloneHot(this)) );
60 } else {
61 _hotList.reset( new TrkHotListFull(hotlist,setParent(this)) );
62 }
63}
void setParent(TrkHitOnTrk &hot, TrkRep *parent) const

◆ TrkRep() [3/14]

TrkRep::TrkRep ( const TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

Definition at line 65 of file TrkRep.cxx.

67{
68 //yzhang SegGrouperAx::storePar newTrack come here
69 //yzhang SegGrouperSt::storePar addZValue come here too and hotlist!=0 do clone()
70 init(trk, hypo);
71 _hotList.reset( hotlist!=0?
72 hotlist->clone(TrkBase::Functors::cloneHot(this)):
73 new TrkHotListFull );
74}

◆ TrkRep() [4/14]

TrkRep::TrkRep ( TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  takeownership = false 
)

Definition at line 76 of file TrkRep.cxx.

78{
79 init(trk, hypo);
80 if (!takeownership) {
81 _hotList.reset( hotlist!=0?
82 hotlist->clone(TrkBase::Functors::cloneHot(this)):
83 new TrkHotListFull );
84 } else {
85 assert(hotlist!=0);
86 _hotList.reset( hotlist->resetParent(setParent(this)) );
87 }
88}

◆ TrkRep() [5/14]

TrkRep::TrkRep ( TrkRecoTrk trk,
PdtPid::PidType  hypo,
int  nAct,
int  nSvt,
int  nMdc,
double  startFoundRange,
double  endFoundRange 
)

Definition at line 91 of file TrkRep.cxx.

93 :_hotList(new TrkHotListEmpty(nact, nsv, ndc, stFndRng, endFndRng))
94{
95// cout << " in TrkRep copy ctor 1" << endl;//yzhang debug
96
97 init(trk, hypo);
98}

◆ TrkRep() [6/14]

TrkRep::TrkRep ( TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  createHotList = false 
)

Definition at line 41 of file TrkRep.cxx.

42 : _hotList( createHotList?new TrkHotListFull:0 )
43{
44 init(trk, hypo);
45}

◆ TrkRep() [7/14]

TrkRep::TrkRep ( const TrkRep oldRep,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

Definition at line 101 of file TrkRep.cxx.

101 :
102 TrkFitStatus(oldRep)
103{
104// cout << " in TrkRep copy ctor 2" << endl;//yzhang debug
105
106 init(trk, hypo);
107 // Hots and hotlist have to be cloned in the derived classes
108}

◆ ~TrkRep() [1/2]

TrkRep::~TrkRep ( )
virtual

Definition at line 129 of file TrkRep.cxx.

130{
131}

◆ TrkRep() [8/14]

TrkRep::TrkRep ( const TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

◆ TrkRep() [9/14]

TrkRep::TrkRep ( TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  stealHots = false 
)

◆ TrkRep() [10/14]

TrkRep::TrkRep ( const TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

◆ TrkRep() [11/14]

TrkRep::TrkRep ( TrkHotList inHots,
TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  takeownership = false 
)

◆ TrkRep() [12/14]

TrkRep::TrkRep ( TrkRecoTrk trk,
PdtPid::PidType  hypo,
int  nAct,
int  nSvt,
int  nMdc,
double  startFoundRange,
double  endFoundRange 
)

◆ TrkRep() [13/14]

TrkRep::TrkRep ( TrkRecoTrk trk,
PdtPid::PidType  hypo,
bool  createHotList = false 
)

◆ TrkRep() [14/14]

TrkRep::TrkRep ( const TrkRep oldRep,
TrkRecoTrk trk,
PdtPid::PidType  hypo 
)

◆ ~TrkRep() [2/2]

virtual TrkRep::~TrkRep ( )
virtual

Member Function Documentation

◆ activateHot() [1/2]

void TrkRep::activateHot ( TrkHitOnTrk theHot)
virtual

Definition at line 154 of file TrkRep.cxx.

155{
156 if(!hot->isActive()){
157// make sure this is my hot we're talking about
158 if(this == hot->getParentRep()){
159 setCurrent(false);
160// actually activate the hot; this is now the rep's job
161 hot->setActive(true);
162 }
163 }
164}

Referenced by TrkHitOnTrk::setActivity(), and TrkHitOnTrk::setUsability().

◆ activateHot() [2/2]

virtual void TrkRep::activateHot ( TrkHitOnTrk theHot)
virtual

◆ addHot() [1/2]

void TrkRep::addHot ( TrkHitOnTrk theHot)
virtual

Definition at line 140 of file TrkRep.cxx.

141{
142 if (newHot->isActive()) setCurrent(false);
143 hotList()->append(newHot);
144}
virtual void append(TrkHitOnTrk *)=0
virtual TrkHotList * hotList()

◆ addHot() [2/2]

virtual void TrkRep::addHot ( TrkHitOnTrk theHot)
virtual

◆ arrivalTime() [1/2]

double TrkRep::arrivalTime ( double  fltL) const
virtual

Implements TrkFit.

Reimplemented in TrkLineRep, and TrkLineRep.

Definition at line 192 of file TrkRep.cxx.

193{
194 static double cinv = 1./Constants::c;
195 // Initialize cache
196 if (_betainv < 0.0) {
197 double mass2 = Pdt::lookup(particleType())->mass();
198 mass2 = mass2 * mass2;
199 double ptot2 = momentum(0.).mag2();
200 assert(ptot2 != 0.0);
201 _betainv = sqrt( (ptot2 + mass2)/ ptot2);
202 }
203 double tof = fltL * _betainv * cinv;
204 return trackT0() + tof;
205}
**********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
static PdtEntry * lookup(const std::string &name)
Definition: Pdt.cxx:207
double trackT0() const
Definition: TrkRep.cxx:208
virtual PdtPid::PidType particleType() const
Definition: TrkRep.cxx:308

Referenced by MdcTrkRecon::fillTrackList(), and MdcTrack::storeTrack().

◆ arrivalTime() [2/2]

virtual double TrkRep::arrivalTime ( double  fltL) const
virtual

Implements TrkFit.

Reimplemented in TrkLineRep, and TrkLineRep.

◆ chisqConsistency() [1/2]

ChisqConsistency TrkRep::chisqConsistency ( ) const
virtual

Implements TrkFit.

Definition at line 363 of file TrkRep.cxx.

363 {
364 if(fitValid())
365 return ChisqConsistency(chisq(),nDof());
366 else
367 return ChisqConsistency();
368}
virtual double chisq() const =0
virtual int nDof() const =0

◆ chisqConsistency() [2/2]

virtual ChisqConsistency TrkRep::chisqConsistency ( ) const
virtual

Implements TrkFit.

◆ clone() [1/2]

virtual TrkRep * TrkRep::clone ( TrkRecoTrk newTrack) const
pure virtual

◆ clone() [2/2]

virtual TrkRep * TrkRep::clone ( TrkRecoTrk newTrack) const
pure virtual

◆ cloneNewHypo() [1/2]

virtual TrkRep * TrkRep::cloneNewHypo ( PdtPid::PidType  hypo)
pure virtual

◆ cloneNewHypo() [2/2]

virtual TrkRep * TrkRep::cloneNewHypo ( PdtPid::PidType  hypo)
pure virtual

◆ deactivateHot() [1/2]

void TrkRep::deactivateHot ( TrkHitOnTrk theHot)
virtual

Definition at line 167 of file TrkRep.cxx.

168{
169 if(hot->isActive()){
170// make sure this is my hot we're talking about
171 if(this == hot->getParentRep()){
172 setCurrent(false);
173// actually deactivate the hot; this is now the rep's job
174 hot->setActive(false);
175 }
176 }
177}

Referenced by TrkHitOnTrk::setActivity(), and TrkHitOnTrk::setUsability().

◆ deactivateHot() [2/2]

virtual void TrkRep::deactivateHot ( TrkHitOnTrk theHot)
virtual

◆ direction() [1/2]

Hep3Vector TrkRep::direction ( double  fltL) const
virtual

Implements TrkAbsFit.

Definition at line 186 of file TrkRep.cxx.

187{
188 return traj().direction(fltL);
189}
virtual Hep3Vector direction(double) const =0
virtual const TrkDifTraj & traj() const =0

◆ direction() [2/2]

virtual Hep3Vector TrkRep::direction ( double  fltL) const
virtual

Implements TrkAbsFit.

◆ directionErr() [1/2]

BesVectorErr TrkRep::directionErr ( double  fltL) const
virtual

Implements TrkAbsFit.

Definition at line 272 of file TrkRep.cxx.

273{
274 static DifPoint posD;
275 static DifVector dirD;
276 traj().getDFInfo2(fltL, posD, dirD);
277 BesError symErr(3);
278 symErr.assign( dirD.errorMatrix( dirD.x.indepPar()->covariance() ));
279 Hep3Vector dir(dirD.x.number(), dirD.y.number(), dirD.z.number());
280 return BesVectorErr(dir, symErr);
281}
HepSymMatrix errorMatrix(const HepSymMatrix &e) const
Definition: DifVector.cxx:54
virtual void getDFInfo2(double fltLen, DifPoint &pos, DifVector &direction) const
Definition: TrkDifTraj.cxx:25

◆ directionErr() [2/2]

virtual BesVectorErr TrkRep::directionErr ( double  fltL) const
virtual

Implements TrkAbsFit.

◆ endFoundRange() [1/2]

double TrkRep::endFoundRange ( ) const
virtual

Implements TrkFit.

Definition at line 302 of file TrkRep.cxx.

303{
304 return hotList()->endFoundRange();
305}
virtual double endFoundRange() const =0

◆ endFoundRange() [2/2]

virtual double TrkRep::endFoundRange ( ) const
virtual

Implements TrkFit.

◆ endValidRange() [1/2]

double TrkRep::endValidRange ( ) const
virtual

Implements TrkAbsFit.

Definition at line 290 of file TrkRep.cxx.

291{
292 return traj().hiRange();
293}

◆ endValidRange() [2/2]

double TrkRep::endValidRange ( ) const
virtual

Implements TrkAbsFit.

◆ fit() [1/2]

virtual TrkErrCode TrkRep::fit ( )
pure virtual

Implemented in TrkSimpleRep, and TrkSimpleRep.

Referenced by TrkHitList::fit().

◆ fit() [2/2]

virtual TrkErrCode TrkRep::fit ( )
pure virtual

Implemented in TrkSimpleRep, and TrkSimpleRep.

◆ hitCapable() [1/2]

bool TrkRep::hitCapable ( ) const
inline

Definition at line 118 of file InstallArea/include/TrkBase/TrkBase/TrkRep.h.

118{return hotList()->hitCapable();}
virtual bool hitCapable() const =0

Referenced by TrkSimpleRep::fit().

◆ hitCapable() [2/2]

bool TrkRep::hitCapable ( ) const
inline

◆ hotList() [1/4]

◆ hotList() [2/4]

virtual TrkHotList * TrkRep::hotList ( )
inlinevirtual

◆ hotList() [3/4]

virtual const TrkHotList * TrkRep::hotList ( ) const
inlinevirtual

Definition at line 110 of file InstallArea/include/TrkBase/TrkBase/TrkRep.h.

110{return _hotList.get();}

◆ hotList() [4/4]

virtual const TrkHotList * TrkRep::hotList ( ) const
inlinevirtual

◆ myKey() [1/2]

const IfdKey & TrkRep::myKey ( ) const
virtual

Reimplemented in TrkHelixRep, and TrkHelixRep.

Definition at line 314 of file TrkRep.cxx.

315{
316 // This provides a default key (used to provide Rep-specific interfaces
317 // to TrkRecoTrk consumers).
318 static IfdIntKey _theKey(0);
319 return _theKey;
320}

Referenced by TrkExtInterface::attach().

◆ myKey() [2/2]

virtual const IfdKey & TrkRep::myKey ( ) const
virtual

Reimplemented in TrkHelixRep, and TrkHelixRep.

◆ nActive() [1/2]

int TrkRep::nActive ( ) const
virtual

Implements TrkFit.

Definition at line 330 of file TrkRep.cxx.

331{
332 return hotList()->nActive();
333}
virtual int nActive(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const =0

Referenced by TrkSimpleRep::nDof().

◆ nActive() [2/2]

virtual int TrkRep::nActive ( ) const
virtual

Implements TrkFit.

◆ nMdc() [1/2]

int TrkRep::nMdc ( ) const
virtual

Implements TrkFit.

Definition at line 342 of file TrkRep.cxx.

343{
344 return hotList()->nMdc();
345}
virtual int nMdc(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const =0

◆ nMdc() [2/2]

virtual int TrkRep::nMdc ( ) const
virtual

Implements TrkFit.

◆ nSvt() [1/2]

int TrkRep::nSvt ( ) const
virtual

Implements TrkFit.

Definition at line 336 of file TrkRep.cxx.

337{
338 return hotList()->nSvt();
339}
virtual int nSvt(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const =0

◆ nSvt() [2/2]

virtual int TrkRep::nSvt ( ) const
virtual

Implements TrkFit.

◆ operator=() [1/2]

TrkRep & TrkRep::operator= ( const TrkRep right)
protected

Definition at line 111 of file TrkRep.cxx.

112{
113 if(&right != this){
114 init(right._parentTrack, right._partHypo);
115 _hotList.reset( right._hotList->clone(this) );
117 }
118 return *this;
119}
TrkFitStatus & operator=(const TrkFitStatus &)

Referenced by TrkSimpleRep::operator=().

◆ operator=() [2/2]

TrkRep & TrkRep::operator= ( const TrkRep )
protected

◆ operator==() [1/2]

bool TrkRep::operator== ( const TrkRep rhs)

Definition at line 134 of file TrkRep.cxx.

135{
136 return (&rhs == this);
137}

◆ operator==() [2/2]

bool TrkRep::operator== ( const TrkRep )

◆ parentTrack() [1/4]

◆ parentTrack() [2/4]

TrkRecoTrk * TrkRep::parentTrack ( )
inline

Definition at line 82 of file Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkRep.h.

82{return _parentTrack;}

◆ parentTrack() [3/4]

const TrkRecoTrk * TrkRep::parentTrack ( ) const
inline

Definition at line 83 of file InstallArea/include/TrkBase/TrkBase/TrkRep.h.

83{return _parentTrack;}

◆ parentTrack() [4/4]

const TrkRecoTrk * TrkRep::parentTrack ( ) const
inline

Definition at line 83 of file Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkRep.h.

83{return _parentTrack;}

◆ particleType() [1/2]

PdtPid::PidType TrkRep::particleType ( ) const
virtual

Implements TrkFit.

Definition at line 308 of file TrkRep.cxx.

309{
310 return _partHypo;
311}

Referenced by arrivalTime(), TrkCircleRep::clone(), TrkHelixRep::clone(), TrkLineRep::clone(), TrkHitOnTrk::particleType(), and TrkHitOnTrk::TrkHitOnTrk().

◆ particleType() [2/2]

virtual PdtPid::PidType TrkRep::particleType ( ) const
virtual

Implements TrkFit.

◆ position() [1/2]

HepPoint3D TrkRep::position ( double  fltL) const
virtual

Implements TrkAbsFit.

Definition at line 180 of file TrkRep.cxx.

181{
182 return traj().position(fltL);
183}
virtual HepPoint3D position(double) const =0

Referenced by MdcHitOnTrack::wireAmbig().

◆ position() [2/2]

virtual HepPoint3D TrkRep::position ( double  fltL) const
virtual

Implements TrkAbsFit.

◆ positionErr() [1/2]

BesPointErr TrkRep::positionErr ( double  fltL) const
virtual

Implements TrkAbsFit.

Definition at line 214 of file TrkRep.cxx.

215{
216 static DifPoint posD;
217 static DifVector dirD;
218 traj().getDFInfo2(fltL, posD, dirD);
219 HepMatrix err = posD.errorMatrix( posD.x.indepPar()->covariance() );
220 HepPoint3D point(posD.x.number(), posD.y.number(), posD.z.number());
221 BesError symErr(3);
222 symErr.assign(err);
223
224 if (false) {
225#ifdef MDCPATREC_ROUTINE
226 cout<< "ErrMsg(routine) " << "Pos "
227 << err.num_row() << " " << err.num_col() << endl
228 << "output:" << endl
229 // << err(1,1) << endl
230 // << err(2,1) << " " << err(2,2) << endl
231 // << err(3,1) << " " << err(3,2) << " " << err(3,3) << endl
232 << "x deriv: " << endl
233 << posD.x.derivatives() << endl
234 << "y deriv: " << endl
235 << posD.y.derivatives() << endl
236 << endl;
237#endif
238 // }
239
240 Hep3Vector pointDir(point.x(), point.y());
241 double dirMag = pointDir.mag();
242 double dist = 5.e-3;
243 double delx = dist * point.x() / dirMag;
244 double dely = dist * point.y() / dirMag;
245 int ierr = 0;
246 HepMatrix weight = err.inverse(ierr);
247 double chisq = weight(1,1) * delx * delx +
248 2 * weight(2,1) * delx * dely +
249 weight(2,2) * dely * dely;
250#ifdef MDCPATREC_DEBUG
251 cout << point << endl;
252 cout << symErr << endl;
253 cout << "delta: " << delx << " " << dely << endl;
254 cout << "chisq: " << chisq << endl;
255#endif
256 double phi0 = helix(fltL).phi0();
257 delx = dist * cos(phi0);
258 dely = dist * sin(phi0);
259 chisq = weight(1,1) * delx * delx +
260 2 * weight(2,1) * delx * dely +
261 weight(2,2) * dely * dely;
262#ifdef MDCPATREC_DEBUG
263 cout << "delta: " << delx << " " << dely << endl;
264 cout << "chisq: " << chisq << endl;
265 cout << endl << endl;
266#endif
267 }
268 return BesPointErr(point, symErr);
269}
double sin(const BesAngle a)
double cos(const BesAngle a)
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared dimensionless $ !dummy photon IR regulator $ !crude photon multiplicity enhancement factor *EVENT $ !MC crude volume of PhhSpace *Sfactors $ !YFS formfactor IR part only $ !YFS formfactor non IR finite part $ !mass weight
Definition: KarFin.h:34
HepVector derivatives() const
Definition: DifNumber.cxx:46
virtual TrkExchangePar helix(double fltL) const =0

◆ positionErr() [2/2]

virtual BesPointErr TrkRep::positionErr ( double  fltL) const
virtual

Implements TrkAbsFit.

◆ removeHot() [1/2]

void TrkRep::removeHot ( TrkHitOnTrk theHot)
virtual

Definition at line 147 of file TrkRep.cxx.

148{
149 if(theHot->isActive()) setCurrent(false); // fit no longer current
150 hotList()->remove(theHot);
151}
virtual void remove(TrkHitOnTrk *)=0

◆ removeHot() [2/2]

virtual void TrkRep::removeHot ( TrkHitOnTrk theHot)
virtual

◆ resid() [1/2]

bool TrkRep::resid ( const TrkHitOnTrk theHot,
double &  residual,
double &  residErr,
bool  exclude = false 
) const
virtual

Reimplemented in TrkHelixRep, and TrkHelixRep.

Definition at line 348 of file TrkRep.cxx.

351{
352 assert (h != 0);
353 if (h->parentRep() != this) return false; // HOT must belong to Rep
354 if (!h->hasResidual()) return false; // Residual must be available
355 if (exclude) return false; // FIXME: Can't do unbiased residuals (yet!)
356
357 residual=h->residual();
358 residErr=h->hitRms();
359 return true;
360}

Referenced by TrkHitOnTrk::resid().

◆ resid() [2/2]

virtual bool TrkRep::resid ( const TrkHitOnTrk theHot,
double &  residual,
double &  residErr,
bool  exclude = false 
) const
virtual

Reimplemented in TrkHelixRep, and TrkHelixRep.

◆ startFoundRange() [1/2]

double TrkRep::startFoundRange ( ) const
virtual

Implements TrkFit.

Definition at line 296 of file TrkRep.cxx.

297{
298 return hotList()->startFoundRange();
299}
virtual double startFoundRange() const =0

◆ startFoundRange() [2/2]

virtual double TrkRep::startFoundRange ( ) const
virtual

Implements TrkFit.

◆ startValidRange() [1/2]

double TrkRep::startValidRange ( ) const
virtual

Implements TrkAbsFit.

Definition at line 284 of file TrkRep.cxx.

285{
286 return traj().lowRange();
287}

◆ startValidRange() [2/2]

double TrkRep::startValidRange ( ) const
virtual

Implements TrkAbsFit.

◆ trackT0() [1/2]

double TrkRep::trackT0 ( ) const

Definition at line 208 of file TrkRep.cxx.

209{
210 return parentTrack()->trackT0();
211}
double trackT0() const
Definition: TrkRecoTrk.cxx:140

Referenced by arrivalTime(), and TrkLineRep::arrivalTime().

◆ trackT0() [2/2]

double TrkRep::trackT0 ( ) const

◆ trkContext() [1/2]

const TrkContext & TrkRep::trkContext ( ) const
protected

◆ trkContext() [2/2]

const TrkContext & TrkRep::trkContext ( ) const
protected

◆ updateHots() [1/2]

void TrkRep::updateHots ( )
virtual

Definition at line 323 of file TrkRep.cxx.

324{
325 setCurrent(false);
326 hotList()->updateHots();
327}
virtual void updateHots()=0

Referenced by TrkRecoTrk::updateReps().

◆ updateHots() [2/2]

virtual void TrkRep::updateHots ( )
virtual

Member Data Documentation

◆ _hotList

std::auto_ptr< TrkHotList > TrkRep::_hotList
protected

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