00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef CDTRACKER_H
00013 #define CDTRACKER_H
00014
00015 #include <map>
00016
00017 #include "RecoBase/CandStripHandle.h"
00018 #include "Conventions/PlaneView.h"
00019
00020 class CDTrackerOptions;
00021 class CDTrackInfo;
00022
00023 class CDTracker
00024 {
00025 public:
00026
00027 CDTracker();
00028 CDTracker(std::map<Int_t,CandStripHandle>,CDTrackerOptions* opt);
00029 virtual ~CDTracker(){};
00030
00031 Int_t SetMap(std::map<Int_t,CandStripHandle>);
00032 Int_t SetTrackOptions(CDTrackerOptions *);
00033 std::map<Int_t,CandStripHandle> GetTrackedStripMap
00034 (PlaneView::EPlaneView view);
00035 std::map<Int_t,CandStripHandle> GetCCStripMap();
00036 CDTrackInfo *GetTrackInfo();
00037 CDTrackInfo *GetTrackStripInfo();
00038 Int_t GetNumCCHits() {return fnum_cc_hits;}
00039
00040 protected:
00041
00042
00043
00044 virtual Int_t FindStripTrack(Int_t)=0;
00045
00046 Int_t LocateCCStrips();
00047 bool CCStripsOnTrack(Float_t*,Float_t*);
00048
00049 Int_t fevenresult;
00050 Int_t foddresult;
00051 Int_t fnum_cc_hits;
00052
00053 CDTrackerOptions *fcd_to;
00054
00055 std::map<Int_t,CandStripHandle> fStripMap;
00056 std::map<Int_t,CandStripHandle> fEvenPlStrips;
00057 std::map<Int_t,CandStripHandle> fOddPlStrips;
00058 std::map<Int_t,CandStripHandle> fCCStrips;
00059 };
00060 #endif // CDTRACKER_H