BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcHit Class Reference

#include <MdcHit.h>

+ Inheritance diagram for MdcHit:

Public Member Functions

 MdcHit (const MdcDigi *&digi, const MdcDetector *&det)
 
 MdcHit (const MdcHit &)
 
virtual ~MdcHit ()
 
MdcHitoperator= (const MdcHit &)
 
bool operator== (const MdcHit &) const
 
const MdcDigidigi () const
 
const MdcLayerlayer () const
 
const MdcSWirewire () const
 
const MdcDetectorgeom () const
 
const MdcCalibFunSvccalibSvc () const
 
Identifier mdcId () const
 
unsigned layernumber () const
 
unsigned wirenumber () const
 
unsigned tdcIndex () const
 
unsigned adcIndex () const
 
double charge () const
 
double rawTime () const
 
double driftTime (double tof, double z) const
 
double driftDist (double, int, double, double, double) const
 
double driftDist (double bunchTime, int ambig) const
 
double sigma (double, int, double, double, double) const
 
double sigma (double driftdist, int ambig=0) const
 
int whichView () const
 
const TrajectoryhitTraj () const
 
TrkEnums::TrkViewInfo whatView () const
 
double phi () const
 
double x () const
 
double y () const
 
const double phi (double z) const
 
double x (double z) const
 
double y (double z) const
 
double rMid () const
 
double zlen () const
 
unsigned status () const
 
void setCalibSvc (const MdcCalibFunSvc *calibSvc)
 
void setCountPropTime (const bool count)
 
void setCosmicFit (const bool cosmicfit)
 
bool isCosmicFit () const
 
void print (std::ostream &o) const
 
void printAll (std::ostream &o) const
 
 MdcHit (const MdcDigi *&digi, const MdcDetector *&det)
 
 MdcHit (const MdcHit &)
 
virtual ~MdcHit ()
 
MdcHitoperator= (const MdcHit &)
 
bool operator== (const MdcHit &) const
 
const MdcDigidigi () const
 
const MdcLayerlayer () const
 
const MdcSWirewire () const
 
const MdcDetectorgeom () const
 
const MdcCalibFunSvccalibSvc () const
 
Identifier mdcId () const
 
unsigned layernumber () const
 
unsigned wirenumber () const
 
unsigned tdcIndex () const
 
unsigned adcIndex () const
 
double charge () const
 
double rawTime () const
 
double driftTime (double tof, double z) const
 
double driftDist (double, int, double, double, double) const
 
double driftDist (double bunchTime, int ambig) const
 
double sigma (double, int, double, double, double) const
 
double sigma (double driftdist, int ambig=0) const
 
int whichView () const
 
const TrajectoryhitTraj () const
 
TrkEnums::TrkViewInfo whatView () const
 
double phi () const
 
double x () const
 
double y () const
 
const double phi (double z) const
 
double x (double z) const
 
double y (double z) const
 
double rMid () const
 
double zlen () const
 
unsigned status () const
 
void setCalibSvc (const MdcCalibFunSvc *calibSvc)
 
void setCountPropTime (const bool count)
 
void setCosmicFit (const bool cosmicfit)
 
bool isCosmicFit () const
 
void print (std::ostream &o) const
 
void printAll (std::ostream &o) const
 
- Public Member Functions inherited from TrkFundHit
 TrkFundHit ()
 
virtual ~TrkFundHit ()
 
int nUsedHits () const
 
bool usedHit (void) const
 
std::pair< TrkFundHit::hot_iterator, TrkFundHit::hot_iteratorgetUsedHits () const
 
TrkFundHit::hot_iterator begin () const
 
TrkFundHit::hot_iterator end () const
 
bool usedOnTrack (const TrkRecoTrk *t) const
 
const TrkHitOnTrkgetHitOnTrack (const TrkRecoTrk *trk) const
 
const TrkHitOnTrksetUsedHit (const TrkHitOnTrk *hit)
 
const TrkHitOnTrksetUnusedHit (const TrkHitOnTrk *hit)
 
virtual TrkEnums::TrkViewInfo whatView () const =0
 
virtual void printAll (std::ostream &os) const
 
 TrkFundHit ()
 
