BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcHitOnTrack Class Referenceabstract

#include <MdcHitOnTrack.h>

Inheritance diagram for MdcHitOnTrack:

Public Member Functions

 MdcHitOnTrack (const TrkFundHit &fundHit, const MdcHit &baseHit, int ambig, double fittime)
virtual ~MdcHitOnTrack ()
double entranceAngleHit () const
double entranceAngle () const
double entranceAngle (const HepPoint3D pos, const Hep3Vector dir) const
double dipAngle () const
int ambig () const
int wireAmbig () const
double fitTime () const
double drift () const
double drift (double dca) const
double dcaToWire () const
double rawTime () const
virtual const TrajectoryhitTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
virtual const MdcHitmdcHit () const
virtual unsigned tdcIndex () const =0
virtual unsigned status () const =0
int wire () const
const MdcLayerlayer () const
int layernumber () const
unsigned layerNumber () const
int whichView () const
double charge () const
TrkEnums::TrkViewInfo whatView () const
void setAmbig (int a)
void setT0 (double t0)
 MdcHitOnTrack (const TrkFundHit &fundHit, const MdcHit &baseHit, int ambig, double fittime)
virtual ~MdcHitOnTrack ()
double entranceAngleHit () const
double entranceAngle () const
double entranceAngle (const HepPoint3D pos, const Hep3Vector dir) const
double dipAngle () const
int ambig () const
int wireAmbig () const
double fitTime () const
double drift () const
double drift (double dca) const
double dcaToWire () const
double rawTime () const
virtual const TrajectoryhitTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
virtual const MdcHitmdcHit () const
virtual unsigned tdcIndex () const =0
virtual unsigned status () const =0
int wire () const
const MdcLayerlayer () const
int layernumber () const
unsigned layerNumber () const
int whichView () const
double charge () const
TrkEnums::TrkViewInfo whatView () const
void setAmbig (int a)
void setT0 (double t0)
 MdcHitOnTrack (const TrkFundHit &fundHit, const MdcHit &baseHit, int ambig, double fittime)
virtual ~MdcHitOnTrack ()
double entranceAngleHit () const
double entranceAngle () const
double entranceAngle (const HepPoint3D pos, const Hep3Vector dir) const
double dipAngle () const
int ambig () const
int wireAmbig () const
double fitTime () const
double drift () const
double drift (double dca) const
double dcaToWire () const
double rawTime () const
virtual const TrajectoryhitTraj () const
virtual const MdcHitOnTrackmdcHitOnTrack () const
virtual bool timeResid (double &t, double &tErr) const
virtual bool timeAbsolute (double &t, double &tErr) const
virtual const MdcHitmdcHit () const
virtual unsigned tdcIndex () const =0
virtual unsigned status () const =0
int wire () const
const MdcLayerlayer () const
int layernumber () const
unsigned layerNumber () const
int whichView () const
double charge () const
TrkEnums::TrkViewInfo whatView () const
void setAmbig (int a)
void setT0 (double t0)
Public Member Functions inherited from TrkHitOnTrk
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
virtual TrkHitOnTrkclone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
virtual TrkHitOnTrkclone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const
 TrkHitOnTrk (const TrkFundHit *, double tolerance)
virtual ~TrkHitOnTrk ()
virtual TrkHitOnTrkclone (TrkRep *parentRep, const TrkDifTraj *trkTraj=0) const =0
const TrkRecoTrkgetParentTrack () const
const TrkRepgetParentRep () const
PdtPid::PidType particleType () const
const TrkFundHithit () const
TrkFundHithit ()
const TrkDifTrajtrkTraj () const
virtual const SvtHitOnTrack * svtHitOnTrack () const
bool isActive () const
bool isUsable () const
bool mustUse () const
double hitRms () const
double weight () const
double fltLen () const
double hitLen () const
bool operator== (const TrkHitOnTrk &) const
bool operator< (const TrkHitOnTrk &rhs) const
bool hasResidual () const
TrkErrCode getFitStuff (HepVector &derivs, double &deltaChi) const
TrkErrCode getFitStuff (double &deltaChi) const
double resid (bool exclude=false) const
bool resid (double &resid, double &residErr, bool exclude=false) const
double residual () const
TrkRecoTrkparentTrack () const
void setActivity (bool turnOn)
void setUsability (int usability)
void setFltLen (double f)
void setHitRms (double newRms)
virtual void print (std::ostream &) const
virtual void printAll (std::ostream &) const

