16#ifdef TRKRECO_DEBUG_DETAIL
23#include "CLHEP/String/Strings.h"
25#define HEP_SHORT_NAMES
26#include "CLHEP/Geometry/Vector3D.h"
27#ifndef ENABLE_BACKWARDS_COMPATIBILITY
31#ifndef CLHEP_POINT3D_H
32#include "CLHEP/Geometry/Point3D.h"
34#ifndef ENABLE_BACKWARDS_COMPATIBILITY
38#include "TrkReco/TMDCLayer.h"
40#define WireInnerLeft 0
41#define WireInnerRight 1
44#define WireOuterLeft 4
45#define WireOuterRight 5
66 unsigned id(
void)
const;
96 unsigned state(
void)
const;
99 bool axial(
void)
const;
131 const double &
tension(
void)
const;
152 std::string
name(
void)
const;
155 void dump(
const std::string & message = std::string(
""),
156 const std::string & prefix = std::string(
""))
const;
169 unsigned state(
unsigned newState);
196#ifdef TMDCWire_NO_INLINE
200#define TMDCWire_INLINE_DEFINE_HERE
203#ifdef TMDCWire_INLINE_DEFINE_HERE
301 return _forwardPosition;
307 return _backwardPosition;
319 p[0] = _backwardPosition.x();
320 p[1] = _backwardPosition.y();
321 p[2] = _backwardPosition.z();
334 a[0] = _xyPosition.x();
335 a[1] = _xyPosition.y();
349 return _layer->
axial();
367 if (_layerId < 14)
return true;
374 if (_layerId > 13)
return true;
386 std::cout <<
"TMDCWire::cellSize !!! can't return cell size";
387 std::cout <<
" because no pointer to a layer" << std::endl;
397 else if (
neighbor(3) == &
w)
return true;
404 for (
unsigned i = 0; i < 6; i++)
414 return itostring(_layerId) + std::string(
"-") + itostring(_localId);
415 return itostring(_layerId) + std::string(
"=") + itostring(_localId);
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
A class to represent a wire layer.
unsigned superLayerId(void) const
returns super layer id.
float cellSize(void) const
returns cell size.
bool stereo(void) const
returns true if this is a stereo layer.
unsigned localLayerId(void) const
returns local layer id in a super layer.
unsigned axialStereoLayerId(void) const
returns id of axial or stereo id.
bool axial(void) const
returns true if this is an axial layer.
A class to represent a Track Finder Segment(TSF).
A class to represent a MC wire hit in MDC.
A class to represent a wire in MDC.
float cellSize(void) const
returns cell size in phi.
void clear(void)
clears information.
unsigned id(void) const
returns id.
bool adjacent(const TMDCWire &) const
returns true if a given wire is adjacent.
bool consective(const TMDCWire &) const
returns true if a given wire is consective in a layer.
bool axial(void) const
returns true if this wire is in an axial layer.
unsigned localLayerId(void) const
returns local layer id in a super layer.
const TMDCWireHit *const hit(void) const
returns a pointer to a TMDCWireHit.
const TMDCLayer *const layer(void) const
returns a pointer to a layer.
virtual ~TMDCWire()
Destructor.
unsigned axialStereoLayerId(void) const
returns id of axial or stereo id.
bool innerPart(void) const
returns true if this wire is in the inner part.
unsigned localId(void) const
returns local id in a wire layer.
unsigned layerId(void) const
returns layer id.
const HepVector3D & direction(void) const
returns direction vector of the wire.
const HepPoint3D & xyPosition(void) const
returns middle position of a wire. z componet is 0.
unsigned superLayerId(void) const
returns super layer id.
const TMDCWire *const neighbor(unsigned) const
returns a pointer to a neighbor wire.
bool mainPart(void) const
returns true if this wire is in the main part.
int localIdForMinus(void) const
returns localId but if 0, return maxLocalId + 1.
const HepPoint3D & forwardPosition(void) const
returns position in forward endplate.
int localIdDifference(const TMDCWire &) const
returns local id difference.
const HepPoint3D & backwardPosition(void) const
returns position in backward endplate.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
const TMDCTsf *const tsf(void) const
returns a pointer to a TMDCTsf.
unsigned state(void) const
returns state.
const double & tension(void) const
const MdcGeoWire * geocdc(void) const
returns a pointer to GEOMDC_WIR.
bool stereo(void) const
returns true if this wire is in a stereo layer.
int localIdForPlus(void) const
returns localId but if maxLocalId, return -1.
std::string name(void) const
returns name.
void wirePosition(float zPosition, HepPoint3D &xyPosition, HepPoint3D &backwardPosition, HepVector3D &direction) const
calculates position and direction vector with sag correction.