virtual ~TrkFundHit ()
 
int nUsedHits () const
 
bool usedHit (void) const
 
std::pair< TrkFundHit::hot_iterator, TrkFundHit::hot_iteratorgetUsedHits () const
 
TrkFundHit::hot_iterator begin () const
 
TrkFundHit::hot_iterator end () const
 
bool usedOnTrack (const TrkRecoTrk *t) const
 
const TrkHitOnTrkgetHitOnTrack (const TrkRecoTrk *trk) const
 
const TrkHitOnTrksetUsedHit (const TrkHitOnTrk *hit)
 
const TrkHitOnTrksetUnusedHit (const TrkHitOnTrk *hit)
 
virtual TrkEnums::TrkViewInfo whatView () const =0
 
virtual void printAll (std::ostream &os) const
 

Friends

class MdcMakeHits
 

Additional Inherited Members

- Public Types inherited from TrkFundHit
typedef TrkHitOnTrkIter< TrkFundHithot_iterator
 
typedef TrkHitOnTrkIter< TrkFundHithot_iterator
 
- Protected Types inherited from TrkFundHit
typedef std::vector< constTrkHitOnTrk * >::iterator iterator_implementation
 
typedef const TrkHitOnTrk iterator_value_type
 
typedef std::vector< constTrkHitOnTrk * >::iterator iterator_implementation
 
typedef const TrkHitOnTrk iterator_value_type
 
- Protected Member Functions inherited from TrkFundHit
TrkFundHitoperator= (const TrkFundHit &)
 
TrkFundHitoperator= (const TrkFundHit &)
 
- Protected Attributes inherited from TrkFundHit
std::vector< const TrkHitOnTrk * > _hitList
 

Detailed Description

Definition at line 44 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

Constructor & Destructor Documentation

◆ MdcHit() [1/4]

MdcHit::MdcHit ( const MdcDigi *&  digi,
const MdcDetector *&  det 
)

Definition at line 33 of file MdcHit.cxx.

33 :
34 TrkFundHit(), _digiPtr(aDigi), _geomPtr(det)
35{
36 _digiPtr = aDigi;
37 _geomPtr = det;
38 assert( _digiPtr != NULL);
39 assert( _geomPtr != NULL);
40 _id = aDigi->identify();
41 _layerPtr = det->Layer(_id);
42 _wirePtr = det->Wire(_id);
43 assert( _layerPtr != NULL);
44 assert( _wirePtr != NULL);
45 m_mdcCalibFunSvc = NULL;
46 _layer = MdcID::layer(_id);
47 _wire = MdcID::wire (_id);
48 _iTdc = _digiPtr->getTimeChannel();
49 _iAdc = _digiPtr->getChargeChannel();
50 _rawTime = RawDataUtil::MdcTime(_iTdc);
51 _charge = RawDataUtil::MdcCharge(_iAdc);
52 _rmid = _wirePtr->rMid();
53 _zlen = _layerPtr->zLength();
54 _phi = _wirePtr->phi();
55 _cosphi = cos(_phi);
56 _sinphi = sin(_phi);
57 _status = 0;
58}
double sin(const BesAngle a)
double cos(const BesAngle a)
const MdcLayer * Layer(unsigned id) const
const MdcSWire * Wire(unsigned id) const
static int layer(const Identifier &id)
Values of different levels (failure returns 0)
Definition: MdcID.cxx:49
static int wire(const Identifier &id)
Definition: MdcID.cxx:54
static double MdcCharge(int chargeChannel)
unsigned int getChargeChannel() const
Definition: RawData.cxx:45
unsigned int getTimeChannel() const
Definition: RawData.cxx:40

Referenced by MdcHit().

◆ MdcHit() [2/4]

MdcHit::MdcHit ( const MdcHit other)

Definition at line 60 of file MdcHit.cxx.