Protected Member Functions

 MdcHitOnTrack (const TrkFundHit *baseHit, int ambig, double fittime, int layer, int wire)
 MdcHitOnTrack (const MdcHitOnTrack &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj, const MdcHit *hb=0)
bool isBeyondEndflange () const
bool updateAmbiguity (double dca)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
const MdcHitbaseHit () const
void changeBase (MdcHit *newBase)
 MdcHitOnTrack (const TrkFundHit *baseHit, int ambig, double fittime, int layer, int wire)
 MdcHitOnTrack (const MdcHitOnTrack &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj, const MdcHit *hb=0)
bool isBeyondEndflange () const
bool updateAmbiguity (double dca)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
const MdcHitbaseHit () const
void changeBase (MdcHit *newBase)
 MdcHitOnTrack (const TrkFundHit *baseHit, int ambig, double fittime, int layer, int wire)
 MdcHitOnTrack (const MdcHitOnTrack &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj, const MdcHit *hb=0)
bool isBeyondEndflange () const
bool updateAmbiguity (double dca)
virtual TrkErrCode updateMeasurement (const TrkDifTraj *traj, bool maintainAmbiguity)
const MdcHitbaseHit () const
void changeBase (MdcHit *newBase)
Protected Member Functions inherited from TrkHitOnTrk
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)
 TrkHitOnTrk (const TrkHitOnTrk &hitToBeCopied, TrkRep *newRep, const TrkDifTraj *trkTraj=0)
void setHitResid (double newResid)
TrkRepparentRep () const
void setHitLen (double h)
void setUsedHit ()
void setUnusedHit ()
TrkErrCode updatePoca (const TrkDifTraj *trkTraj, bool maintainAmbiguity)

Additional Inherited Members

Public Types inherited from TrkHitOnTrk
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
typedef std::unary_function< TrkHitOnTrk, bool > predicate_type
Protected Attributes inherited from TrkHitOnTrk
TrkRep_parentRep
TrkFundHit_theHit
bool _isActive
int _isUsable
double _hitRms
double _trkLen
double _hitLen
double _resid
const TrkDifTraj_trkTraj
TrkPoca_poca
double _tolerance

Detailed Description

Constructor & Destructor Documentation

◆ MdcHitOnTrack() [1/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit & fundHit,
const MdcHit & baseHit,
int ambig,
double fittime )

Definition at line 47 of file MdcHitOnTrack.cxx.

49 : TrkHitOnTrk( &fundHit, 10.e-4 )
50 , _ambig( ambig )
51 , _hitTraj( baseHit.hitTraj() )
52 , _fitTime( baseHit.rawTime() - t0 * 1e-9 )
53 , _dHit( &baseHit ) {
54 // need to flag somehow that that we haven't computed things yet...
55 // now, we know that _drift[0] is for ambig <0, and _drift[1] is ambig >0
56 // and _drift is signed according to ambig. Thus _drift[0] should be -tive
57 // and _drift[1] should be +tive. To indicate this are not yet initialized,
58 // put 'impossible' values here...
59 _drift[0] = +9999;
60 _drift[1] = -9999;
61 setHitResid( -21212121.0 );
62 setHitRms( 0.02 );
63 setHitLen( 0.5 * baseHit.layer()->zLength() );
64 setFltLen( 0. );
65 _startLen = hitTraj()->lowRange() - 5.;
66 _endLen = hitTraj()->hiRange() + 5.;
67}
virtual const Trajectory * hitTraj() const
TrkHitOnTrk(const TrkFundHit *, double tolerance)

Referenced by MdcHitOnTrack(), MdcHitOnTrack(), mdcHitOnTrack(), MdcRecoHitOnTrack::MdcRecoHitOnTrack(), and MdcRecoHitOnTrack::MdcRecoHitOnTrack().

◆ ~MdcHitOnTrack() [1/3]

MdcHitOnTrack::~MdcHitOnTrack ( )
virtual

Definition at line 108 of file MdcHitOnTrack.cxx.

108{}

◆ MdcHitOnTrack() [2/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit * baseHit,
int ambig,
double fittime,
int layer,
int wire )
protected

◆ MdcHitOnTrack() [3/9]

MdcHitOnTrack::MdcHitOnTrack ( const MdcHitOnTrack & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj,
const MdcHit * hb = 0 )
protected

