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