Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TrkLineTraj Class Reference

#include <TrkLineTraj.h>

Inheritance diagram for TrkLineTraj:

TrkGeomTraj TrkGeomTraj Trajectory Trajectory Trajectory Trajectory List of all members.

Public Member Functions

void accept (TrkGeomTrajVisitor &visitor) const
void accept (TrkGeomTrajVisitor &visitor) const
TrkLineTrajclone () const
TrkLineTrajclone () const
double curvature (double f=0.) const
double curvature (double f=0.) const
Hep3Vector delDirect (double) const
Hep3Vector delDirect (double) const
Hep3Vector direction (double) const
Hep3Vector direction (double) const
double distTo0thError (double s, double tol, int pathDir) const
double distTo0thError (double s, double tol, int pathDir) const
virtual double distTo1stError (double s, double tol, int pathDir) const
virtual double distTo1stError (double s, double tol, int pathDir) const
virtual double distTo2ndError (double s, double tol, int pathDir) const
virtual double distTo2ndError (double s, double tol, int pathDir) const
void getInfo (double fltLen, HepPoint3D &, Hep3Vector &direction, Hep3Vector &delDirect) const
void getInfo (double fltLen, HepPoint3D &, Hep3Vector &direction) const
void getInfo (double fltLen, HepPoint3D &, Hep3Vector &direction, Hep3Vector &delDirect) const
void getInfo (double fltLen, HepPoint3D &, Hep3Vector &direction) const
double hiRange () const
double hiRange () const
double lowRange () const
double lowRange () const
TrkLineTrajoperator= (const TrkLineTraj &)
TrkLineTrajoperator= (const TrkLineTraj &)
HepPoint3D position (double) const
HepPoint3D position (double) const
virtual void print (std::ostream &os) const
virtual void print (std::ostream &os) const
virtual void printAll (std::ostream &os) const
virtual void printAll (std::ostream &os) const
double range () const
double range () const
virtual void setFlightRange (double newrange[2])
virtual void setFlightRange (double newrange[2])
 TrkLineTraj (const TrkLineTraj &)
 TrkLineTraj (const HepPoint3D &point1, const HepPoint3D &point2)
 TrkLineTraj (const HepPoint3D &point, const Hep3Vector &direction, double lorange, double hirange)
 TrkLineTraj (const HepPoint3D &point, const Hep3Vector &direction, double length)
 TrkLineTraj (const TrkLineTraj &)
 TrkLineTraj (const HepPoint3D &point1, const HepPoint3D &point2)
 TrkLineTraj (const HepPoint3D &point, const Hep3Vector &direction, double lorange, double hirange)
 TrkLineTraj (const HepPoint3D &point, const Hep3Vector &direction, double length)
bool validFlightDistance (double f, double tolerance=0.0) const
bool validFlightDistance (double f, double tolerance=0.0) const
 ~TrkLineTraj ()
 ~TrkLineTraj ()

Protected Attributes

double flightrange [2]

Private Attributes

Hep3Vector _direction
HepPoint3D _start

Constructor & Destructor Documentation

TrkLineTraj::TrkLineTraj const HepPoint3D point,
const Hep3Vector &  direction,
double  length
 

00018                                        :
00019   TrkGeomTraj(0.0,length) , _start(point),
00020   _direction(direction)
00021 {
00022   _direction.setMag(1.0);
00023 }

TrkLineTraj::TrkLineTraj const HepPoint3D point,
const Hep3Vector &  direction,
double  lorange,
double  hirange
 

00029                 :
00030   TrkGeomTraj(lorange,hirange),
00031   _start(point),
00032   _direction(direction)
00033 {
00034   _direction.setMag(1.0);
00035 }

TrkLineTraj::TrkLineTraj const HepPoint3D point1,
const HepPoint3D point2
 

00040   : TrkGeomTraj(0.0,point1.distance2(point2)), _start(point1)
00041 {
00042   //_direction = point2 - point1;
00043   _direction = ((CLHEP::Hep3Vector) point2) - ((CLHEP::Hep3Vector) point1);
00044   _direction.setMag(1.0);
00045 }

TrkLineTraj::TrkLineTraj const TrkLineTraj  ) 
 

00047                                                  :
00048   TrkGeomTraj(other.lowRange(),other.hiRange()), _start(other._start),
00049   _direction(other._direction)
00050 {
00051 }

TrkLineTraj::~TrkLineTraj  ) 
 

00054 {
00055 }

TrkLineTraj::TrkLineTraj const HepPoint3D point,
const Hep3Vector &  direction,
double  length
 

TrkLineTraj::TrkLineTraj const HepPoint3D point,
const Hep3Vector &  direction,
double  lorange,
double  hirange
 

TrkLineTraj::TrkLineTraj const HepPoint3D point1,
const HepPoint3D point2
 

TrkLineTraj::TrkLineTraj const TrkLineTraj  ) 
 

TrkLineTraj::~TrkLineTraj  ) 
 


Member Function Documentation

void TrkLineTraj::accept TrkGeomTrajVisitor visitor  )  const [virtual]
 

Reimplemented from TrkGeomTraj.

void TrkLineTraj::accept TrkGeomTrajVisitor visitor  )  const [virtual]
 

Reimplemented from TrkGeomTraj.

00127 {
00128   visitor.visitLine(this);
00129 }

TrkLineTraj* TrkLineTraj::clone  )  const [virtual]
 

Implements TrkGeomTraj.

TrkLineTraj * TrkLineTraj::clone  )  const [virtual]
 

Implements TrkGeomTraj.