Definition at line 95 of file MdcHitOnTrack.cxx.

97 : TrkHitOnTrk( hot, newRep, trkTraj ) {
98 _ambig = hot._ambig;
99 _hitTraj = hot._hitTraj;
100 _fitTime = hot._fitTime;
101 _drift[0] = hot._drift[0];
102 _drift[1] = hot._drift[1];
103 _startLen = hot._startLen;
104 _endLen = hot._endLen;
105 _dHit = ( hb == 0 ? hot._dHit : hb );
106}

◆ MdcHitOnTrack() [4/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit & fundHit,
const MdcHit & baseHit,
int ambig,
double fittime )

◆ ~MdcHitOnTrack() [2/3]

virtual MdcHitOnTrack::~MdcHitOnTrack ( )
virtual

◆ MdcHitOnTrack() [5/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit * baseHit,
int ambig,
double fittime,
int layer,
int wire )
protected

◆ MdcHitOnTrack() [6/9]

MdcHitOnTrack::MdcHitOnTrack ( const MdcHitOnTrack & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj,
const MdcHit * hb = 0 )
protected

◆ MdcHitOnTrack() [7/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit & fundHit,
const MdcHit & baseHit,
int ambig,
double fittime )

◆ ~MdcHitOnTrack() [3/3]

virtual MdcHitOnTrack::~MdcHitOnTrack ( )
virtual

◆ MdcHitOnTrack() [8/9]

MdcHitOnTrack::MdcHitOnTrack ( const TrkFundHit * baseHit,
int ambig,
double fittime,
int layer,
int wire )
protected

◆ MdcHitOnTrack() [9/9]

MdcHitOnTrack::MdcHitOnTrack ( const MdcHitOnTrack & hitToBeCopied,
TrkRep * newRep,
const TrkDifTraj * trkTraj,
const MdcHit * hb = 0 )
protected

Member Function Documentation

◆ ambig() [1/3]

int MdcHitOnTrack::ambig ( ) const
inlinevirtual

◆ ambig() [2/3]

int MdcHitOnTrack::ambig ( ) const
inlinevirtual

Reimplemented from TrkHitOnTrk.

Definition at line 65 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

65{ return _ambig; } // wire wrt track direction

◆ ambig() [3/3]

int MdcHitOnTrack::ambig ( ) const
inlinevirtual

Reimplemented from TrkHitOnTrk.

Definition at line 65 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

65{ return _ambig; } // wire wrt track direction

◆ baseHit() [1/3]

const MdcHit * MdcHitOnTrack::baseHit ( ) const
inlineprotected

◆ baseHit() [2/3]

const MdcHit * MdcHitOnTrack::baseHit ( ) const
inlineprotected

Definition at line 120 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

120{ return _dHit; }

◆ baseHit() [3/3]

const MdcHit * MdcHitOnTrack::baseHit ( ) const
inlineprotected

Definition at line 120 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

120{ return _dHit; }

◆ changeBase() [1/3]

void MdcHitOnTrack::changeBase ( MdcHit * newBase)
protected

Definition at line 346 of file MdcHitOnTrack.cxx.

346{ _dHit = newBase; }

◆ changeBase() [2/3]

void MdcHitOnTrack::changeBase ( MdcHit * newBase)
protected

◆ changeBase() [3/3]

void MdcHitOnTrack::changeBase ( MdcHit * newBase)
protected

◆ charge() [1/3]

double MdcHitOnTrack::charge ( ) const

Definition at line 338 of file MdcHitOnTrack.cxx.

338{ return _dHit->charge(); }

◆ charge() [2/3]

double MdcHitOnTrack::charge ( ) const

◆ charge() [3/3]

double MdcHitOnTrack::charge ( ) const

◆ dcaToWire() [1/3]

double MdcHitOnTrack::dcaToWire ( ) const

Definition at line 112 of file MdcHitOnTrack.cxx.

112 {
113 double dca = -9999.;
114 if ( getParentRep() == 0 )
115 {
116 // cout << "no parent rep" << endl;
117 return dca;
118 }
119 // WARNING: cannot use the internal _poca, as it lags one iteration
120 // behind the fit... therfore use _EXTERNAL_ residual
121 if ( isActive() )
122 { // FIXME: currently can only use 'resid()' if isActive..
123 dca = resid() + drift();
124 }
125 else
126 {
127 TrkPoca poca( getParentRep()->traj(), fltLen(), *hitTraj(), hitLen(), _tolerance );
128 if ( poca.status().success() ) dca = poca.doca();
129 }
130 return dca;
131}
double resid(bool exclude=false) const

