29#include "Identifier/Identifier.h"
30#include "MdcCalibFunSvc/IMdcCalibFunSvc.h"
31#include "MdcGeom/Constants.h"
32#include "MdcGeom/MdcDetector.h"
33#include "MdcGeom/MdcLayer.h"
34#include "MdcGeom/MdcSWire.h"
35#include "MdcRawEvent/MdcDigi.h"
36#include "TrkBase/TrkEnums.h"
37#include "TrkBase/TrkFundHit.h"
63 double charge()
const {
return _charge; }
64 double rawTime()
const {
return _rawTime; }
66 double driftDist(
double,
int,
double,
double,
double )
const;
67 double driftDist(
double bunchTime,
int ambig )
const;
68 double sigma(
double,
int,
double,
double,
double )
const;
69 double sigma(
double driftdist,
int ambig = 0 )
const;
75 double phi()
const {
return _phi; }
76 double x()
const {
return _rmid * _cosphi; }
77 double y()
const {
return _rmid * _sinphi; }
81 double rMid()
const {
return _rmid; }
82 double zlen()
const {
return _zlen; }
83 unsigned status()
const {
return _status; }
87 void setCosmicFit(
const bool cosmicfit ) { m_cosmicFit = cosmicfit; }
90 void print( std::ostream& o )
const;
104 const MdcDigi* _digiPtr{
nullptr };
105 const MdcDetector* _geomPtr{
nullptr };
106 const MdcLayer* _layerPtr{
nullptr };
107 const MdcSWire* _wirePtr{
nullptr };
108 const IMdcCalibFunSvc* m_mdcCalibFunSvc{
nullptr };
110 unsigned _layer{ 0 };
114 double _rawTime{ 0.0 };
115 double _charge{ 0.0 };
119 double _cosphi{ 0.0 };
120 double _sinphi{ 0.0 };
121 unsigned _status{ 0 };
122 double _T0Walk{ 0.0 };
123 static bool m_cosmicFit;
124 static bool m_countPropTime;
DOUBLE_PRECISION count[3]
ObjectVector< MdcHit > MdcHitCol
std::ostream & operator<<(std::ostream &o, const MdcHit &aHit)
const MdcDigi * digi() const
MdcHit(const MdcDigi *&digi, const MdcDetector *&det)
unsigned layernumber() const
unsigned wirenumber() const
void setCosmicFit(const bool cosmicfit)
void print(std::ostream &o) const
const MdcDetector * geom() const
double sigma(double driftdist, int ambig=0) const
double driftDist(double bunchTime, int ambig) const
const IMdcCalibFunSvc * calibSvc() const
unsigned adcIndex() const
TrkEnums::TrkViewInfo whatView() const
bool operator==(const MdcHit &) const
double driftTime(double tof, double z) const
double sigma(double, int, double, double, double) const
MdcHit & operator=(const MdcHit &)
const double phi(double z) const
const Trajectory * hitTraj() const
void setCountPropTime(const bool count)
double driftDist(double, int, double, double, double) const
const MdcLayer * layer() const
const MdcSWire * wire() const
unsigned tdcIndex() const
void setCalibSvc(const IMdcCalibFunSvc *calibSvc)
void printAll(std::ostream &o) const
double yWireDC(double z) const
double xWireDC(double z) const
double phiDC(double z) const