001 #ifndef TRK_BASICTRACKIMP_HH
002 #define TRK_BASICTRACKIMP_HH
003
004
005
006
007
008
009
010
011
012
013
014
015
016 #include "TRK_BasicTrack.hh"
017
018
019 #include <vector>
020 using std::vector;
021
022
023 namespace std {
024 template<class X> class auto_ptr;
025 }
026 using std::auto_ptr;
027
028
029
030 class TRK_BasicTrackImp : public virtual TRK_BasicTrack {
031 public:
032
033
034 TRK_BasicTrackImp();
035 TRK_BasicTrackImp(const TRK_BasicTrackImp &);
036 TRK_BasicTrackImp(double Px, double Py, double Pz);
037
038
039 virtual auto_ptr<TRK_BasicTrack> newDefault();
040 virtual auto_ptr<TRK_BasicTrack> newCopy();
041
042
043 virtual double pt(double rho = 0.0) const;
044 virtual double pz(double rho = 0.0) const;
045 virtual vector<double> p(double rho = 0.0) const;
046 virtual vector<double> position(double rho = 0.0) const;
047
048 virtual int trackID() const;
049
050 virtual ~TRK_BasicTrackImp() {};
051
052 private:
053
054
055 static int _ournextID;
056
057
058 int _myID;
059 vector<double> _myp;
060 };
061 #endif
062
Send problems or questions to cdfcode@fnal.gov