Referenced by MdcTrkRecon::fillTrackList(), MdcTrack::storeTrack(), and timeResid().

◆ dcaToWire() [2/3]

double MdcHitOnTrack::dcaToWire ( ) const

◆ dcaToWire() [3/3]

double MdcHitOnTrack::dcaToWire ( ) const

◆ dipAngle() [1/3]

double MdcHitOnTrack::dipAngle ( ) const

Definition at line 209 of file MdcHitOnTrack.cxx.

209 {
210 return getParentRep() == 0
211 ? 0
212 : Constants::pi / 2 - getParentRep()->traj().direction( fltLen() ).theta();
213}
virtual Hep3Vector direction(double) const =0
virtual const TrkDifTraj & traj() const =0

◆ dipAngle() [2/3]

double MdcHitOnTrack::dipAngle ( ) const

◆ dipAngle() [3/3]

double MdcHitOnTrack::dipAngle ( ) const

◆ drift() [1/6]

double MdcHitOnTrack::drift ( ) const
inline

Definition at line 73 of file InstallArea/x86_64-el9-gcc13-dbg/include/MdcData/MdcHitOnTrack.h.

73 {
74 return _ambig != 0 ? _drift[_ambig < 0 ? 0 : 1] : ( _drift[1] - _drift[0] ) * 0.5;
75 }

Referenced by dcaToWire(), MdcTrkRecon::fillTrackList(), MdcTrack::storeTrack(), timeResid(), and updateMeasurement().

◆ drift() [2/6]

double MdcHitOnTrack::drift ( ) const
inline

Definition at line 73 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

73 {
74 return _ambig != 0 ? _drift[_ambig < 0 ? 0 : 1] : ( _drift[1] - _drift[0] ) * 0.5;
75 }

◆ drift() [3/6]

double MdcHitOnTrack::drift ( ) const
inline

Definition at line 73 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

73 {
74 return _ambig != 0 ? _drift[_ambig < 0 ? 0 : 1] : ( _drift[1] - _drift[0] ) * 0.5;
75 }

◆ drift() [4/6]

double MdcHitOnTrack::drift ( double dca) const
inline

Definition at line 76 of file InstallArea/x86_64-el9-gcc13-dbg/include/MdcData/MdcHitOnTrack.h.

76{ return _drift[dca < 0 ? 0 : 1]; }

◆ drift() [5/6]

double MdcHitOnTrack::drift ( double dca) const
inline

Definition at line 76 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

76{ return _drift[dca < 0 ? 0 : 1]; }

◆ drift() [6/6]

double MdcHitOnTrack::drift ( double dca) const
inline

Definition at line 76 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

76{ return _drift[dca < 0 ? 0 : 1]; }

◆ entranceAngle() [1/6]

double MdcHitOnTrack::entranceAngle ( ) const

Definition at line 158 of file MdcHitOnTrack.cxx.

158 {
159 static Hep3Vector dir;
160 static HepPoint3D pos;
161 if ( getParentRep() == 0 ) return 0.;
162 getParentRep()->traj().getInfo( fltLen(), pos, dir );
163
164 return entranceAngle( pos, dir );
165}
double entranceAngle() const
virtual void getInfo(double fltLen, HepPoint3D &pos, Hep3Vector &direction) const =0

Referenced by entranceAngle(), MdcTrkRecon::fillTrackList(), and MdcTrack::storeTrack().

◆ entranceAngle() [2/6]

double MdcHitOnTrack::entranceAngle ( ) const

◆ entranceAngle() [3/6]

double MdcHitOnTrack::entranceAngle ( ) const

◆ entranceAngle() [4/6]

double MdcHitOnTrack::entranceAngle ( const HepPoint3D pos,
const Hep3Vector dir ) const

Definition at line 167 of file MdcHitOnTrack.cxx.

