/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkLineTraj.h

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkLineTraj.h,v 1.2 2005/07/18 02:56:07 zhangy Exp $
00004 //
00005 //  Description:
00006 //  Single line segment trajectory class
00007 //
00008 // Copyright Information:
00009 //      Copyright (C) 1996      Lawrence Berkeley Laboratory
00010 //
00011 //  Authors: Dave Brown, 11/15/96
00012 //-----------------------------------------------------------------------------
00013 #ifndef TrkLineTraj_H
00014 #define TrkLineTraj_H
00015 #include "MdcGeom/TrkGeomTraj.h"
00016 #include "CLHEP/Geometry/Point3D.h"
00017 #include "CLHEP/Vector/ThreeVector.h"
00018 
00019 class TrkLineTraj : public TrkGeomTraj
00020 {
00021 public:
00022 //
00023 //  construct from a point, direction and length, or 2 points
00024 //
00025   TrkLineTraj( const HepPoint3D& point, const Hep3Vector& direction, double length);
00026   TrkLineTraj(const HepPoint3D& point, const Hep3Vector& direction, double lorange, double hirange);
00027   TrkLineTraj( const HepPoint3D& point1, const HepPoint3D& point2);
00028   TrkLineTraj( const TrkLineTraj&  );   // copy ctor
00029 //
00030   TrkLineTraj* clone() const;
00031 
00032 // destructor
00033   ~TrkLineTraj();
00034 
00035 // operators
00036   TrkLineTraj& operator=(const TrkLineTraj&);
00037 
00038 // needed implementations for intersection with a Surface
00039   HepPoint3D position( double ) const;
00040   Hep3Vector direction( double ) const;
00041   double curvature( double f = 0. ) const;
00042   Hep3Vector delDirect( double ) const;
00043   void  getInfo(double fltLen, HepPoint3D& , Hep3Vector& direction) const;
00044   void  getInfo(double fltLen, HepPoint3D& , Hep3Vector& direction, 
00045                         Hep3Vector& delDirect) const;
00046 
00047   virtual double distTo1stError(double s, double tol, int pathDir) const;
00048   virtual double distTo2ndError(double s, double tol, int pathDir) const;
00049 
00050   // Support Visitor pattern (see TrkGeomTraj.hh)
00051   void accept(TrkGeomTrajVisitor& visitor) const;
00052 
00053 // Data Members
00054 private:
00055   HepPoint3D _start; // where the trajectory starts
00056   Hep3Vector _direction; // direction (unit) vector
00057 };
00058 #endif

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