5#include "MdcRawEvent/MdcDigi.h"
6#include "CgemRecEvent/RecCgemCluster.h"
7#include "McTruth/MdcMcHit.h"
8#include "McTruth/CgemMcHit.h"
9#include "CLHEP/Geometry/Point3D.h"
10#include "MdcData/MdcHit.h"
12#include "MdcGeomSvc/MdcGeomSvc.h"
13#include "MdcCalibFunSvc/MdcCalibFunSvc.h"
14#include "CgemGeomSvc/CgemGeomSvc.h"
15#include "CgemCalibFunSvc/CgemCalibFunSvc.h"
17#include "HoughTransAlg/HoughTrack.h"
18#include "MdcGeom/MdcDetector.h"
28 typedef std::pair<double,double>
S_Z;
63 vector<S_Z>
getSZ()
const {
return m_sz;}
91 void setTrkID(vector<int> trkID) {m_trkID.clear();m_trkID = trkID;}
96 void setSZ(vector<S_Z> sz) {m_sz.clear();m_sz = sz;}
105 void addTrkID(
int trkID) {m_trkID.push_back(trkID);}
108 void rmTrkPnt(
HoughTrack* aHTrk) {vector<HoughTrack*>::iterator result = find(m_vecTrkPnt.begin(), m_vecTrkPnt.end(), aHTrk);
if(result!=m_vecTrkPnt.end()) m_vecTrkPnt.erase(result);}
113 void addResid(
double res) {m_vecResid.push_back(res);}
139 double driftDistance();
142 unsigned int m_hitID;
154 double m_depositEnergy;
162 vector<double> m_vecResid;
164 vector<HoughTrack*> m_vecTrkPnt;
165 vector<HepPoint3D> m_position;
vector< HoughHit >::iterator HitVector_Iterator
void setCgemCluster(const RecCgemCluster *cgemCluster)
double getDepositEnergy() const
vector< S_Z > getSZ() const
void setDepositEnergy(double depositEnergy)
double getRawTime() const
MdcGeomSvc * getMdcGeomSvc() const
double residual(HoughTrack *track)
HoughHit(const HoughHit &other)
const MdcDigi * getDigi() const
void dropTrkID(int trkID)
void setHalfCircle(int halfCircle)
static void setMdcGeomSvc(MdcGeomSvc *mdcGeomSvc)
const RecCgemCluster * getCgemCluster() const
double getDriftDist() const
vector< int > getTrkID() const
HepPoint3D getWestPoint() const
void setMdcHit(MdcHit *mdcHit)
const MdcLayer * layer() const
MdcCalibFunSvc * getMdcCalibFunSvc() const
HepPoint3D getEastPoint() const
void setDigi(const MdcDigi *mdcDigi)
const MdcMcHit * getMdcMcHit() const
void setDriftDist(double driftDist)
HepPoint3D getHitPosition() const
HitType getHitType() const
CgemGeomSvc * getCgemGeomSvc() const
void addTrkPnt(HoughTrack *aHTrk)
const CgemMcHit * getCgemMcHit() const
void rmTrkPnt(HoughTrack *aHTrk)
void addResid(double res)
HoughHit(const RecCgemCluster *cgemCgemCluster, double bunchTime, int hitID)
void setTrkID(vector< int > trkID)
double residual(HoughTrack *track, HepPoint3D &positionOntrack, HepPoint3D &positionOnDetector)
void setPairHit(HoughHit *pairHit)
HoughHit(const MdcDigi *mdcDigi, double bunchTime, int hitID)
static void setMdcCalibFunSvc(MdcCalibFunSvc *mdcCalibFunSvc)
CgemCalibFunSvc * getCgemCalibFunSvc() const
vector< double > getVecResid()
void setHitType(HitType hitType)
void addPosition(HepPoint3D position)
void updateVHit(HoughTrack *track)
vector< HepPoint3D > & VHitPosition(HoughTrack *track)
void setHitPosition(HepPoint3D point)
vector< HoughTrack * > getTrkPntVec()
static void setCgemCalibFunSvc(CgemCalibFunSvc *cgemCalibFunSvc)
void setRawTime(double rawTime)
static void setCgemGeomSvc(CgemGeomSvc *cgemGeomSvc)
static void setMdcDetector(const MdcDetector *mdcDetector)
void setMdcMcHit(const MdcMcHit *mdcMcHit)
double getResidual() const
void setCgemMcHit(const CgemMcHit *cgemMcHit)
void setBunchTime(double bunchTime)
void setSZ(vector< S_Z > sz)
double getBunchTime() const
const MdcSWire * wire() const
HoughHit & operator=(const HoughHit &other)
std::pair< double, double > S_Z
void setResidual(double residual)