167 {
168 double angle = EntranceAngle( dir.phi() - _dHit->phi( pos.z() ) );
169 // std::cout<< "eAngle("<<layernumber()<<","<<wire()<<") dir.phi() "<<dir.phi()*180./3.14<<"
170 // hit phi
171 // "<<_dHit->phi(pos.z())*180./3.14<<" eAngle "<<angle*180./3.14<<" degree
172 // "<<angle<<std::endl;
173
174 // std::cout<< __FILE__ << " " << __LINE__ << " ("<<layernumber()<<","<<wire()<<") "<<
175 //" phiPoca "<<dir.phi()*180/3.14<< " phiWire "<<_dHit->phi(pos.z())*180/3.14<<" z
176 //"<<pos.z()<< " dPhiz "<<_dHit->wire()->dPhizDC(pos.z())*180/3.14<< " eAngle
177 //"<<angle*180/3.14<< " angle "<<(dir.phi() - _dHit->phi(pos.z()))*180./3.14<<std::endl;
178 /*
179 if(g_tupleHit && fabs(angle)>0.0001){
180 int layer = layernumber();
181 int wireId = wire();
182 g_hitLayer = layer;
183 g_hitWire = wireId;
184
185 int lrCalib=2;
186 if (ambig()==1) lrCalib = 0;
187 else if (ambig()==-1) lrCalib = 1;
188 g_hitAmbig = lrCalib;
189 g_hitAmbigMc = haveDigiMcLr[layer][wireId];
190 g_hitEAngle = angle*180./3.14;
191 g_hitEAngleMc = haveDigiEAngle[layer][wireId]*180./3.14;
192 g_hitZ = pos.z();
193 g_hitZMc = haveDigiZ[layer][wireId];
194 g_hitDrift = _drift[ambig()];
195 g_hitDriftMc = haveDigiDrift[layer][wireId];
196 g_hitTkIdMc = haveDigiTk[layer][wireId];
197 g_hitPhiPoca = dir.phi()*180./3.41;
198 g_hitPhiHit = _dHit->phi(pos.z())*180./3.41;
199 g_hitPhiHit0 = _dHit->phi()*180./3.41;
200 g_hitPhiHitDel = _dHit->wire()->dPhiz()*180./3.41;
201 g_tupleHit->write();
202 }
203 */
204 return angle;
205}

◆ entranceAngle() [5/6]

double MdcHitOnTrack::entranceAngle ( const HepPoint3D pos,
const Hep3Vector dir ) const

◆ entranceAngle() [6/6]

double MdcHitOnTrack::entranceAngle ( const HepPoint3D pos,
const Hep3Vector dir ) const

◆ entranceAngleHit() [1/3]

double MdcHitOnTrack::entranceAngleHit ( ) const

Definition at line 149 of file MdcHitOnTrack.cxx.

149 {
150 static Hep3Vector dir;
151 static HepPoint3D pos;
152 if ( getParentRep() == 0 ) return 0.;
153 getParentRep()->traj().getInfo( fltLen(), pos, dir );
154
155 return BesAngle( dir.phi() - pos.phi() );
156}

◆ entranceAngleHit() [2/3]

double MdcHitOnTrack::entranceAngleHit ( ) const

◆ entranceAngleHit() [3/3]

double MdcHitOnTrack::entranceAngleHit ( ) const

◆ fitTime() [1/3]

double MdcHitOnTrack::fitTime ( ) const
inline

Definition at line 69 of file InstallArea/x86_64-el9-gcc13-dbg/include/MdcData/MdcHitOnTrack.h.

69{ return _fitTime; }

◆ fitTime() [2/3]

double MdcHitOnTrack::fitTime ( ) const
inline

Definition at line 69 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

69{ return _fitTime; }

◆ fitTime() [3/3]

double MdcHitOnTrack::fitTime ( ) const
inline

Definition at line 69 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

69{ return _fitTime; }

◆ hitTraj() [1/3]

const Trajectory * MdcHitOnTrack::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

Definition at line 340 of file MdcHitOnTrack.cxx.

340{ return _hitTraj; }

Referenced by dcaToWire(), and MdcHitOnTrack().

◆ hitTraj() [2/3]

virtual const Trajectory * MdcHitOnTrack::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

◆ hitTraj() [3/3]

virtual const Trajectory * MdcHitOnTrack::hitTraj ( ) const
virtual

Implements TrkHitOnTrk.

◆ isBeyondEndflange() [1/3]

bool MdcHitOnTrack::isBeyondEndflange ( ) const
inlineprotected

Definition at line 111 of file InstallArea/x86_64-el9-gcc13-dbg/include/MdcData/MdcHitOnTrack.h.

