CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcHoughFinder/MdcHoughFinder-00-00-12/MdcHoughFinder/Hough2D.h
Go to the documentation of this file.
1#ifndef Hough2D_H
2#define Hough2D_H
3
4#include <vector>
5#include "MdcData/MdcHit.h"
6#include "MdcHoughFinder/HoughHit.h"
7#include "MdcHoughFinder/HoughHitList.h"
8#include "MdcHoughFinder/HoughRecHit.h"
9#include "MdcHoughFinder/HoughGlobal.h"
10#include "MdcData/MdcRecoHitOnTrack.h"
11
12#include "TrkFitter/TrkContextEv.h"
13#include "BField/BField.h"
14#include "MdcGeom/MdcDetector.h"
15#include "TrkBase/TrkFit.h"
16#include "TrkBase/TrkHitList.h"
17#include "TrkBase/TrkExchangePar.h"
18#include "TrkFitter/TrkHelixMaker.h"
19#include "TrkFitter/TrkCircleMaker.h"
20#include "TrkFitter/TrkLineMaker.h"
21#include "CgemCalibFunSvc/CgemCalibFunSvc.h"
22#include "CgemGeomSvc/CgemGeomSvc.h"
23//typedef std::vector<const HoughHit*> HitPtrCol;
24typedef std::vector<HoughRecHit> recHitCol;
25
26class Hough2D{
27 public:
29// ~Hough2D();
30 Hough2D(const Hough2D& other);
31// Hough2D(double d0,double phi0,double omega,recHitCol recHitVec);
32 //Hough2D(HitPtrCol hitCol,double bunchtime);
33 Hough2D(recHitCol hitCol,double bunchtime);
34 TrkRecoTrk* getTrk() const {return newTrack;}
35 double getCirX() const {return _circleX;}
36 double getCirY() const {return _circleY;}
37 double getCirR() const {return _circleR;}
38 double getD0() const {return _d0;}
39 double getPhi0() const {return _phi0;}
40 double getOmega() const {return _omega;}
41 int getCharge() const {return _charge;}
42// vector<MdcHit*>& getVecForClean() {return vec_for_clean;}
43
44 void setCharge(int charge) {_charge=charge;}
45 void setCirX(double cirx ) {_circleX=cirx;}
46 void setCirY(double ciry ) {_circleY=ciry;}
47 void setCirR(double cirr ) {_circleR=cirr;}
48
49 void setD0(double d0) {_d0=d0;}
50 void setPhi0(double phi0) {_phi0=phi0;}
51 void setOmega(double omega) {_omega=omega;}
52 void setPt(double pt) {_pt=pt;}
53
54 void setBunchT0(double bunchT0) {_bunchT0=bunchT0;}
55 void setRecHit(const recHitCol& rechit) {_recHitVec=rechit;}
56 static void setContext(TrkContextEv* context) {_context=context;}
57 static void setCalib(const MdcCalibFunSvc* mdcCalibFunSvc) {_mdcCalibFunSvc=mdcCalibFunSvc;}
58 static void setCalib(const CgemCalibFunSvc* cgemCalibFunSvc) {_cgemCalibFunSvc=cgemCalibFunSvc;}
59 static void setGeomSvc(const CgemGeomSvc *cgemGeomSvc) {_cgemGeomSvc=cgemGeomSvc;}
60
61
62 int fitLeast();
63 virtual int fit();
64 //virtual int digiToHots(TrkRecoTrk *newTrack);
65 void print();
66 void printRecHit() const;
67 double getNfit() const {return _nfit;}
68 double getChi2_2D() const {return _chi2_aver2D;}
69 //int initial_det();
70 double getPt() const {return _pt;}
71 static int m_debug;
72 static TrkContextEv* _context;
73 static const MdcCalibFunSvc* _mdcCalibFunSvc;
75 static const CgemGeomSvc* _cgemGeomSvc;
76
77 //fit status
78 static int m_qualityFactor;
79 static double m_dropTrkChi2Cut;
80 static double m_dropTrkDrCut;
81 static double m_dropTrkDzCut;
82 static double m_dropTrkNhitCut;
83 static double m_dropTrkChi2NdfCut;
84 //static int m_cgemfit;
85
86 //void setcgemfitflag(int cgemfitflag) {m_cgemfit = cgemfitflag;}
87 void updateCache(void);
88
89 private:
90 double _circleR_least;
91 double _circleX_least;
92 double _circleY_least;
93 double _pt_least;
94
95 double _circleR;
96 double _circleX;
97 double _circleY;
98
99 int _charge;
100 double _d0;
101 double _phi0;
102 double _omega;
103
104 double _pt;
105 double _nfit;
106 double _chi2_aver2D;
107
108 double _bunchT0;
109// const MdcDetector* _m_gm;
110 recHitCol _recHitVec;
111 TrkRecoTrk* newTrack;
112 vector<MdcHit*> _MdcHitCol;
113
114};
115
116#endif
int fitLeast()
void printRecHit() const
static const CgemCalibFunSvc * _cgemCalibFunSvc
Hough2D(recHitCol hitCol, double bunchtime)
virtual int fit()
static void setCalib(const CgemCalibFunSvc *cgemCalibFunSvc)
void updateCache(void)
void print()
Hough2D(const Hough2D &other)
static void setCalib(const MdcCalibFunSvc *mdcCalibFunSvc)