00001 //================================================= 00002 // 00003 // ITrackViewer.h 00004 // 00005 // Author: Peter Sherwood 00006 // 00007 // PABC for general viewers, to enable the use 00008 // a common set up interfaces for different track classes 00009 // 00010 //=================================================== 00011 #ifndef ATLFANA_ATLFTRACKVIEWER_H 00012 #define ATLFANA_ATLFTRACKVIEWER_H 00013 // 00014 #include "AtlfastUtils/ITrackViewer.h" 00015 #include "AtlfastAlgs/ITrackParameters.h" 00016 #include "AtlfastAlgs/AtlfTrackParameterView.h" 00017 // 00018 namespace AtlfAna{ 00019 class AtlfTrackViewer: public ITrackViewer{ 00020 public: 00021 AtlfTrackViewer(Atlfast::Track* t):p_track(t){} 00022 AtlfTrackViewer(const AtlfTrackViewer&); 00023 00024 //ITrackViewer interface 00025 virtual 00026 operator ITrackParameterView&() const { 00027 AtlfTrackParameterView* temp = new AtlfTrackParameterView(p_track); 00028 return *temp; 00029 } 00030 //virtual operator ITrackTruthView(); 00031 //virtual operator ITrackFitView(); 00032 virtual bool operator !() const {return (p_track==0);} 00033 private: 00034 Atlfast::Track* p_track; 00035 }; 00036 } 00037 #endif 00038