60 :
61 TrkFundHit() , _digiPtr(other._digiPtr), _geomPtr(other._geomPtr),
62 _layerPtr(other._layerPtr), _wirePtr(other._wirePtr), _id(other._id),
63 _layer(other._layer), _wire(other._wire),
64 _iTdc(other._iTdc), _iAdc(other._iAdc),
65 _rawTime(other._rawTime), _charge(other._charge),
66 _rmid(other._rmid), _zlen(other._zlen),
67 _phi(other._phi), _cosphi(other._cosphi), _sinphi(other._sinphi),
68 _status(other._status), _T0Walk(other._T0Walk)
69{
70 m_mdcCalibFunSvc = other.m_mdcCalibFunSvc;
71}
Index other(Index i, Index j)
Definition: EvtCyclic3.cc:118

◆ ~MdcHit() [1/2]

MdcHit::~MdcHit ( )
virtual

Definition at line 102 of file MdcHit.cxx.

102 {
103 // This is ugly and inefficient. This, along with the rest of
104 // the hitList mess, should be cleaned up by handling the
105 // association in an external map
106
107 // Not written as a loop because removeHit() modifies TrkFundHit::_hitList
108 short count = 0;
109 while (nUsedHits() > count) {
110 bool removed = _hitList[count]->parentTrack()->hits()->removeHit(this);
111 if (!removed) count++;
112 }
113}
DOUBLE_PRECISION count[3]
std::vector< const TrkHitOnTrk * > _hitList
int nUsedHits() const
Definition: TrkFundHit.cxx:89

◆ MdcHit() [3/4]

MdcHit::MdcHit ( const MdcDigi *&  digi,
const MdcDetector *&  det 
)

◆ MdcHit() [4/4]

MdcHit::MdcHit ( const MdcHit )

◆ ~MdcHit() [2/2]

virtual MdcHit::~MdcHit ( )
virtual

Member Function Documentation

◆ adcIndex() [1/2]

unsigned MdcHit::adcIndex ( ) const
inline

Definition at line 64 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

64{ return _iAdc; }

Referenced by MdcTrack::storeTrack().

◆ adcIndex() [2/2]

unsigned MdcHit::adcIndex ( ) const
inline

Definition at line 64 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

64{ return _iAdc; }

◆ calibSvc() [1/2]

const MdcCalibFunSvc * MdcHit::calibSvc ( ) const
inline

Definition at line 59 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

59{ return m_mdcCalibFunSvc; }

Referenced by setCalibSvc().

◆ calibSvc() [2/2]

const MdcCalibFunSvc * MdcHit::calibSvc ( ) const
inline

Definition at line 59 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

59{ return m_mdcCalibFunSvc; }

◆ charge() [1/2]

double MdcHit::charge ( ) const
inline

Definition at line 65 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

65{ return _charge; }

Referenced by MdcHitOnTrack::charge(), and MdcTrkRecon::fillTrackList().

◆ charge() [2/2]

double MdcHit::charge ( ) const
inline

Definition at line 65 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

65{ return _charge; }

◆ digi() [1/2]

const MdcDigi * MdcHit::digi ( ) const
inline

Definition at line 55 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

55{ return _digiPtr; }

Referenced by MdcTrackList::pickHits(), and MdcTrack::storeTrack().

◆ digi() [2/2]

const MdcDigi * MdcHit::digi ( ) const
inline

Definition at line 55 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

55{ return _digiPtr; }

◆ driftDist() [1/4]

double MdcHit::driftDist ( double  bunchTime,
int  ambig 
) const

Definition at line 178 of file MdcHit.cxx.

178 {
179 return driftDist(bunchTime+crudeTof(), ambig, 0., 0., 0. );
180}
double driftDist(double, int, double, double, double) const
Definition: MdcHit.cxx:156

◆ driftDist() [2/4]

double MdcHit::driftDist ( double  bunchTime,
int  ambig 
) const

◆ driftDist() [3/4]

double MdcHit::driftDist ( double  tof,
int  ambig,
double  entranceAngle,
double  ,
double  z 
) const

Definition at line 156 of file MdcHit.cxx.

