BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcTrackListBase.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: MdcTrackListBase.h,v 1.15 2010/07/19 06:41:49 zhangy Exp $
4//
5// Description:
6// Base class for track lists, which are where tracks found in MdcTrkRecon
7// are temporarily stored, and where much of the finding code is.
8//
9// Environment:
10// Software developed for the BaBar Detector at the SLAC B-Factory.
11//
12// Author(s):
13// Steve Schaffner
14// Zhang Yao([email protected]) Migrate to BESIII
15//
16//------------------------------------------------------------------------
17#ifndef MDCTRACKLISTBASE_H
18#define MDCTRACKLISTBASE_H
20#include "CLHEP/Alist/AList.h"
21#include "TrkBase/TrkRecoTrk.h"
24
25class MdcSegList;
26class MdcTrack;
27class MdcDetector;
28class MdcSegGrouper;
29class MdcHitMap;
30class TrkContext;
31
32// Class definition//
33class MdcTrackListBase : public HepAList<MdcTrack> {
34
35public:
36 MdcTrackListBase(const MdcTrackParams &tkPar);
37 virtual ~MdcTrackListBase();
38
39 int nTrack() const {return length();}
40 void setPlot(int plotFlag) { tkParam.lPlot = plotFlag;};
41 void newParams(const MdcTrackParams &tkPar);
42 void plot() const;
44
45 virtual int createFromSegs(MdcSegList *, const MdcHitMap*,
46 const MdcDetector*, TrkContext&,
47 double bunchTime ) = 0;
48
49 int arbitrateHits(); // return # of tracks deleted
51
52 //Remove and delete:
53 void remove( MdcTrack *atrack );
54#ifdef MDCPATREC_RESLAYER
55 void setResLayer(int layer){m_resLayer=layer;}
56#endif
57 void setD0Cut(double d0Cut){m_d0Cut = d0Cut;}//yzhang add
58 void setZ0Cut(double z0Cut){m_z0Cut = z0Cut;}//yzhang add 2010-05-21
59 void setPtCut(double ptCut){m_ptCut = ptCut;}//yzhang add 2009-10-27
60 static double m_d0Cut;//yzhang add
61 static double m_z0Cut;//yzhang add 2010-05-21
62 static double m_ptCut;//yzhang add 2009-10-27
63
64private:
65 MdcTrackListBase& operator= (const MdcTrackListBase&);
67 void transferTrack();
68#ifdef MDCPATREC_RESLAYER
69 int m_resLayer;
70#endif
71protected:
73};
74
75
76#endif
77
78
79
80
81
82
83
ObjectVector< RecMdcHit > RecMdcHitCol
Definition: RecMdcHit.h:99
ObjectVector< RecMdcTrack > RecMdcTrackCol
Definition: RecMdcTrack.h:79
virtual int createFromSegs(MdcSegList *, const MdcHitMap *, const MdcDetector *, TrkContext &, double bunchTime)=0
void setD0Cut(double d0Cut)
void newParams(const MdcTrackParams &tkPar)
static double m_d0Cut
static double m_ptCut
static double m_z0Cut
virtual ~MdcTrackListBase()
void setPtCut(double ptCut)
int nTrack() const
MdcTrackParams tkParam
void store(RecMdcTrackCol *, RecMdcHitCol *)
void setZ0Cut(double z0Cut)
void remove(MdcTrack *atrack)
void dropMultiHotInLayer(const MdcTrack *tk)
void setPlot(int plotFlag)