00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: TrkGeomTraj.h,v 1.2 2010/03/25 09:54:17 zhangy Exp $ 00004 // 00005 // Description: 00006 // Base class for all simple, geometric trajectories (i.e. trajs that 00007 // don't describe tracks). Inherits from Trajectory. Supports 00008 // (via accept() function) Visitor pattern for adding functionality. 00009 // 00010 // Environment: 00011 // Software developed for the BaBar Detector at the SLAC B-Factory. 00012 // 00013 // Author(s): Steve Schaffner 00014 // 00015 //------------------------------------------------------------------------ 00016 #ifndef TRKGEOMTRAJ_H 00017 #define TRKGEOMTRAJ_H 00018 #include "MdcGeom/Trajectory.h" 00019 00020 00021 class TrkGeomTrajVisitor; 00022 00023 // Class interface // 00024 class TrkGeomTraj : public Trajectory { 00025 00026 public: 00027 TrkGeomTraj(double lowlim, double hilim); 00028 virtual ~TrkGeomTraj(); 00029 00030 virtual void accept(TrkGeomTrajVisitor&) const; 00031 virtual TrkGeomTraj* clone() const = 0; 00032 00033 private: 00034 // Preempt 00035 TrkGeomTraj& operator= (const TrkGeomTraj&); 00036 TrkGeomTraj(const TrkGeomTraj &); 00037 }; 00038 00039 #endif