00001 #ifndef _MANTREE_MEFMUON_H__
00002 #define _MANTREE_MEFMUON_H__
00003
00004 #include "TObject.h"
00005
00006 #include <string>
00007
00008 #ifdef _ATHENA_CLASSES__
00009 class TrigMuonEFInfoTrack;
00010 #endif
00011
00012 namespace manchester {
00013
00014 class MEFMuonTrack;
00015 class MEFMuonCbTrack;
00016
00017 class MEFMuon : public TObject {
00018 public:
00019 MEFMuon();
00020
00021 #ifdef _ATHENA_CLASSES__
00022 MEFMuon(const TrigMuonEFInfoTrack& trk);
00023 #endif
00024
00025 virtual ~MEFMuon();
00026
00027 Bool_t HasSpectrometerTrack() const;
00028 Bool_t HasExtrapolatedTrack() const;
00029 Bool_t HasCombinedTrack() const;
00030
00031 const MEFMuonTrack* GetSpectrometerTrack() const;
00032 const MEFMuonTrack* GetExtrapolatedTrack() const;
00033 const MEFMuonCbTrack* GetCombinedTrack() const;
00034
00035 UShort_t MuonType() const;
00036
00038 virtual std::string Type() const;
00039
00040 protected:
00042 virtual void Reset();
00043
00044 private:
00045 UShort_t m_muonType;
00046
00047 MEFMuonTrack* m_specTrack;
00048 MEFMuonTrack* m_extrapTrack;
00049 MEFMuonCbTrack* m_combTrack;
00050
00051 ClassDef(MEFMuon, 2)
00052 };
00053
00054 }
00055
00056 #endif //_MANTREE_MEFMUON_H__