158{
159 double driftD;
160 //drift time ns, layer id begin with 0, entrance angle rads,
161 //lr ambig: wire ambig 1,-1,0 -> Calib 0,1,2
162 int lrCalib=2;
163 if (ambig==1) lrCalib = 0;
164 else if (ambig==-1) lrCalib = 1;
165
166 // tof in s, driftDist in cm, dirftTime in ns
167 if (fabs(z)>150. || fabs(driftTime(tof,z))>1500.){
168 return 9999.;
169 }
170 driftD = 0.1 * m_mdcCalibFunSvc->driftTimeToDist(driftTime(tof,z),_layer,_wire,lrCalib,entranceAngle);//to cm
171 //std::cout<<"driftDist "<<"("<<_layer <<","<<_wire <<") dd "<<driftD<<" dt "<<driftTime(tof,z) <<" lr "<<lrCalib <<" eAng "<<entranceAngle <<" tof "<<tof*1.e9<<" z "<<z <<" t0walk "<<_T0Walk<<" rawT "<<_rawTime <<" tprop "<< _rawTime - driftTime(tof,z)- _T0Walk-1.e9*tof<<std::endl;
172
173 if (abs(driftD)<Constants::epsilon) driftD = 0.00001;
174 return driftD;
175}
double driftTimeToDist(double drifttime, int layid, int cellid, int lr, double entrance=0.0) const
double driftTime(double tof, double z) const
Definition: MdcHit.cxx:142

Referenced by driftDist(), MdcxCosmicSewer::execute(), Hough2D::fit(), Hough3D::fit(), MdcTrackList::pickHits(), and MdcSegInfoSterO::zPosition().

◆ driftDist() [4/4]

double MdcHit::driftDist ( double  ,
int  ,
double  ,
double  ,
double   
) const

◆ driftTime() [1/2]

double MdcHit::driftTime ( double  tof,
double  z 
) const

Definition at line 142 of file MdcHit.cxx.

142 {
143 // t prop
144 double tprop = 0.;
145 if (m_countPropTime){ tprop = m_mdcCalibFunSvc->getTprop(_layer,z*10.); }
146
147 //tof in s, driftTime in ns, _T0Walk in ns
148 double driftT = _rawTime - _T0Walk -1.e9*tof - tprop;
149
150 //if(driftT >10000)
151 //std::cout<< "driftTime ("<<_layer<<","<<_wire<<") dt "<<driftT<<" rawTime "<<_rawTime<<" z "<<z<<" tprop "<<tprop <<" t0walk "<<_T0Walk<<" tof "<<1.e9*tof<< std::endl;//yzhang debug
152 return driftT;
153}
double getTprop(int lay, double z) const

Referenced by driftDist(), MdcTrackList::dropMultiHotInLayer(), MdcTrkRecon::fillTrackList(), Hough2D::fit(), Hough3D::fit(), and MdcTrack::storeTrack().

◆ driftTime() [2/2]

double MdcHit::driftTime ( double  tof,
double  z 
) const

◆ geom() [1/2]

const MdcDetector * MdcHit::geom ( ) const
inline

Definition at line 58 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

58{ return _geomPtr; }

◆ geom() [2/2]

const MdcDetector * MdcHit::geom ( ) const
inline

Definition at line 58 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

58{ return _geomPtr; }

◆ hitTraj() [1/2]

const Trajectory * MdcHit::hitTraj ( ) const

Definition at line 231 of file MdcHit.cxx.

231 {
233}
const MdcLayer * layer() const
const Trajectory * makeHitTrajInGlobalCoords(int wire, double z=0) const
Definition: MdcLayer.cxx:132

◆ hitTraj() [2/2]

const Trajectory * MdcHit::hitTraj ( ) const

◆ isCosmicFit() [1/2]

bool MdcHit::isCosmicFit ( ) const
inline

Definition at line 88 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

88{ return m_cosmicFit; }

◆ isCosmicFit() [2/2]

bool MdcHit::isCosmicFit ( ) const
inline

Definition at line 88 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

88{ return m_cosmicFit; }

◆ layer() [1/2]

const MdcLayer * MdcHit::layer ( ) const
inline

◆ layer() [2/2]

const MdcLayer * MdcHit::layer ( ) const
inline

Definition at line 56 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

56{ return _layerPtr; }

◆ layernumber() [1/2]

◆ layernumber() [2/2]

