00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TRKHOTLISTEMPTY_HH
00015 #define TRKHOTLISTEMPTY_HH
00016
00017 #include "TrkBase/TrkHotList.h"
00018 #include "TrkBase/TrkView.h"
00019
00020 class TrkFundHit;
00021 class TrkHitOnTrk;
00022 class TrkRep;
00023
00024
00025 class TrkHotListEmpty : public TrkHotList {
00026 public:
00027
00028
00029
00030 TrkHotListEmpty(int nActive, int nSvt, int nMdc,
00031 double startFoundRange, double endFoundRange);
00032
00033 TrkHotListEmpty(unsigned nPhi,unsigned nZ, unsigned nAxial, unsigned nStereo,
00034 double startFoundRange, double endFoundRange,
00035 unsigned firstmdclay,unsigned lastmdclay,
00036 TrkView svtpattern[5],
00037 const std::vector<unsigned>& inactive);
00038
00039 TrkHotListEmpty(const TrkHotList& other);
00040
00041 TrkHotListEmpty& operator= (const TrkHotList&);
00042
00043 virtual TrkHotList* clone(TrkBase::Functors::cloneHot) const;
00044 virtual ~TrkHotListEmpty();
00045
00046 virtual bool hitCapable() const;
00047 virtual int nActive(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const;
00048 virtual int nMdc(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const;
00049 virtual int nSvt(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const;
00050 virtual int nHit(TrkEnums::TrkViewInfo view=TrkEnums::bothView) const;
00051 virtual TrkView svtView(int layer) const;
00052 virtual unsigned firstMdcLayer() const;
00053 virtual unsigned lastMdcLayer() const;
00054 virtual double startFoundRange() const;
00055 virtual double endFoundRange() const;
00056 virtual bool isActive(unsigned ihot) const;
00057 virtual void append(TrkHitOnTrk* );
00058 virtual void remove(TrkHitOnTrk* );
00059 TrkHitOnTrk* findHot(const TrkFundHit*) const;
00060 virtual void updateHots();
00061
00062 protected:
00063 virtual const std::vector<TrkHitOnTrk*>& hotlist() const;
00064 virtual std::vector<TrkHitOnTrk*>& hotlist();
00065 private:
00066 unsigned _nAxial,_nStereo;
00067 unsigned _nPhi,_nZ;
00068 double _stFndRng;
00069 double _endFndRng;
00070 unsigned _firstmdc;
00071 unsigned _lastmdc;
00072 TrkView _svtpat[5];
00073 std::vector<unsigned> _inactive;
00074 TrkHotListEmpty(const TrkHotListEmpty& rhs);
00075
00076 void setInactive(std::vector<unsigned>& inactive ) {
00077 _inactive = inactive; }
00078 friend class KalMiniTrkK;
00079 };
00080
00081 #endif