13#define TMDCWireHit_INLINE_DEFINE_HERE
15#include "TrkReco/TMDCWireHit.h"
16#include "TrkReco/TMDCUtil.h"
17#include "TrkReco/TMDCWire.h"
18#include "TrkReco/TMDCWireHitMC.h"
19#include "TrkReco/TTrackHEP.h"
23#include "MdcTables/MdcTables.h"
54 _driftError[0] = r->
erddl * fudgeFactor;
55 _driftError[1] = r->
erddr * fudgeFactor;
64 std::cout << _wire->name();
65 if ( msg.find(
"state" ) != std::string::npos || msg.find(
"detail" ) != std::string::npos )
67 std::cout <<
",state ";
69 if (
track() ) std::cout <<
",trk ";
71 if ( msg.find(
"drift" ) != std::string::npos || msg.find(
"detail" ) != std::string::npos )
75 std::cout <<
" layer " << _wire->layerId() <<
" cell " << _wire->localId();
76 std::cout <<
",dl " << _drift[0] <<
"+-" << _driftError[0];
77 std::cout <<
",dr " << _drift[1] <<
"+-" << _driftError[1];
79 if ( msg.find(
"mc" ) != std::string::npos || msg.find(
"detail" ) != std::string::npos )
84 if (
mc()->hep() ) std::cout <<
mc()->
hep()->
id();
85 else std::cout <<
"0";
87 else { std::cout <<
"0"; }
89 std::cout << std::endl;
96 {
return _xyPosition - _drift[
WireHitLeft] * myHepZHat.cross( _xyPosition.unit() ); }
99 else {
return _xyPosition + _drift[
WireHitRight] * myHepZHat.cross( _xyPosition.unit() ); }
void bitDisplay(unsigned)
HepGeom::Point3D< double > HepPoint3D
const TTrackHEP *const hep(void) const
returns a pointer to a GEN_HEPEVT.
HepPoint3D position(unsigned) const
returns left position. z is always zero.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
virtual ~TMDCWireHit()
Destructor.
const TTrack *const track(void) const
assigns a pointer to a TTrack.
const HepPoint3D & xyPosition(void) const
returns drift time
const TMDCWireHitMC *const mc(void) const
returns a pointer to TMDCWireHitMC.
TMDCWireHit(TMDCWire *, MdcRec_wirhit *, float fudgeFactor)
Constructor.
A class to represent a wire in MDC.
unsigned id(void) const
returns an id started from 0.