16#ifdef TRKRECO_DEBUG_DETAIL
25#define HEP_SHORT_NAMES
26#include "CLHEP/Alist/AList.h"
27#include "TrkReco/TUpdater.h"
29#ifndef CLHEP_POINT3D_H
30#include "CLHEP/Geometry/Point3D.h"
32#ifndef ENABLE_BACKWARDS_COMPATIBILITY
74 std::string
name(
void)
const;
77 std::string
version(
void)
const;
83 void dump(
const std::string & message)
const;
99 void update(
bool mcAnalysis =
true);
146 unsigned nWires(
void)
const;
151 static std::string
wireName(
unsigned wireId);
158 static unsigned layerId(
unsigned wireId);
163 static unsigned localId(
unsigned wireId);
187 static float phi(
float phi);
192 unsigned correctionFlag = 0,
193 float T0Offset = 0.);
208 const std::string _cdcVersion;
210 const unsigned _nWires;
211 const unsigned _nSuperLayers;
212 const unsigned _nLayers;
232#define TMDC_INLINE_DEFINE_HERE
235#ifdef TMDC_INLINE_DEFINE_HERE
246 return _debugLevel = a;
272 return _superLayers[id];
284 static const float pi2 = 2. *
M_PI;
285 a = std::fmod(a, pi2);
286 if (a < 0.)
return a + pi2;
299 return _fudgeFactor = a;
305 return std::string(_cdcVersion);
317 return _nSuperLayers;
HepGeom::Point3D< double > HepPoint3D
A class to represent a wire layer.
A class to represent a MC wire hit in MDC.
A class to represent a wire in MDC.
void fastClear(void)
clears TMDC information.
static unsigned localId(unsigned wireId)
float fudgeFactor(void) const
returns fudge factor for drift time error.
static unsigned axialStereoLayerId(const MdcGeoLayer *const)
unsigned nLocalLayer(unsigned superLayerId) const
returns # of wire layers in a super layer. 0 will be returned if 'superLayerId' is invalid.
const TMDCWire *const wire(unsigned wireId) const
returns a pointer to a wire. 0 will be returned if 'wireId' is invalid.
void updateMC(void)
updates TMDC information for MC.
static void driftDistance(TMLink &link, const TTrack &track, unsigned correctionFlag=0, float T0Offset=0.)
calculates corrected drift time. correctionFlag(bit 0:tof, 1:T0 offset, 2:propagation delay,...
std::string cdcVersion(void) const
returns MDC version.
static unsigned superLayerId(unsigned wireId)
unsigned nLayers(void) const
std::string name(void) const
returns name.
static unsigned layerId(unsigned wireId)
const AList< TMDCWireHit > & hits(unsigned mask=0) const
returns a list of TMDCWireHit. 'update()' must be called before calling this function.
static TMDC * getTMDC(void)
const AList< TMDCWireHit > & axialHits(unsigned mask=0) const
returns a list of axial hits. 'update()' must be called before calling this function.
unsigned nWires(void) const
const TMDCLayer *const layer(unsigned id) const
returns a pointer to a layer. 0 will be returned if 'id' is invalid.
static std::string wireName(unsigned wireId)
std::string version(void) const
returns version.
static float phi(float phi)
const AList< TMDCWireHit > & badHits(void)
returns bad hits(finding invalid hits).
const AList< TMDCWireHit > & stereoHits(unsigned mask=0) const
returns a list of stereo hits. 'update()' must be called before calling this function.
static unsigned localLayerId(unsigned wireId)
void dump(const std::string &message) const
dumps debug information.
int debugLevel(void) const
returns debug level.
const AList< TMDCLayer > *const superLayer(unsigned id) const
returns a pointer to a super-layer. 0 will be returned if 'id' is invalid.
const AList< TMDCWireHitMC > & hitsMC(void) const
returns a list of TMDCWireHitMC. 'updateMC()' must be called before calling this function.
void clear(void)
clears all TMDC information.
unsigned nSuperLayers(void) const
void classification(void)
classify hits.
A class to relate TMDCWireHit and TTrack objects.
A class to represent a track in tracking.
A class to handle update timing of static objects of tracking.
virtual void update(void)
updates an object.