unsigned MdcHit::layernumber ( ) const
inline

Definition at line 61 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

61{ return _layer; }

◆ mdcId() [1/2]

Identifier MdcHit::mdcId ( ) const
inline

Definition at line 60 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

60{ return _id; }

◆ mdcId() [2/2]

Identifier MdcHit::mdcId ( ) const
inline

Definition at line 60 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

60{ return _id; }

◆ operator=() [1/2]

MdcHit & MdcHit::operator= ( const MdcHit other)

Definition at line 74 of file MdcHit.cxx.

74 {
75 if(&other != this){
76 _digiPtr = other._digiPtr;
77 _geomPtr = other._geomPtr;
78 _layerPtr = other._layerPtr;
79 _wirePtr = other._wirePtr;
80 m_mdcCalibFunSvc = other.m_mdcCalibFunSvc;
81 _id = other._id;
82 _layer = other._layer;
83 _wire = other._wire;
84 _iTdc = other._iTdc;
85 _iAdc = other._iAdc;
86 _rawTime = other._rawTime;
87 _charge = other._charge;
88 _digiPtr = other._digiPtr;
89 _rmid = other._rmid;
90 _zlen = other._zlen;
91 _phi = other._phi;
92 _cosphi = other._cosphi;
93 _sinphi = other._sinphi;
94 _status = other._status;
95 _T0Walk = other._T0Walk;
96 }
97 return *this;
98}

◆ operator=() [2/2]

MdcHit & MdcHit::operator= ( const MdcHit )

◆ operator==() [1/2]

bool MdcHit::operator== ( const MdcHit rhs) const

Definition at line 116 of file MdcHit.cxx.

116 {
117 return (this == &rhs);
118}

◆ operator==() [2/2]

bool MdcHit::operator== ( const MdcHit ) const

◆ phi() [1/4]

double MdcHit::phi ( ) const
inline

Definition at line 75 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

75{ return _phi;} // phi at chamber center

Referenced by MdcHitOnTrack::entranceAngle(), MdcxCosmicSewer::execute(), and MdcTrackList::pickHits().

◆ phi() [2/4]

double MdcHit::phi ( ) const
inline

Definition at line 75 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

75{ return _phi;} // phi at chamber center

◆ phi() [3/4]

const double MdcHit::phi ( double  z) const
inline

Definition at line 78 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

78{return wire()->phiDC(z);} // phi at z
const MdcSWire * wire() const

◆ phi() [4/4]

const double MdcHit::phi ( double  z) const
inline

Definition at line 78 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

78{return wire()->phiDC(z);} // phi at z

◆ print() [1/2]

◆ print() [2/2]

void MdcHit::print ( std::ostream &  o) const

◆ printAll() [1/2]

void MdcHit::printAll ( std::ostream &  o) const
virtual

Reimplemented from TrkFundHit.

◆ printAll() [2/2]

void MdcHit::printAll ( std::ostream &  o) const
virtual

Reimplemented from TrkFundHit.

◆ rawTime() [1/2]

double MdcHit::rawTime ( ) const
inline

Definition at line 66 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

66{ return _rawTime; }

Referenced by Hough2D::fit(), Hough3D::fit(), MdcHitOnTrack::rawTime(), and MdcHitOnTrack::setT0().

◆ rawTime() [2/2]

double MdcHit::rawTime ( ) const
inline

Definition at line 66 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

66{ return _rawTime; }

◆ rMid() [1/2]

double MdcHit::rMid ( ) const
inline

Definition at line 81 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

81{ return _rmid; } // R at chamber center

◆ rMid() [2/2]

double MdcHit::rMid ( ) const
inline

Definition at line 81 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

81{ return _rmid; } // R at chamber center

◆ setCalibSvc() [1/2]

void MdcHit::setCalibSvc ( const MdcCalibFunSvc calibSvc)

Definition at line 136 of file MdcHit.cxx.

136 {
137 m_mdcCalibFunSvc = calibSvc;
138 _T0Walk = m_mdcCalibFunSvc->getT0(_layer,_wire) + m_mdcCalibFunSvc->getTimeWalk(_layer, _iAdc);
139}
double getT0(int layid, int cellid) const
double getTimeWalk(int layid, double Q) const
const MdcCalibFunSvc * calibSvc() const

