#include <TrkDifTraj.h>
Inheritance diagram for TrkDifTraj:
Public Member Functions | |
TrkDifTraj (const double lowlim=-99999., const double hilim=99999.) | |
virtual | ~TrkDifTraj () |
virtual void | getDFInfo (double fltLen, DifPoint &pos, DifVector &direction, DifVector &delDirect) const =0 |
virtual void | getDFInfo2 (double fltLen, DifPoint &pos, DifVector &direction) const |
virtual const TrkSimpTraj * | localTrajectory (double fltLen, double &localFlt) const =0 |
virtual HepPoint3D | position (double) const =0 |
virtual Hep3Vector | direction (double) const =0 |
virtual Hep3Vector | delDirect (double) const =0 |
virtual double | curvature (double) const =0 |
virtual void | getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction) const =0 |
virtual void | getInfo (double fltLen, HepPoint3D &pos, Hep3Vector &direction, Hep3Vector &delDirect) const =0 |
double | distTo0thError (double s, double tol, int pathDir) const |
virtual double | distTo1stError (double s, double tol, int pathDir) const =0 |
virtual double | distTo2ndError (double s, double tol, int pathDir) const =0 |
virtual Trajectory * | clone () const =0 |
bool | validFlightDistance (double f, double tolerance=0.0) const |
virtual void | setFlightRange (double newrange[2]) |
double | lowRange () const |
double | hiRange () const |
double | range () const |
virtual void | print (std::ostream &os) const |
virtual void | printAll (std::ostream &os) const |
Protected Attributes | |
double | flightrange [2] |
Private Member Functions | |
TrkDifTraj & | operator= (const TrkDifTraj &) |
TrkDifTraj (const TrkDifTraj &) |
Definition at line 28 of file TrkDifTraj.h.
TrkDifTraj::TrkDifTraj | ( | const double | lowlim = -99999. , |
|
const double | hilim = 99999. | |||
) |
TrkDifTraj::~TrkDifTraj | ( | ) | [virtual] |
TrkDifTraj::TrkDifTraj | ( | const TrkDifTraj & | ) | [private] |
virtual Trajectory* Trajectory::clone | ( | ) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, TrkGeomTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkSimpTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkCompTrk::operator=(), and TrkCompTrk::TrkCompTrk().
virtual double Trajectory::curvature | ( | double | ) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkDifPieceTraj::curvature(), TrkMomCalculator::ptMom(), TrkPocaXY::TrkPocaXY(), and TrkMomCalculator::vecMom().
virtual Hep3Vector Trajectory::delDirect | ( | double | ) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkDifPieceTraj::delDirect(), and TrkPocaXY::TrkPocaXY().
virtual Hep3Vector Trajectory::direction | ( | double | ) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by MdcHitOnTrack::dipAngle(), TrkRep::direction(), TrkDifPieceTraj::direction(), TrkCompTrk::direction(), getDFInfo2(), TrkBmSpotOnTrk::GetRms(), TrkMomCalculator::ptMom(), TrkPocaXY::TrkPocaXY(), and TrkMomCalculator::vecMom().
double Trajectory::distTo0thError | ( | double | s, | |
double | tol, | |||
int | pathDir | |||
) | const [inherited] |
virtual double Trajectory::distTo1stError | ( | double | s, | |
double | tol, | |||
int | pathDir | |||
) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkDifPieceTraj::distTo1stError(), and TrkPocaBase::minimize().
virtual double Trajectory::distTo2ndError | ( | double | s, | |
double | tol, | |||
int | pathDir | |||
) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkDifPieceTraj::distTo2ndError(), TrkPocaBase::stepToPointPoca(), and TrkPocaBase::stepTowardPoca().
virtual void TrkDifTraj::getDFInfo | ( | double | fltLen, | |
DifPoint & | pos, | |||
DifVector & | direction, | |||
DifVector & | delDirect | |||
) | const [pure virtual] |
Implemented in HelixTraj, NeutTraj, TrkDifPieceTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkMomCalculator::calcCurvAllCovsOLD(), TrkMomCalculator::calcCurvAllWeightsOLD(), TrkMomCalculator::calcCurvErrMom(), TrkMomCalculator::calcCurvPosmomCov(), TrkMomCalculator::calcNeutAllCovs(), TrkMomCalculator::calcNeutAllWeights(), TrkMomCalculator::calcNeutErrMom(), TrkMomCalculator::calcNeutPosmomCov(), TrkDifPieceTraj::getDFInfo(), and getDFInfo2().
void TrkDifTraj::getDFInfo2 | ( | double | fltLen, | |
DifPoint & | pos, | |||
DifVector & | direction | |||
) | const [virtual] |
Reimplemented in HelixTraj, TrkDifPieceTraj, and TrkCircleTraj.
Definition at line 25 of file TrkDifTraj.cxx.
References Trajectory::direction(), getDFInfo(), and boss::pos.
Referenced by TrkDifPoca::calcDist(), TrkRep::directionErr(), TrkCompTrk::directionErr(), TrkDifPieceTraj::getDFInfo2(), TrkRep::positionErr(), and TrkCompTrk::positionErr().
00025 { 00026 // Slow default implementation. Override in subclasses where speed matters 00027 DifVector dummy; 00028 getDFInfo(fltLen, pos, direction, dummy); 00029 }
virtual void Trajectory::getInfo | ( | double | fltLen, | |
HepPoint3D & | pos, | |||
Hep3Vector & | direction, | |||
Hep3Vector & | delDirect | |||
) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
virtual void Trajectory::getInfo | ( | double | fltLen, | |
HepPoint3D & | pos, | |||
Hep3Vector & | direction | |||
) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkPoca::calcDist(), TrkDifPoca::calcDist(), MdcHitOnTrack::driftVelocity(), MdcHitOnTrack::entranceAngle(), MdcHitOnTrack::entranceAngleHit(), TrkDifPieceTraj::getInfo(), TrkPocaBase::stepToPointPoca(), TrkPocaBase::stepTowardPoca(), MdcHitOnTrack::updateCorrections(), and MdcHitOnTrack::wireAmbig().
double Trajectory::hiRange | ( | ) | const [inline, inherited] |
Definition at line 92 of file Trajectory.h.
References Trajectory::flightrange.
Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::changePoint(), MdcUtilitySvc::docaPatPar(), TrkRep::endValidRange(), TrkCompTrk::endValidRange(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), TrkDifPieceTraj::locallyValid(), MdcHitOnTrack::MdcHitOnTrack(), TrkSimpTraj::operator==(), TrkDifPieceTraj::prepend(), and Trajectory::range().
00092 {return flightrange[1];}
virtual const TrkSimpTraj* TrkDifTraj::localTrajectory | ( | double | fltLen, | |
double & | localFlt | |||
) | const [pure virtual] |
double Trajectory::lowRange | ( | ) | const [inline, inherited] |
Definition at line 91 of file Trajectory.h.
References Trajectory::flightrange.
Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::changePoint(), MdcUtilitySvc::docaPatPar(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), TrkDifPieceTraj::locallyValid(), MdcHitOnTrack::MdcHitOnTrack(), TrkSimpTraj::operator==(), TrkDifPieceTraj::prepend(), Trajectory::range(), TrkRep::startValidRange(), TrkCompTrk::startValidRange(), TrkDifPieceTraj::trajIndex(), and TrkDifPieceTraj::TrkDifPieceTraj().
00091 {return flightrange[0];}
TrkDifTraj& TrkDifTraj::operator= | ( | const TrkDifTraj & | ) | [private] |
virtual HepPoint3D Trajectory::position | ( | double | ) | const [pure virtual, inherited] |
Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.
Referenced by TrkDifPieceTraj::append(), TrkPocaBase::minimize(), TrkRep::position(), TrkDifPieceTraj::position(), TrkCompTrk::position(), TrkDifPieceTraj::prepend(), TrkPoca::TrkPoca(), and TrkPocaXY::TrkPocaXY().
virtual void Trajectory::print | ( | std::ostream & | os | ) | const [virtual, inherited] |
Reimplemented in HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.
virtual void Trajectory::printAll | ( | std::ostream & | os | ) | const [virtual, inherited] |
Reimplemented in HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.
double Trajectory::range | ( | ) | const [inline, inherited] |
Definition at line 93 of file Trajectory.h.
References Trajectory::hiRange(), and Trajectory::lowRange().
Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), and TrkDifPieceTraj::prepend().
void Trajectory::setFlightRange | ( | double | newrange[2] | ) | [virtual, inherited] |
Reimplemented in TrkDifPieceTraj.
Definition at line 57 of file Trajectory.cxx.
References Trajectory::flightrange.
Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::changePoint(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), TrkDifPieceTraj::prepend(), and TrkDifPieceTraj::TrkDifPieceTraj().
00058 { 00059 if (newrange[1] >= newrange[0]) { 00060 flightrange[0] = newrange[0]; 00061 flightrange[1] = newrange[1]; 00062 } else { 00063 std::cout<<"ErrMsg(error) "<< "Invalid Trajectory range requested." << std::endl; 00064 flightrange[0] = newrange[1]; 00065 flightrange[1] = newrange[0]; 00066 } 00067 }
bool Trajectory::validFlightDistance | ( | double | f, | |
double | tolerance = 0.0 | |||
) | const [inline, inherited] |
Definition at line 88 of file Trajectory.h.
References Trajectory::flightrange.
Referenced by TrkDifPieceTraj::trajIndex().
00088 { 00089 return f >= flightrange[0]-tol && f <= flightrange[1]+tol; 00090 }
double Trajectory::flightrange[2] [protected, inherited] |
Definition at line 83 of file Trajectory.h.
Referenced by TrkDifPieceTraj::append(), Trajectory::hiRange(), Trajectory::lowRange(), TrkDifPieceTraj::operator=(), NeutTraj::operator=(), Trajectory::operator=(), MdcSagTraj::operator=(), TrkDifPieceTraj::prepend(), TrkDifPieceTraj::resize(), TrkDifPieceTraj::setFlightRange(), Trajectory::setFlightRange(), Trajectory::Trajectory(), TrkDifPieceTraj::TrkDifPieceTraj(), and Trajectory::validFlightDistance().