111{ return ( hitLen() < _startLen || hitLen() > _endLen ); }

Referenced by updateMeasurement().

◆ isBeyondEndflange() [2/3]

bool MdcHitOnTrack::isBeyondEndflange ( ) const
inlineprotected

Definition at line 111 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

111{ return ( hitLen() < _startLen || hitLen() > _endLen ); }

◆ isBeyondEndflange() [3/3]

bool MdcHitOnTrack::isBeyondEndflange ( ) const
inlineprotected

Definition at line 111 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

111{ return ( hitLen() < _startLen || hitLen() > _endLen ); }

◆ layer() [1/3]

const MdcLayer * MdcHitOnTrack::layer ( ) const

Definition at line 330 of file MdcHitOnTrack.cxx.

330{ return _dHit->layer(); }

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

◆ layer() [2/3]

const MdcLayer * MdcHitOnTrack::layer ( ) const

◆ layer() [3/3]

const MdcLayer * MdcHitOnTrack::layer ( ) const

◆ layerNumber() [1/3]

unsigned MdcHitOnTrack::layerNumber ( ) const
virtual

Implements TrkHitOnTrk.

Definition at line 207 of file MdcHitOnTrack.cxx.

207{ return layernumber(); }
int layernumber() const

◆ layerNumber() [2/3]

unsigned MdcHitOnTrack::layerNumber ( ) const
virtual

Implements TrkHitOnTrk.

◆ layerNumber() [3/3]

unsigned MdcHitOnTrack::layerNumber ( ) const
virtual

Implements TrkHitOnTrk.

◆ layernumber() [1/3]

int MdcHitOnTrack::layernumber ( ) const

Definition at line 328 of file MdcHitOnTrack.cxx.

328{ return _dHit->layernumber(); }

Referenced by layerNumber().

◆ layernumber() [2/3]

int MdcHitOnTrack::layernumber ( ) const

◆ layernumber() [3/3]

int MdcHitOnTrack::layernumber ( ) const

◆ mdcHit() [1/3]

const MdcHit * MdcHitOnTrack::mdcHit ( ) const
virtual

Reimplemented in MdcRecoHitOnTrack, MdcRecoHitOnTrack, and MdcRecoHitOnTrack.

Definition at line 342 of file MdcHitOnTrack.cxx.

342{ return 0; }

Referenced by MdcTrackList::dropMultiHotInLayer(), and wireAmbig().

◆ mdcHit() [2/3]

virtual const MdcHit * MdcHitOnTrack::mdcHit ( ) const
virtual

◆ mdcHit() [3/3]

virtual const MdcHit * MdcHitOnTrack::mdcHit ( ) const
virtual

◆ mdcHitOnTrack() [1/3]

const MdcHitOnTrack * MdcHitOnTrack::mdcHitOnTrack ( ) const
virtual

Reimplemented from TrkHitOnTrk.

Definition at line 147 of file MdcHitOnTrack.cxx.

147{ return this; }

◆ mdcHitOnTrack() [2/3]

virtual const MdcHitOnTrack * MdcHitOnTrack::mdcHitOnTrack ( ) const
virtual

Reimplemented from TrkHitOnTrk.

◆ mdcHitOnTrack() [3/3]

virtual const MdcHitOnTrack * MdcHitOnTrack::mdcHitOnTrack ( ) const
virtual

Reimplemented from TrkHitOnTrk.

◆ rawTime() [1/3]

double MdcHitOnTrack::rawTime ( ) const

Definition at line 336 of file MdcHitOnTrack.cxx.

336{ return _dHit->rawTime(); }

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

◆ rawTime() [2/3]

double MdcHitOnTrack::rawTime ( ) const

◆ rawTime() [3/3]

double MdcHitOnTrack::rawTime ( ) const

◆ setAmbig() [1/3]

void MdcHitOnTrack::setAmbig ( int a)
inlinevirtual

Reimplemented from TrkHitOnTrk.

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-dbg/include/MdcData/MdcHitOnTrack.h.

103{ _ambig = a < 0 ? -1 : a > 0 ? 1 : 0; }

Referenced by updateAmbiguity().

◆ setAmbig() [2/3]

void MdcHitOnTrack::setAmbig ( int a)
inlinevirtual

Reimplemented from TrkHitOnTrk.

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-opt/include/MdcData/MdcHitOnTrack.h.

