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

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkHotListFull.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.  This derived class is for tracks that actually 
00007 //  have hits on them.
00008 //
00009 // Environment:
00010 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00011 //
00012 // Author(s): Steve Schaffner
00013 //
00014 // Modified 3-july-97 by Leon Rochester to use Roguewave Sorted Vector
00015 // to store the list of Hots.  At some point the HepAList will go away.
00016 //------------------------------------------------------------------------
00017 
00018 #ifndef TRKHOTLISTFULL_HH
00019 #define TRKHOTLISTFULL_HH
00020 #include "TrkBase/TrkHotList.h"
00021 #include "TrkBase/TrkHitOnTrkUpdater.h"
00022 #include "TrkBase/TrkFunctors.h"
00023 
00024 class TrkFundHit;
00025 class TrkHitOnTrk;
00026 class TrkRep;
00027 
00028 // Class interface //
00029 class TrkHotListFull : public TrkHotList, TrkHitOnTrkUpdater {
00030 public:
00031   // constructors and such
00032   TrkHotListFull();
00033   // create new HotList, cloning old Hots and making the clones point at rep
00034   TrkHotListFull(const TrkHotList& inHots, TrkBase::Functors::cloneHot  func); // clone hots
00035   TrkHotListFull(      TrkHotList& inHots, TrkBase::Functors::setParent func); // steal hots
00036   TrkHotList* clone(TrkBase::Functors::cloneHot func) const;
00037   virtual ~TrkHotListFull();
00038 
00039   virtual bool      hitCapable()      const;
00040   virtual int       nActive(TrkEnums::TrkViewInfo view=TrkEnums::bothView)         const;
00041   virtual int       nMdc(TrkEnums::TrkViewInfo view=TrkEnums::bothView)            const;
00042   virtual int       nSvt(TrkEnums::TrkViewInfo view=TrkEnums::bothView)            const;
00043   virtual int       nHit(TrkEnums::TrkViewInfo view=TrkEnums::bothView)            const;
00044   virtual TrkView   svtView(int layer) const;
00045   virtual unsigned  firstMdcLayer() const;
00046   virtual unsigned  lastMdcLayer() const;
00047   virtual double    startFoundRange() const;
00048   virtual double    endFoundRange()   const;
00049   virtual bool         isActive(unsigned ihot) const;
00050 
00051   void              append(TrkHitOnTrk* );
00052   void              remove(TrkHitOnTrk* );
00053   TrkHitOnTrk*      findHot(const TrkFundHit*) const;
00054   void              updateHots();
00055 
00056 protected:
00057   virtual const std::vector<TrkHitOnTrk*>&   hotlist()   const;
00058   virtual       std::vector<TrkHitOnTrk*>&   hotlist();
00059 private:
00060 
00061   static size_t dfltCapac();                   // default capacity of vector
00062   std::vector<TrkHitOnTrk*> _hotlist;  // hits are owned by vector
00063 
00064   // Preempt: Hots have to be cloned, not naively copied
00065   TrkHotListFull(const TrkHotListFull& rhs);  //copy ctor
00066   TrkHotListFull&   operator= (const TrkHotListFull&);  
00067 };
00068 
00069 #endif
00070 

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