/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/MdcTrkRecon/MdcTrkRecon-00-03-45/MdcTrkRecon/MdcTrackListBase.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: MdcTrackListBase.h,v 1.15 2010/07/19 06:41:49 zhangy Exp $
00004 //
00005 // Description:
00006 //     Base class for track lists, which are where tracks found in MdcTrkRecon 
00007 //     are temporarily stored, and where much of the finding code is.
00008 //
00009 // Environment:
00010 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00011 //
00012 // Author(s): 
00013 //      Steve Schaffner
00014 //      Zhang Yao(zhangyao@ihep.ac.cn)  Migrate to BESIII
00015 //
00016 //------------------------------------------------------------------------
00017 #ifndef MDCTRACKLISTBASE_H
00018 #define MDCTRACKLISTBASE_H
00019 #include "MdcTrkRecon/MdcTrackParams.h"
00020 #include "CLHEP/Alist/AList.h" 
00021 #include "TrkBase/TrkRecoTrk.h"
00022 #include "MdcRecEvent/RecMdcTrack.h"
00023 #include "MdcRecEvent/RecMdcHit.h"
00024 
00025 class MdcSegList;
00026 class MdcTrack;
00027 class MdcDetector;
00028 class MdcSegGrouper;
00029 class MdcHitMap;
00030 class TrkContext;
00031 
00032 // Class definition//
00033 class MdcTrackListBase : public HepAList<MdcTrack>  {
00034 
00035 public:
00036   MdcTrackListBase(const MdcTrackParams &tkPar);
00037   virtual ~MdcTrackListBase();
00038   
00039   int nTrack() const {return length();}
00040   void setPlot(int plotFlag) { tkParam.lPlot = plotFlag;};
00041   void newParams(const MdcTrackParams &tkPar);
00042   void plot() const;
00043   void store(RecMdcTrackCol* ,RecMdcHitCol*);
00044 
00045   virtual int createFromSegs(MdcSegList *, const MdcHitMap*,
00046                              const MdcDetector*, TrkContext&,
00047                              double bunchTime ) = 0;
00048 
00049   int arbitrateHits();   // return # of tracks deleted
00050   void dropMultiHotInLayer(const MdcTrack* tk);
00051 
00052   //Remove and delete:
00053   void remove( MdcTrack *atrack );
00054 #ifdef MDCPATREC_RESLAYER
00055   void setResLayer(int layer){m_resLayer=layer;}
00056 #endif 
00057   void setD0Cut(double d0Cut){m_d0Cut = d0Cut;}//yzhang add 
00058   void setZ0Cut(double z0Cut){m_z0Cut = z0Cut;}//yzhang add 2010-05-21 
00059   void setPtCut(double ptCut){m_ptCut = ptCut;}//yzhang add 2009-10-27
00060   static double m_d0Cut;//yzhang add
00061   static double m_z0Cut;//yzhang add 2010-05-21 
00062   static double m_ptCut;//yzhang add 2009-10-27
00063 
00064 private:
00065   MdcTrackListBase&   operator= (const MdcTrackListBase&);
00066   MdcTrackListBase(const MdcTrackListBase &);
00067   void transferTrack();
00068 #ifdef MDCPATREC_RESLAYER
00069   int m_resLayer;
00070 #endif 
00071 protected:
00072   MdcTrackParams tkParam;
00073 };
00074 
00075 
00076 #endif
00077 
00078 
00079 
00080 
00081 
00082 
00083 

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