103{ _ambig = a < 0 ? -1 : a > 0 ? 1 : 0; }

◆ setAmbig() [3/3]

void MdcHitOnTrack::setAmbig ( int a)
inlinevirtual

Reimplemented from TrkHitOnTrk.

Definition at line 103 of file Reconstruction/MdcPatRec/MdcData/include/MdcData/MdcHitOnTrack.h.

103{ _ambig = a < 0 ? -1 : a > 0 ? 1 : 0; }

◆ setT0() [1/3]

void MdcHitOnTrack::setT0 ( double t0)

Definition at line 110 of file MdcHitOnTrack.cxx.

110{ _fitTime = _dHit->rawTime() - t0 * 1e-9; }

◆ setT0() [2/3]

void MdcHitOnTrack::setT0 ( double t0)

◆ setT0() [3/3]

void MdcHitOnTrack::setT0 ( double t0)

◆ status() [1/3]

virtual unsigned MdcHitOnTrack::status ( ) const
pure virtual

◆ status() [2/3]

virtual unsigned MdcHitOnTrack::status ( ) const
pure virtual

◆ status() [3/3]

virtual unsigned MdcHitOnTrack::status ( ) const
pure virtual

◆ tdcIndex() [1/3]

virtual unsigned MdcHitOnTrack::tdcIndex ( ) const
pure virtual

◆ tdcIndex() [2/3]

virtual unsigned MdcHitOnTrack::tdcIndex ( ) const
pure virtual

◆ tdcIndex() [3/3]

virtual unsigned MdcHitOnTrack::tdcIndex ( ) const
pure virtual

◆ timeAbsolute() [1/3]

bool MdcHitOnTrack::timeAbsolute ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

Definition at line 315 of file MdcHitOnTrack.cxx.

315 {
316 double tresid( -1.0 );
317 if ( timeResid( tresid, tErr ) )
318 {
319 // add back the track time
320 t = tresid + getParentRep()->parentTrack()->trackT0();
321 return true;
322 }
323 else return false;
324}
virtual bool timeResid(double &t, double &tErr) const
double trackT0() const
int t()
Definition t.c:1

◆ timeAbsolute() [2/3]

virtual bool MdcHitOnTrack::timeAbsolute ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

◆ timeAbsolute() [3/3]

virtual bool MdcHitOnTrack::timeAbsolute ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

◆ timeResid() [1/3]

bool MdcHitOnTrack::timeResid ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

Definition at line 307 of file MdcHitOnTrack.cxx.

307 {
308 double v = driftVelocity();
309 if ( v <= 0 ) return false;
310 t = ( fabs( drift() ) - fabs( dcaToWire() ) ) / v;
311 tErr = hitRms() / v;
312 return true;
313}
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35
double dcaToWire() const

Referenced by timeAbsolute().

◆ timeResid() [2/3]

virtual bool MdcHitOnTrack::timeResid ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

◆ timeResid() [3/3]

virtual bool MdcHitOnTrack::timeResid ( double & t,
double & tErr ) const
virtual

Implements TrkHitOnTrk.

◆ updateAmbiguity() [1/3]

bool MdcHitOnTrack::updateAmbiguity ( double dca)
protected

Definition at line 133 of file MdcHitOnTrack.cxx.

133 {
134 if ( dca < 0 && ambig() >= 0 )
135 {
136 setAmbig( -1 );
137 return isActive();
138 }
139 else if ( dca > 0 && ambig() <= 0 )
140 {
141 setAmbig( 1 );
142 return isActive();
143 }
144 else { return false; }
145}

Referenced by updateMeasurement().

◆ updateAmbiguity() [2/3]

bool MdcHitOnTrack::updateAmbiguity ( double dca)
protected

◆ updateAmbiguity() [3/3]

bool MdcHitOnTrack::updateAmbiguity ( double dca)
protected

◆ updateMeasurement() [1/3]

TrkErrCode MdcHitOnTrack::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

Definition at line 215 of file MdcHitOnTrack.cxx.