00069 {
00070   return new TrkLineTraj(*this);
00071 }

double TrkLineTraj::curvature double  f = 0.  )  const [virtual]
 

Implements Trajectory.

double TrkLineTraj::curvature double  f = 0.  )  const [virtual]
 

Implements Trajectory.

00105 {
00106   return 0.0;
00107 }

Hep3Vector TrkLineTraj::delDirect double   )  const [virtual]
 

Implements Trajectory.

Hep3Vector TrkLineTraj::delDirect double   )  const [virtual]
 

Implements Trajectory.

00087 {
00088   return Hep3Vector(0.,0.,0.);
00089 }

Hep3Vector TrkLineTraj::direction double   )  const [virtual]
 

Implements Trajectory.

Hep3Vector TrkLineTraj::direction double   )  const [virtual]
 

Implements Trajectory.

00081 {
00082   return _direction;
00083 }

double Trajectory::distTo0thError double  s,
double  tol,
int  pathDir
const [inherited]
 

double Trajectory::distTo0thError double  s,
double  tol,
int  pathDir
const [inherited]
 

00052 {
00053   return fabs(tolerance);
00054 }

virtual double TrkLineTraj::distTo1stError double  s,
double  tol,
int  pathDir
const [virtual]
 

Implements Trajectory.

double TrkLineTraj::distTo1stError double  s,
double  tol,
int  pathDir
const [virtual]
 

Implements Trajectory.

00093 {
00094   return 999.e4;
00095 }

virtual double TrkLineTraj::distTo2ndError double  s,
double  tol,
int  pathDir
const [virtual]
 

Implements Trajectory.

double TrkLineTraj::distTo2ndError double  s,
double  tol,
int  pathDir
const [virtual]
 

Implements Trajectory.

00099 {
00100   return 999.e4;
00101 }

void TrkLineTraj::getInfo double  fltLen,
HepPoint3D ,
Hep3Vector &  direction,
Hep3Vector &  delDirect
const [virtual]
 

Implements Trajectory.

void TrkLineTraj::getInfo double  fltLen,
HepPoint3D ,
Hep3Vector &  direction
const [virtual]
 

Implements Trajectory.

void TrkLineTraj::getInfo double  fltLen,
HepPoint3D ,
Hep3Vector &  direction,
Hep3Vector &  delDirect
const [virtual]
 

Implements Trajectory.

00119 {
00120   pos = position(fltLen);
00121   dir = direction(fltLen);
00122   delDir = delDirect(fltLen);
00123 }

void TrkLineTraj::getInfo double  fltLen,
HepPoint3D ,
Hep3Vector &  direction
const [virtual]
 

Implements Trajectory.

00111 {
00112   pos = position(fltLen);
00113   dir = direction(fltLen);
00114 }

double Trajectory::hiRange  )  const [inherited]
 

double Trajectory::hiRange  )  const [inline, inherited]
 

00092 {return flightrange[1];}

double Trajectory::lowRange  )  const [inherited]
 

double Trajectory::lowRange  )  const [inline, inherited]
 

00091 {return flightrange[0];}

TrkLineTraj& TrkLineTraj::operator= const TrkLineTraj  ) 
 

TrkLineTraj & TrkLineTraj::operator= const TrkLineTraj  ) 
 

00058 {
00059   if(&other != this){
00060     Trajectory::operator=(other);
00061     _start = other._start;
00062     _direction = other._direction;
00063   }
00064   return *this;
00065 }

HepPoint3D TrkLineTraj::position double   )  const [virtual]
 

Implements Trajectory.

HepPoint3D TrkLineTraj::position double   )  const [virtual]
 

Implements Trajectory.

00075 {
00076   return _start + _direction*flightlen;
00077 }

virtual void Trajectory::print std::ostream os  )  const [virtual, inherited]
 

Reimplemented in HelixTraj, TrkDifPieceTraj, TrkSimpTraj, HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

void Trajectory::print std::ostream os  )  const [virtual, inherited]
 

Reimplemented in HelixTraj, TrkDifPieceTraj, TrkSimpTraj, HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

00071 {
00072   os << "Trajectory range from " 
00073      << flightrange[0] << " to "
00074      << flightrange[1] << endl;
00075 }

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

Reimplemented in HelixTraj, TrkDifPieceTraj, TrkSimpTraj, HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

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

Reimplemented in HelixTraj, TrkDifPieceTraj, TrkSimpTraj, HelixTraj, TrkDifPieceTraj, and TrkSimpTraj.

00079 {
00080   os << "Trajectory range from "
00081      << flightrange[0] << " to "
00082      << flightrange[1] << endl;
00083 }

double Trajectory::range  )  const [inherited]
 

double Trajectory::range  )  const [inline, inherited]
 

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

virtual void Trajectory::setFlightRange double  newrange[2]  )  [virtual, inherited]
 

Reimplemented in TrkDifPieceTraj, and TrkDifPieceTraj.

void Trajectory::setFlightRange double  newrange[2]  )  [virtual, inherited]
 

Reimplemented in TrkDifPieceTraj, and 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 [inherited]
 

bool Trajectory::validFlightDistance double  f,
double  tolerance = 0.0
const [inline, inherited]
 

00088                                                                      {
00089   return f >= flightrange[0]-tol && f <= flightrange[1]+tol; 
00090 }


Member Data Documentation

Hep3Vector TrkLineTraj::_direction [private]
 

HepPoint3D TrkLineTraj::_start [private]
 

double Trajectory::flightrange [protected, inherited]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:08:48 2011 for BOSS6.5.5 by  doxygen 1.3.9.1