Referenced by MdcMakeHits::execute(), MdcxCosmicSewer::execute(), Hough2D::fit(), Hough3D::fit(), and MdcxCosmicSewer::MdcxHitsToHots().

◆ setCalibSvc() [2/2]

void MdcHit::setCalibSvc ( const MdcCalibFunSvc calibSvc)

◆ setCosmicFit() [1/2]

void MdcHit::setCosmicFit ( const bool  cosmicfit)
inline

Definition at line 87 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

87{ m_cosmicFit = cosmicfit; }

Referenced by MdcMakeHits::execute(), MdcxCosmicSewer::execute(), and MdcxCosmicSewer::MdcxHitsToHots().

◆ setCosmicFit() [2/2]

void MdcHit::setCosmicFit ( const bool  cosmicfit)
inline

Definition at line 87 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

87{ m_cosmicFit = cosmicfit; }

◆ setCountPropTime() [1/2]

void MdcHit::setCountPropTime ( const bool  count)
inline

◆ setCountPropTime() [2/2]

void MdcHit::setCountPropTime ( const bool  count)
inline

Definition at line 86 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

86{ m_countPropTime = count;}

◆ sigma() [1/4]

double MdcHit::sigma ( double  driftdist,
int  ambig = 0 
) const

Definition at line 226 of file MdcHit.cxx.

226 {
227 return sigma(driftdist, ambig, 0., 0., 0.);// cm
228}
double sigma(double, int, double, double, double) const
Definition: MdcHit.cxx:184

◆ sigma() [2/4]

double MdcHit::sigma ( double  driftdist,
int  ambig = 0 
) const

◆ sigma() [3/4]

double MdcHit::sigma ( double  driftdist,
int  ambig,
double  entranceAngle,
double  dipAngle,
double  z 
) const

Definition at line 184 of file MdcHit.cxx.

