13#ifndef TMDCWireHit_FLAG_
14#define TMDCWireHit_FLAG_
16#ifdef TRKRECO_DEBUG_DETAIL
26#define WireHitTimeValid 1048576
27#define WireHitChargeValid 2097152
28#define WireHitFindingValid 4194304
29#define WireHitFittingValid 0x40000000
31#define WireHitStereo 48
33#define WireHitPatternLeft 256
34#define WireHitPatternRight 512
35#define WireHitIsolated 1024
36#define WireHitContinuous 2048
37#define WireHitNeighborHit 12
38#define WireHitNeighborPattern 258048
39#define WireHitNeighborHit0 4096
40#define WireHitNeighborHit1 8192
41#define WireHitNeighborHit2 16384
42#define WireHitNeighborHit3 32768
43#define WireHitNeighborHit4 65536
44#define WireHitNeighborHit5 131072
46#define WireHitLocked 128
48#define WireHitLeftMask 1
49#define WireHitRightMask 2
50#define WireHitMultiTrack 8388608
51#define WireHitConformalFinder 16777216
52#define WireHitCurlFinder 33554432
53#define WireHitClustFinder 67108864
54#define WireHitTrackManager 134217728
55#define WireHitInvalidForFit 268435456
56#define WireHitFastFinder 536870912
60#define HEP_SHORT_NAMES
61#include "CLHEP/Alist/AList.h"
62#ifndef CLHEP_POINT3D_H
63#include "CLHEP/Geometry/Point3D.h"
65#ifndef ENABLE_BACKWARDS_COMPATIBILITY
92 void dump(
const std::string & message = std::string(
""),
93 const std::string & prefix = std::string(
""))
const;
102 unsigned state(
void)
const;
105 float drift(
unsigned)
const;
108 float dDrift(
unsigned)
const;
111 float drift(
void)
const;
140 unsigned state(
unsigned newState);
143 unsigned state(
unsigned newState)
const;
158 mutable unsigned _state;
160 float _driftError[2];
164 mutable const TTrack * _track;
166 mutable unsigned _sequentialLength;
207#ifdef TMDCWireHit_NO_INLINE
211#define TMDCWireHit_INLINE_DEFINE_HERE
214#ifdef TMDCWireHit_INLINE_DEFINE_HERE
237 if (i)
return _drift[1];
244 if (i)
return _driftError[1];
245 return _driftError[0];
251 return (_drift[0] + _drift[1]) / 2.;
257 return (_driftError[0] + _driftError[1]) / 2.;
311 return _sequentialLength;
317 return _sequentialLength = a;
HepGeom::Point3D< double > HepPoint3D
A class to represent a MC wire hit in MDC.
HepPoint3D position(unsigned) const
returns left position. z is always zero.
float drift(void) const
returns drift distance.
float dDrift(void) const
returns drift distance error.
struct MdcRec_wirhit * reccdc(void) const
returns a pointer to RECMDC_WIRHIT.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
unsigned state(void) const
returns state.
virtual ~TMDCWireHit()
Destructor.
const TTrack *const track(void) const
assigns a pointer to a TTrack.
const TMDCWire *const wire(void) const
returns a pointer to a TMDCWire.
const HepPoint3D & xyPosition(void) const
returns drift time
unsigned sequence(void) const
returns sequential Length in one segment : this parameter is used in TCurlFinder now.
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.
A class to represent a track in tracking.