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
61#include "CLHEP/Alist/AList.h"
62#ifndef CLHEP_POINT3D_H
63# include "CLHEP/Geometry/Point3D.h"
65#ifndef ENABLE_BACKWARDS_COMPATIBILITY
75#include "MdcTables/MdcTables.h"
76#include "TrkReco/TMDCWire.h"
78#include "TrkReco/TMDCWireHitMC.h"
92 void dump(
const std::string& message = std::string(
"" ),
93 const std::string& prefix = std::string(
"" ) )
const;
136 unsigned state(
unsigned newState );
139 unsigned state(
unsigned newState )
const;
154 mutable unsigned _state;
156 float _driftError[2];
160 mutable const TTrack* _track;
162 mutable unsigned _sequentialLength;
203#ifdef TMDCWireHit_NO_INLINE
207# define TMDCWireHit_INLINE_DEFINE_HERE
210#ifdef TMDCWireHit_INLINE_DEFINE_HERE
219 if ( i )
return _drift[1];
224 if ( i )
return _driftError[1];
225 return _driftError[0];
228inline float TMDCWireHit::drift(
void )
const {
return ( _drift[0] + _drift[1] ) / 2.; }
231 return ( _driftError[0] + _driftError[1] ) / 2.;
HepGeom::Point3D< double > HepPoint3D
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.
unsigned state(unsigned newState)
sets state. Meaning of bits are written below.
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.
const TTrack *const track(void) const
assigns a pointer to a TTrack.
float dDrift(unsigned) const
returns drift distance error.
unsigned sequence(unsigned) const
sets sequential length in one segment : this parameter is used in TCurlFinder now.
float drift(unsigned) const
returns drift distance.
const TMDCWireHitMC *const mc(TMDCWireHitMC *)
sets a pointer to TMDCWireHitMC.
unsigned state(unsigned newState) const
sets state. Meaning of bits are written below. (tmp)
virtual ~TMDCWireHit()
Destructor.
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 TTrack *const track(const TTrack *)
assigns a pointer to a TTrack.
const TMDCWireHitMC *const mc(void) const
returns a pointer to TMDCWireHitMC.
TMDCWireHit(TMDCWire *, MdcRec_wirhit *, float fudgeFactor)
Constructor.
const TTrack *const track(const TTrack *) const
assigns a pointer to a TTrack. (tmp)
A class to represent a wire in MDC.
A class to represent a track in tracking.