16#ifdef TRKRECO_DEBUG_DETAIL
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;
150 std::string
name(
void )
const;
153 void dump(
const std::string& message = std::string(
"" ),
154 const std::string& prefix = std::string(
"" ) )
const;
167 unsigned state(
unsigned newState );
194#ifdef TMDCWire_NO_INLINE
198# define TMDCWire_INLINE_DEFINE_HERE
201#ifdef TMDCWire_INLINE_DEFINE_HERE
203inline unsigned TMDCWire::id(
void )
const {
return _id; }
249 p[0] = _backwardPosition.x();
250 p[1] = _backwardPosition.y();
251 p[2] = _backwardPosition.z();
258 a[0] = _xyPosition.x();
259 a[1] = _xyPosition.y();
271 return _layer->axialStereoLayerId();
275 if ( _layerId < 14 )
return true;
280 if ( _layerId > 13 )
return true;
285 if ( _layer ) {
return _layer->cellSize(); }
289 std::cout <<
"TMDCWire::cellSize !!! can't return cell size";
290 std::cout <<
" because no pointer to a layer" << std::endl;
298 else if (
neighbor( 3 ) == &
w )
return true;
303 for (
unsigned i = 0; i < 6; i++ )
310 return std::to_string( _layerId ) + std::string(
"-" ) + std::to_string( _localId );
311 return std::to_string( _layerId ) + std::string(
"=" ) + std::to_string( _localId );
HepGeom::Vector3D< double > HepVector3D
HepGeom::Point3D< double > HepPoint3D
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
A class to represent a wire 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.
const HepPoint3D xyPosition(double z) const
void clear(void)
clears information.
unsigned id(void) const
returns id.
bool adjacent(const TMDCWire &) const
returns true if a given wire is adjacent.
unsigned state(unsigned newState)
sets state.
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 TMDCWireHitMC *const hit(TMDCWireHitMC *const)
appends a pointer to TMDCWireHitMC.
const TMDCLayer *const layer(void) const
returns a pointer to a layer.
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.
virtual ~TMDCWire()
Destructor.
double * xyPosition(double p[3]) const
TMDCTsf * tsf(TMDCTsf *)
sets a pointer of TMDCTsf.
double * backwardPosition(double p[3]) const
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.
TMDCWire(const MdcGeoWire *, TMDCLayer *)
Constructor.
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.
const TMDCWireHit *const hit(const TMDCWireHit *const)
sets a pointer to TMDCWireHit.
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.