00001 #ifndef ATLFANA_ATLFTRACKPARAMETERVIEW_H
00002 #define ATLFANA_ATLFTRACKPARAMETERVIEW_H
00003
00004 #include "AtlfastAlgs/ITrackParameterView.h"
00005 #include "AtlfastAlgs/AtlfTrackViewer.h"
00006
00007 namespace AtlfAna{
00008 class AtlfTrackParameterView: public ITrackParameterView{
00009 friend class AtlfTrackViewer;
00010 public:
00011 AtlfTrackParameterView(const AtlfTrackParameterView& rhs):
00012 ITrackParameterView(),
00013 p_track(new Atlfast::Track(*(rhs.p_track))){
00014 }
00015
00016 virtual
00017 TrackParameters trackParameters() const {
00018 TrackParameters t(
00019 p_track->eta(),
00020 p_track->phi(),
00021 p_track->pT(),
00022 p_track->impactParameter(),
00023 p_track->zPerigee(),
00024 p_track->cotTheta(),
00025 p_track->invPtCharge()
00026 );
00027 return t;
00028 }
00029
00030 virtual HepMatrix covMatrix() const {return p_track->smearMatrix();}
00031 virtual bool operator!() const {return p_track==0;}
00032 private:
00033 Atlfast::Track* p_track;
00034 AtlfTrackParameterView(Atlfast::Track* t):p_track(t){}
00035
00036 };
00037 }
00038 #endif
00039
00040
00041
00042
00043
00044