TrkDifTraj Class Reference

#include <TrkDifTraj.h>

Inheritance diagram for TrkDifTraj:

Trajectory TrkDifPieceTraj TrkSimpTraj HelixTraj NeutTraj TrkCircleTraj TrkDifLineTraj List of all members.

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 TrkSimpTrajlocalTrajectory (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 Trajectoryclone () 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

TrkDifTrajoperator= (const TrkDifTraj &)
 TrkDifTraj (const TrkDifTraj &)

Detailed Description

Definition at line 28 of file TrkDifTraj.h.


Constructor & Destructor Documentation

TrkDifTraj::TrkDifTraj ( const double  lowlim = -99999.,
const double  hilim = 99999. 
)

Definition at line 18 of file TrkDifTraj.cxx.

00018                                                              :
00019   Trajectory(lowlim, hilim) {
00020 }
 

TrkDifTraj::~TrkDifTraj (  )  [virtual]

Definition at line 22 of file TrkDifTraj.cxx.

00022 {}

TrkDifTraj::TrkDifTraj ( const TrkDifTraj  )  [private]


Member Function Documentation

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]

Definition at line 51 of file Trajectory.cxx.

00052 {
00053   return fabs(tolerance);
00054 }

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]

Implemented in TrkDifPieceTraj, and TrkSimpTraj.

Referenced by TrkHitOnTrk::TrkHitOnTrk().

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().

00093 { return hiRange()-lowRange(); }

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 }


Member Data Documentation

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().


Generated on Tue Nov 29 23:36:13 2016 for BOSS_7.0.2 by  doxygen 1.4.7