00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef MDCTRACKLIST_H
00017 #define MDCTRACKLIST_H
00018 #include "MdcTrkRecon/MdcTrackListBase.h"
00019
00020
00021 class MdcSegList;
00022 class MdcTrack;
00023 class MdcDetector;
00024 class MdcSegData;
00025 class MdcSegGrouper;
00026 class MdcHitMap;
00027 class TrkContext;
00028
00029
00030
00031 class MdcTrackList : public MdcTrackListBase {
00032
00033 public:
00034 MdcTrackList(const MdcTrackParams &tkPar);
00035 ~MdcTrackList();
00036
00037
00038 int createFromSegs(MdcSegList *segs, const MdcHitMap*, const MdcDetector*,
00039 TrkContext&, double bunchTime);
00040 int finishCircle(MdcTrack& track, const MdcHitMap*, const MdcDetector*);
00041
00042 int finishHelix(MdcTrack& track, const MdcHitMap*, const MdcDetector*);
00043 int pickHits(MdcTrack*, const MdcHitMap*, const MdcDetector*,
00044 bool pickAmb = true);
00045
00046 void dumpSeed(const MdcSeg * seed, bool goodOnly);
00047 void dumpCircle(const MdcTrack*);
00048 void dumpAxFill(const MdcTrack*);
00049 void dumpAxCombine(const MdcTrack*);
00050 void dumpD0(const TrkExchangePar&);
00051 void dumpStFill();
00052 void dumpStCombine(const MdcTrack*);
00053 void dumpHelix(const MdcTrack*);
00054 void dropMultiHotInLayer(const MdcTrack* tk);
00055
00056
00057
00058 private:
00059 MdcTrackList& operator= (const MdcTrackList&);
00060 MdcTrackList(const MdcTrackList &);
00061 int m_debug;
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 };
00072 #endif