00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TRKCIRCLEREP_HH
00017 #define TRKCIRCLEREP_HH
00018
00019 #include "TrkFitter/TrkSimpleRep.h"
00020 #include "TrkFitter/TrkCircleTraj.h"
00021
00022 class TrkCircleRep : public TrkSimpleRep {
00023 public:
00024
00025
00026
00027
00028 TrkCircleRep(const TrkExchangePar& inPar, TrkRecoTrk* myTrack, PdtPid::PidType hypo, const TrkHotList* = 0);
00029
00030 TrkCircleRep(const TrkExchangePar& inPar, TrkRecoTrk* myTrack,
00031 PdtPid::PidType hypo, int nActive, int nSvt, int nDch, double chi2,
00032 double startFoundRange, double endFoundRange);
00033 virtual ~TrkCircleRep();
00034
00035 virtual TrkCircleRep* clone(TrkRecoTrk* newTrack) const;
00036 virtual TrkCircleRep* 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
00050
00051
00052 virtual void printAll(std::ostream& ostr) const;
00053 virtual void print(std::ostream& ostr) const;
00054
00055 protected:
00056
00057 TrkCircleRep(const TrkCircleRep& right, TrkRecoTrk* trk, PdtPid::PidType);
00058 virtual TrkSimpTraj& simpTraj();
00059 virtual const TrkSimpTraj& simpTraj() const;
00060
00061 private:
00062 TrkCircleRep& operator=(const TrkCircleRep &right);
00063 TrkCircleTraj _traj;
00064 };
00065 #endif