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

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkDifTraj.h,v 1.2 2005/07/18 02:56:07 zhangy Exp $
00004 //
00005 // Description:  Abstract base class for Trajectory objects designed to 
00006 //     live inside TrkReps as descriptions of tracks.  Adds to the base 
00007 //     class functions that provide derivatives related to the underlying 
00008 //     independent parameters.  The interface for getting the parameters 
00009 //     is deferred to more derived classes.
00010 //
00011 // Environment:
00012 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00013 //
00014 // Author(s): Steve Schaffner, Dave Brown
00015 //
00016 //------------------------------------------------------------------------
00017 
00018 #ifndef TRKDIFTRAJ_H
00019 #define TRKDIFTRAJ_H
00020 #include "MdcGeom/Trajectory.h"
00021 
00022 class Trajectory;
00023 class DifPoint;
00024 class DifVector;
00025 class TrkSimpTraj;
00026 
00027 // Class interface //
00028 class TrkDifTraj : public Trajectory {
00029 public:
00030   //**************
00031   // Constructors, etc.
00032   //**************
00033   //       By default, the valid flight distance range is really big
00034   TrkDifTraj(const double lowlim = -99999.,const double hilim = 99999.);
00035   virtual ~TrkDifTraj();
00036 
00037   //**************
00038   // Access 
00039   //**************
00040   // DifNumber version of position, direction, 2nd deriv information
00041   virtual void  getDFInfo(double fltLen, DifPoint& pos, DifVector& direction,
00042                           DifVector& delDirect) const = 0;
00043   virtual void  getDFInfo2(double fltLen, DifPoint& pos, DifVector& direction) const;
00044   // Return locally-valid simple trajectory (complete with parameters) and the
00045   //    equivalent flight length along it.  Trivial except for piece-wise trajs
00046   virtual const TrkSimpTraj* localTrajectory(double fltLen, double& localFlt)
00047     const = 0;
00048 
00049 private:
00050 // Preempt
00051   TrkDifTraj& operator= (const TrkDifTraj&);
00052   TrkDifTraj(const TrkDifTraj &);
00053 };
00054 
00055 #endif

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