00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TRKLINEREP_HH
00017 #define TRKLINEREP_HH
00018
00019 #include "TrkFitter/TrkSimpleRep.h"
00020 #include "TrkFitter/TrkDifLineTraj.h"
00021
00022 class TrkLineRep : public TrkSimpleRep {
00023 public:
00024
00025
00026
00027
00028 TrkLineRep(const TrkExchangePar& inPar, TrkRecoTrk* myTrack, PdtPid::PidType hypo, const TrkHotList* =0);
00029
00030 TrkLineRep(const TrkExchangePar& inPar, TrkRecoTrk* myTrack,
00031 PdtPid::PidType hypo, int nAct, int nSvt, int nDch, double chi2,
00032 double startFoundRange, double endFoundRange);
00033 virtual ~TrkLineRep();
00034
00035 virtual TrkLineRep* clone(TrkRecoTrk* newTrack) const;
00036 virtual TrkLineRep* cloneNewHypo(PdtPid::PidType hypo);
00037
00038
00039
00040
00041 virtual TrkDifTraj& traj();
00042 virtual const TrkDifTraj& traj() const;
00043
00044
00045
00046
00047 virtual TrkExchangePar helix(double fltLen) const;
00048
00049 double arrivalTime(double fltLen) const;
00050
00051
00052
00053 virtual void printAll(std::ostream& ostr) const;
00054 virtual void print(std::ostream& ostr) const;
00055
00056 protected:
00057
00058 TrkLineRep(const TrkLineRep& right, TrkRecoTrk* trk, PdtPid::PidType);
00059 virtual TrkSimpTraj& simpTraj();
00060 virtual const TrkSimpTraj& simpTraj() const;
00061
00062 private:
00063 TrkLineRep& operator=(const TrkLineRep &right);
00064 TrkDifLineTraj _traj;
00065 };
00066 #endif