00001 00002 // $Id: CandTrackSRHandle.h,v 1.13 2003/03/27 18:33:58 rlee Exp $ 00003 // 00004 // CandTrackSRHandle 00005 // 00006 // CandTrackSRHandle is the specialized access handle to CandTrackSR. 00007 // 00008 // Each concrete CandHandle must define a DupHandle function. 00009 // 00010 // Author: R. Lee 2001.02.26 00011 // 00013 00014 #ifndef CANDTRACKSRHANDLE_H 00015 #define CANDTRACKSRHANDLE_H 00016 00017 #include "TObjArray.h" 00018 00019 #include "Navigation/XxxItr.h" 00020 #include "RecoBase/CandTrackHandle.h" 00021 class CandTrackSR; 00022 #include "CandDigit/CandDigitHandle.h" 00023 #include "CandDigit/CandDigitListHandle.h" 00024 00025 class CandClusterHandle; 00026 class Track2DSR; 00027 class CandContext; 00028 00029 class CandTrackSRHandle : public CandTrackHandle 00030 { 00031 00032 public: 00033 CandTrackSRHandle(); 00034 CandTrackSRHandle(const CandTrackSRHandle &csh); 00035 CandTrackSRHandle(CandTrackSR *cs); 00036 virtual ~CandTrackSRHandle(); 00037 virtual CandTrackSRHandle *DupHandle() const; 00038 00039 virtual void Trace(const char *c = "") const; 00040 00041 TObjArray *GetClusterList(); 00042 00043 void AddCluster(CandClusterHandle *); 00044 00045 void SetUTrack(Track2DSR *); 00046 void SetVTrack(Track2DSR *); 00047 00048 Track2DSR *GetUTrack() const; 00049 Track2DSR *GetVTrack() const; 00050 00051 Double_t GetDirCosU(Int_t) const; // at specified plane 00052 Double_t GetDirCosV(Int_t) const; 00053 Double_t GetDirCosZ(Int_t) const; 00054 00055 Double_t GetDirCosU() const; // call CandRecoHandle 00056 Double_t GetDirCosV() const; 00057 Double_t GetDirCosZ() const; 00058 00059 Double_t GetHoughDirCosU() const; 00060 Double_t GetHoughDirCosV() const; 00061 Double_t GetHoughDirCosZ() const; 00062 00063 Double_t GetHoughResid2() const; 00064 00065 virtual Double_t GetScore() const; 00066 00067 virtual Double_t GetTimeWeight(const CandDigitHandle *) const; 00068 00069 Int_t GetNTrackPlane(PlaneView::PlaneView_t = PlaneView::kUnknown) const; 00070 00071 void SetNTrackStrip(Int_t); 00072 void SetNTrackDigit(Int_t); 00073 void SetNTimeFitDigit(Int_t); 00074 void SetTimeFitChi2(Double_t); 00075 00076 Int_t GetNTrackStrip() const; 00077 Int_t GetNTrackDigit() const; 00078 Int_t GetNTimeFitDigit() const; 00079 Double_t GetTimeFitChi2() const; 00080 00081 00082 private: 00083 00084 Double_t GetDirCos(Int_t,Int_t) const; 00085 00086 ClassDef(CandTrackSRHandle,2) // User access handle to CandTrackSR 00087 00088 }; 00089 00090 XXXITRDEF(CandTrackSRHandle) 00091 00092 #endif // CANDTRACKSRHANDLE_H