Trajectory Class Reference

#include <Trajectory.h>

Inheritance diagram for Trajectory:

TrkDifTraj TrkGeomTraj TrkDifPieceTraj TrkSimpTraj MdcSagTraj TrkLineTraj HelixTraj NeutTraj TrkCircleTraj TrkDifLineTraj List of all members.

Public Member Functions

 Trajectory (double lowlim, double hilim)
virtual ~Trajectory ()
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 Member Functions

Trajectoryoperator= (const Trajectory &)

Protected Attributes

double flightrange [2]

Detailed Description

Definition at line 35 of file Trajectory.h.


Constructor & Destructor Documentation

Trajectory::Trajectory ( double  lowlim,
double  hilim 
)

Definition at line 35 of file Trajectory.cxx.

References flightrange.

00036 {
00037   if (hilim < lowlim) {
00038     std::cout<<"ErrMsg(error) " << "Invalid Trajectory range requested." << std::endl;
00039     flightrange[0] = hilim;
00040     flightrange[1] = lowlim;
00041   }
00042   flightrange[0] = lowlim;
00043   flightrange[1] = hilim;
00044 }

Trajectory::~Trajectory (  )  [virtual]

Definition at line 46 of file Trajectory.cxx.

00047 {
00048 }


Member Function Documentation

virtual Trajectory* Trajectory::clone (  )  const [pure virtual]

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]

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]

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]

Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.

Referenced by MdcHitOnTrack::dipAngle(), TrkRep::direction(), TrkDifPieceTraj::direction(), TrkCompTrk::direction(), TrkDifTraj::getDFInfo2(), TrkBmSpotOnTrk::GetRms(), TrkMomCalculator::ptMom(), TrkPocaXY::TrkPocaXY(), and TrkMomCalculator::vecMom().

double Trajectory::distTo0thError ( double  s,
double  tol,
int  pathDir 
) const

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]

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]

Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.

Referenced by TrkDifPieceTraj::distTo2ndError(), TrkPocaBase::stepToPointPoca(), and TrkPocaBase::stepTowardPoca().

virtual void Trajectory::getInfo ( double  fltLen,
HepPoint3D pos,
Hep3Vector &  direction,
Hep3Vector &  delDirect 
) const [pure virtual]

Implemented in MdcSagTraj, HelixTraj, NeutTraj, TrkDifPieceTraj, TrkLineTraj, TrkCircleTraj, and TrkDifLineTraj.

virtual void Trajectory::getInfo ( double  fltLen,
HepPoint3D pos,
Hep3Vector &  direction 
) const [pure virtual]

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]

Definition at line 92 of file Trajectory.h.

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

00092 {return flightrange[1];}

double Trajectory::lowRange (  )  const [inline]

Definition at line 91 of file Trajectory.h.

References flightrange.

Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::changePoint(), MdcUtilitySvc::docaPatPar(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), TrkDifPieceTraj::locallyValid(), MdcHitOnTrack::MdcHitOnTrack(), TrkSimpTraj::operator==(), TrkDifPieceTraj::prepend(), range(), TrkRep::startValidRange(), TrkCompTrk::startValidRange(), TrkDifPieceTraj::trajIndex(), and TrkDifPieceTraj::TrkDifPieceTraj().

00091 {return flightrange[0];}

Trajectory & Trajectory::operator= ( const Trajectory  )  [protected]

Definition at line 86 of file Trajectory.cxx.

References flightrange, and EvtCyclic3::other().

Referenced by TrkDifLineTraj::operator=(), TrkCircleTraj::operator=(), TrkLineTraj::operator=(), and HelixTraj::operator=().

00087 {
00088  flightrange[0] = other.flightrange[0];
00089  flightrange[1] = other.flightrange[1];
00090   return *this;
00091 }

virtual HepPoint3D Trajectory::position ( double   )  const [pure virtual]

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]

Reimplemented in HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

virtual void Trajectory::printAll ( std::ostream os  )  const [virtual]

Reimplemented in HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

double Trajectory::range (  )  const [inline]

Definition at line 93 of file Trajectory.h.

References hiRange(), and lowRange().

Referenced by TrkDifPieceTraj::append(), TrkSimpTraj::invert(), TrkDifPieceTraj::invert(), and TrkDifPieceTraj::prepend().

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

void Trajectory::setFlightRange ( double  newrange[2]  )  [virtual]

Reimplemented in TrkDifPieceTraj.

Definition at line 57 of file Trajectory.cxx.

References 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]

Definition at line 88 of file Trajectory.h.

References 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]

Definition at line 83 of file Trajectory.h.

Referenced by TrkDifPieceTraj::append(), hiRange(), lowRange(), TrkDifPieceTraj::operator=(), NeutTraj::operator=(), operator=(), MdcSagTraj::operator=(), TrkDifPieceTraj::prepend(), TrkDifPieceTraj::resize(), TrkDifPieceTraj::setFlightRange(), setFlightRange(), Trajectory(), TrkDifPieceTraj::TrkDifPieceTraj(), and validFlightDistance().


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