/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkHotListEmpty.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkHotListEmpty.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 // Description: List of hits (as HitOnTrk objects) associated with a 
00006 //  reconstructed track.  Abstract base class.
00007 //
00008 // Environment:
00009 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00010 //
00011 // Author(s): Steve Schaffner
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 // Class interface //
00025 class TrkHotListEmpty : public TrkHotList {
00026 public:
00027 // constructors and such.  The following assumes a uniform distribution
00028 // of hots between views, and default values for start/end layer.  This
00029 // constructor is DEPRECATED, please don't use it in new code
00030   TrkHotListEmpty(int nActive, int nSvt, int nMdc,
00031                   double startFoundRange, double endFoundRange);
00032 // full constructor; specify hots by type, and include in
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 // copy constructor; this is the prefered way to create an empty Hot list
00039   TrkHotListEmpty(const TrkHotList& other);
00040 // equivalence is OK
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; // indices of inactive hots
00074   TrkHotListEmpty(const TrkHotListEmpty& rhs);  //copy ctor
00075 // allow persistent to set inactive
00076   void setInactive(std::vector<unsigned>& inactive ) {
00077     _inactive = inactive; }
00078   friend class KalMiniTrkK;
00079 };
00080 
00081 #endif

Generated on Tue Nov 29 23:13:42 2016 for BOSS_7.0.2 by  doxygen 1.4.7