215 {
216 TrkErrCode status = updatePoca( traj, maintainAmb );
217 if ( status.failure() )
218 {
219#ifdef MDCPATREC_DEBUG
220 std::cout << " ErrMsg(warning) "
221 << "MdcHitOnTrack::updateMeasurement failed " << status << std::endl;
222#endif
223 return status;
224 }
225 assert( _poca != 0 );
226 double dca = _poca->doca();
227 bool forceIteration = ( maintainAmb && ambig() != 0 ) ? false : updateAmbiguity( dca );
228 // std::cout<< __FILE__ << " " << __LINE__ << " maintainAmb "<< maintainAmb
229 //<< " maintain&& ambig "<<(maintainAmb&&ambig()!=0)
230 //<< " forceIteration "<<forceIteration<<std::endl;
231 assert( ambig() != 0 );
232 // Check for hits beyond end plates. !!Turn off hit if it is == temp. hack
233 if ( isBeyondEndflange() ) setUsability( false );
234 if ( forceIteration || !driftCurrent() )
235 {
236 updateCorrections(); // force recomputation of drift for current ambig(), setting of hitRms
237 forceIteration = true;
238 }
239 setHitResid( dca - drift() );
240 return !forceIteration ? status : TrkErrCode( TrkErrCode::succeed, 11, "Ambiguity flipped" );
241}
bool updateAmbiguity(double dca)
virtual unsigned status() const =0
TrkErrCode updatePoca(const TrkDifTraj *trkTraj, bool maintainAmbiguity)
void setUsability(int usability)

◆ updateMeasurement() [2/3]

virtual TrkErrCode MdcHitOnTrack::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

◆ updateMeasurement() [3/3]

virtual TrkErrCode MdcHitOnTrack::updateMeasurement ( const TrkDifTraj * traj,
bool maintainAmbiguity )
protectedvirtual

Implements TrkHitOnTrk.

◆ whatView() [1/3]

TrkEnums::TrkViewInfo MdcHitOnTrack::whatView ( ) const
virtual

Implements TrkHitOnTrk.

Definition at line 326 of file MdcHitOnTrack.cxx.

326{ return _dHit->whatView(); }

◆ whatView() [2/3]

TrkEnums::TrkViewInfo MdcHitOnTrack::whatView ( ) const
virtual

Implements TrkHitOnTrk.

◆ whatView() [3/3]

TrkEnums::TrkViewInfo MdcHitOnTrack::whatView ( ) const
virtual

Implements TrkHitOnTrk.

◆ whichView() [1/3]

int MdcHitOnTrack::whichView ( ) const

Definition at line 334 of file MdcHitOnTrack.cxx.

334{ return _dHit->whichView(); }

◆ whichView() [2/3]

int MdcHitOnTrack::whichView ( ) const

◆ whichView() [3/3]

int MdcHitOnTrack::whichView ( ) const

◆ wire() [1/3]

int MdcHitOnTrack::wire ( ) const

Definition at line 332 of file MdcHitOnTrack.cxx.

332{ return _dHit->wirenumber(); }

Referenced by MdcHitOnTrack().

◆ wire() [2/3]

int MdcHitOnTrack::wire ( ) const

◆ wire() [3/3]

int MdcHitOnTrack::wire ( ) const

◆ wireAmbig() [1/3]

int MdcHitOnTrack::wireAmbig ( ) const

Definition at line 359 of file MdcHitOnTrack.cxx.

359 {
360 // hit wrt the wire location
361
362 // return fabs(entranceAngle())<Constants::pi/2?ambig():-ambig();
363 const TrkRep* tkRep = getParentRep();
364 static Hep3Vector dir;
365 static HepPoint3D pos;
366 if ( getParentRep() == 0 ) return 0.;
367 getParentRep()->traj().getInfo( fltLen(), pos, dir );
368
369 double wireAmb = ambig();
370 if ( mdcHit()->isCosmicFit() )
371 {
372 HepPoint3D poca = tkRep->position( 0. );
373 if ( pos.y() > poca.y() )
374 {
375 wireAmb = -1. * _ambig; // yzhang 2012-07-17
376 // std::cout<<"MdcHitOnTrack CosmicFit up ambig *-1"<<std::endl;
377 }
378 }
379
380 return wireAmb;
381}
virtual const MdcHit * mdcHit() const
virtual HepPoint3D position(double fltL) const
Definition TrkRep.cxx:154

Referenced by MdcTrkRecon::fillTrackList(), and MdcTrack::storeTrack().

◆ wireAmbig() [2/3]

int MdcHitOnTrack::wireAmbig ( ) const

◆ wireAmbig() [3/3]

int MdcHitOnTrack::wireAmbig ( ) const

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