CGEM BOSS 6.6.5.i
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.1.1.1 2017/07/13 00:11:01 huangzhen 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 void setNoInner(bool noInnerFlag){m_noInner= noInnerFlag;}
64
65private:
66 MdcTrackListBase& operator= (const MdcTrackListBase&);
68 void transferTrack();
69#ifdef MDCPATREC_RESLAYER
70 int m_resLayer;
71#endif
72protected:
75};
76
77
78#endif
79
80
81
82
83
84
85
double length
ObjectVector< RecMdcHit > RecMdcHitCol
Definition RecMdcHit.h:99
ObjectVector< RecMdcTrack > RecMdcTrackCol
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
MdcTrackListBase(const MdcTrackParams &tkPar)
void setPtCut(double ptCut)
MdcTrackParams tkParam
void store(RecMdcTrackCol *, RecMdcHitCol *)
void setNoInner(bool noInnerFlag)
void setZ0Cut(double z0Cut)
void remove(MdcTrack *atrack)
void dropMultiHotInLayer(const MdcTrack *tk)
void setPlot(int plotFlag)