185 {
186 double sig = 9999.;
187
188#ifdef MDCPATREC_RESLAYER
189 if (_layer == m_resLayer){
190 //give a huge sigma to skip this layer when fit track
191 return 9999.;
192 }
193#endif
194 //if(fabs(z)>150. || driftdist==9999. ) {
195 // return 9999.;
196 //}
197 if ( m_mdcCalibFunSvc ) {
198 //layid begin with 0, entrance angle in rads,
199 //distance: cm ->Calib mm //z: cm -> Calib mm
200 //Q: MonteCalo eV -> Calib fC FIXME
201 //lr ambig: wire ambig 1,-1,0 -> Calib 0,1,2
202 int lrCalib=2;
203 if (ambig==1) lrCalib = 0;
204 else if (ambig==-1) lrCalib = 1;
205
206 //std::cout<<"layer "<<_layer<< " lrCalib "<< lrCalib<< " driftdist "<< driftdist << " eAngle "<<entranceAngle
207 //<<" tan(dipAngle) "<<tan(dipAngle)<< " z "<<z <<" iAdc "<<_iAdc<<std::endl;
208 sig = 0.1 * m_mdcCalibFunSvc->getSigma(_layer,lrCalib,driftdist*10.,entranceAngle,
209 tan(dipAngle),z*10.,_iAdc); //Calib special resolution mm -> cm
210
211 if(fabs(sig)<Constants::epsilon){
212 sig = 999.;
213 }
214 //if(sig<=0){
215 //std::cout<<__FILE__<<" "<<__LINE__ <<" sigma "<<sig
216 //<<" layer "<<_layer <<" lrCalib "<<lrCalib <<" driftdist "<<driftdist*10
217 //<<" eAngle "<<entranceAngle<<" dipAngle "<<(dipAngle) <<" tanl "<<tan(dipAngle)
218 //<<" z "<<z <<" iAdc "<<_iAdc <<std::endl;
219 //}
220 }
221 //if (_layer<4) sig /=5.;//yzhang TEST 2011-05-27
222 return sig;
223}
double tan(const BesAngle a)
double getSigma(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const

Referenced by MdcxCosmicSewer::execute(), MdcTrackList::pickHits(), sigma(), and MdcSegInfoSterO::zPosition().

◆ sigma() [4/4]

double MdcHit::sigma ( double  ,
int  ,
double  ,
double  ,
double   
) const

◆ status() [1/2]

unsigned MdcHit::status ( ) const
inline

Definition at line 83 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

83{ return _status;}// status

Referenced by MdcRecoHitOnTrack::status().

◆ status() [2/2]

unsigned MdcHit::status ( ) const
inline

Definition at line 83 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

83{ return _status;}// status

◆ tdcIndex() [1/2]

unsigned MdcHit::tdcIndex ( ) const
inline

Definition at line 63 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

63{ return _iTdc; }

Referenced by MdcTrack::storeTrack(), and MdcRecoHitOnTrack::tdcIndex().

◆ tdcIndex() [2/2]

unsigned MdcHit::tdcIndex ( ) const
inline

Definition at line 63 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

63{ return _iTdc; }

◆ whatView() [1/2]

◆ whatView() [2/2]

TrkEnums::TrkViewInfo MdcHit::whatView ( ) const
inlinevirtual

◆ whichView() [1/2]

int MdcHit::whichView ( ) const
inline

Definition at line 72 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

72{ return _layerPtr->view(); }

Referenced by whatView(), and MdcHitOnTrack::whichView().

◆ whichView() [2/2]

int MdcHit::whichView ( ) const
inline

Definition at line 72 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

72{ return _layerPtr->view(); }

◆ wire() [1/2]

const MdcSWire * MdcHit::wire ( ) const
inline

Definition at line 57 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

57{ return _wirePtr; }

Referenced by phi(), x(), y(), and MdcSegInfoSterO::zPosition().

◆ wire() [2/2]

const MdcSWire * MdcHit::wire ( ) const
inline

Definition at line 57 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

57{ return _wirePtr; }

◆ wirenumber() [1/2]

◆ wirenumber() [2/2]

unsigned MdcHit::wirenumber ( ) const
inline

Definition at line 62 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

62{ return _wire; }

◆ x() [1/4]

double MdcHit::x ( ) const
inline

Definition at line 76 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

76{ return _rmid*_cosphi; } // x at chamber center

Referenced by MdcTrackList::pickHits(), and MdcSegGrouper::transferHits().

◆ x() [2/4]

double MdcHit::x ( ) const
inline

Definition at line 76 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

76{ return _rmid*_cosphi; } // x at chamber center

◆ x() [3/4]

double MdcHit::x ( double  z) const
inline

Definition at line 79 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

79{return wire()->xWireDC(z);}// x at global z

◆ x() [4/4]

double MdcHit::x ( double  z) const
inline

Definition at line 79 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

79{return wire()->xWireDC(z);}// x at global z

◆ y() [1/4]

double MdcHit::y ( ) const
inline

Definition at line 77 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

77{ return _rmid*_sinphi; } // y at chamber center

Referenced by MdcTrackList::pickHits(), and MdcSegGrouper::transferHits().

◆ y() [2/4]

double MdcHit::y ( ) const
inline

Definition at line 77 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

77{ return _rmid*_sinphi; } // y at chamber center

◆ y() [3/4]

double MdcHit::y ( double  z) const
inline

Definition at line 80 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

80{return wire()->yWireDC(z);}// y at global z

◆ y() [4/4]

double MdcHit::y ( double  z) const
inline

Definition at line 80 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

80{return wire()->yWireDC(z);}// y at global z

◆ zlen() [1/2]

double MdcHit::zlen ( ) const
inline

Definition at line 82 of file InstallArea/include/MdcData/MdcData/MdcHit.h.

82{ return _zlen; } // chamber extent in z

◆ zlen() [2/2]

double MdcHit::zlen ( ) const
inline

Definition at line 82 of file Reconstruction/MdcPatRec/MdcData/MdcData-00-01-27/MdcData/MdcHit.h.

82{ return _zlen; } // chamber extent in z

Friends And Related Function Documentation

◆ MdcMakeHits

MdcMakeHits
friend

The documentation for this class was generated from the following files: