FairRoot/PandaRoot
Public Member Functions | Protected Attributes | List of all members
genfit::WireMeasurementNew Class Reference

Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...

#include <WireMeasurementNew.h>

Inheritance diagram for genfit::WireMeasurementNew:
genfit::AbsMeasurement

Public Member Functions

 WireMeasurementNew ()
 
 WireMeasurementNew (double driftDistance, double driftDistanceError, const TVector3 &endPoint1, const TVector3 &endPoint2, int detId, int hitId, TrackPoint *trackPoint)
 
virtual ~WireMeasurementNew ()
 
virtual WireMeasurementNewclone () const
 Deep copy ctor for polymorphic class. More...
 
virtual SharedPlanePtr constructPlane (const StateOnPlane &state) const
 
virtual std::vector
< MeasurementOnPlane * > 
constructMeasurementsOnPlane (const StateOnPlane &state) const
 
virtual const AbsHMatrixconstructHMatrix (const AbsTrackRep *) const
 
void setWireEndPoints (const TVector3 &endPoint1, const TVector3 &endPoint2)
 
void setMaxDistance (double d)
 
void setLeftRightResolution (int lr)
 
virtual bool isLeftRigthMeasurement () const
 
double getMaxDistance ()
 
int getLeftRightResolution () const
 
TrackPointgetTrackPoint () const
 
void setTrackPoint (TrackPoint *tp)
 
const TVectorD & getRawHitCoords () const
 
TVectorD & getRawHitCoords ()
 
const TMatrixDSym & getRawHitCov () const
 
TMatrixDSym & getRawHitCov ()
 
int getDetId () const
 
int getHitId () const
 
virtual bool isLeftRightMeasurement () const
 If the AbsMeasurement is a wire hit, the left/right resolution will be used. More...
 
unsigned int getDim () const
 
void setRawHitCoords (const TVectorD &coords)
 
void setRawHitCov (const TMatrixDSym &cov)
 
void setDetId (int detId)
 
void setHitId (int hitId)
 
virtual void Print (const Option_t *="") const
 

Protected Attributes

double wireEndPoint1_ [3]
 
double wireEndPoint2_ [3]
 Wire end point 1 (X, Y, Z) More...
 
double maxDistance_
 Wire end point 2 (X, Y, Z) More...
 
double leftRight_
 
TVectorD rawHitCoords_
 
TMatrixDSym rawHitCov_
 
int detId_
 
int hitId_
 
TrackPointtrackPoint_
 Pointer to TrackPoint where the measurement belongs to. More...
 

Detailed Description

Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire.

Author
Tobias Schlüter

This is similar to WireMeasurement, but since WireMeasurement stores a 7x7 covariance matrix for what is a one-dimensional measurement, this class is preferable. Protected inheritance of rawHitCoords_ and rawHitCov_ makes it impossible to rewrite WireMeasurement, as subclasses will access these members.

This hit class is not valid for arbitrary choices of plane orientation: to use it you MUST choose a plane described by u and v axes with v coincident with the wire (and u orthogonal to it, obviously). The hit will be described by 7 coordinates: w_x1, w_y1, w_z1, w_x2, w_y2, w_z2, rdrift where w_ji (with j = x, y, z and i = 1, 2) are the wire extremities coordinates; rdrift = distance from the wire (u coordinate in the plane)

Definition at line 56 of file WireMeasurementNew.h.

Constructor & Destructor Documentation

genfit::WireMeasurementNew::WireMeasurementNew ( )

Referenced by clone().

genfit::WireMeasurementNew::WireMeasurementNew ( double  driftDistance,
double  driftDistanceError,
const TVector3 &  endPoint1,
const TVector3 &  endPoint2,
int  detId,
int  hitId,
TrackPoint trackPoint 
)
virtual genfit::WireMeasurementNew::~WireMeasurementNew ( )
inlinevirtual

Definition at line 62 of file WireMeasurementNew.h.

62 {;}

Member Function Documentation

virtual WireMeasurementNew* genfit::WireMeasurementNew::clone ( ) const
inlinevirtual

Deep copy ctor for polymorphic class.

Implements genfit::AbsMeasurement.

Definition at line 64 of file WireMeasurementNew.h.

References WireMeasurementNew().

64 {return new WireMeasurementNew(*this);}
virtual const AbsHMatrix* genfit::WireMeasurementNew::constructHMatrix ( const AbsTrackRep ) const
virtual

Returns a new AbsHMatrix object. Caller must take ownership.

Implements genfit::AbsMeasurement.

virtual std::vector<MeasurementOnPlane*> genfit::WireMeasurementNew::constructMeasurementsOnPlane ( const StateOnPlane state) const
virtual

Hits with a small drift distance get a higher weight, whereas hits with big drift distances become weighted down. When these initial weights are used by the DAF, the smoothed track will be closer to the real trajectory than if both sides are weighted with 0.5 regardless of the drift distance. This helps a lot when resolving l/r ambiguities with the DAF. The idea is that for the first iteration of the DAF, the wire positions are taken. For small drift radii, the wire position does not bend the fit away from the trajectory, whereas the wire position for hits with large drift radii is further away from the trajectory and will therefore bias the fit if not weighted down.

Implements genfit::AbsMeasurement.

virtual SharedPlanePtr genfit::WireMeasurementNew::constructPlane ( const StateOnPlane state) const
virtual

Construct (virtual) detector plane (use state's AbsTrackRep). It's possible to make corrections to the plane here. The state should be defined somewhere near the measurement. For virtual planes, the state will be extrapolated to the POCA to point (SpacepointMeasurement) or line (WireMeasurement), and from this info the plane will be constructed.

Implements genfit::AbsMeasurement.

int genfit::AbsMeasurement::getDetId ( ) const
inlineinherited

Definition at line 62 of file AbsMeasurement.h.

References genfit::AbsMeasurement::detId_.

62 {return detId_;}
unsigned int genfit::AbsMeasurement::getDim ( ) const
inlineinherited

Definition at line 69 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

69 {return rawHitCoords_.GetNrows();}
int genfit::AbsMeasurement::getHitId ( ) const
inlineinherited

Definition at line 63 of file AbsMeasurement.h.

References genfit::AbsMeasurement::hitId_.

63 {return hitId_;}
int genfit::WireMeasurementNew::getLeftRightResolution ( ) const
inlinevirtual

Reimplemented from genfit::AbsMeasurement.

Definition at line 100 of file WireMeasurementNew.h.

References leftRight_.

double genfit::WireMeasurementNew::getMaxDistance ( )
inline

Definition at line 99 of file WireMeasurementNew.h.

References maxDistance_.

99 {return maxDistance_;}
double maxDistance_
Wire end point 2 (X, Y, Z)
const TVectorD& genfit::AbsMeasurement::getRawHitCoords ( ) const
inlineinherited

Definition at line 58 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

58 {return rawHitCoords_;}
TVectorD& genfit::AbsMeasurement::getRawHitCoords ( )
inlineinherited

Definition at line 60 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

60 {return rawHitCoords_;}
const TMatrixDSym& genfit::AbsMeasurement::getRawHitCov ( ) const
inlineinherited

Definition at line 59 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

59 {return rawHitCov_;}
TMatrixDSym& genfit::AbsMeasurement::getRawHitCov ( )
inlineinherited

Definition at line 61 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

61 {return rawHitCov_;}
TrackPoint* genfit::AbsMeasurement::getTrackPoint ( ) const
inlineinherited

Definition at line 55 of file AbsMeasurement.h.

References genfit::AbsMeasurement::trackPoint_.

55 {return trackPoint_;}
TrackPoint * trackPoint_
Pointer to TrackPoint where the measurement belongs to.
virtual bool genfit::AbsMeasurement::isLeftRightMeasurement ( ) const
inlinevirtualinherited

If the AbsMeasurement is a wire hit, the left/right resolution will be used.

Reimplemented in genfit::WireMeasurement.

Definition at line 66 of file AbsMeasurement.h.

66 {return false;}
virtual bool genfit::WireMeasurementNew::isLeftRigthMeasurement ( ) const
inlinevirtual

Definition at line 98 of file WireMeasurementNew.h.

98 {return true;}
virtual void genfit::AbsMeasurement::Print ( const Option_t *  = "") const
virtualinherited
void genfit::AbsMeasurement::setDetId ( int  detId)
inlineinherited
void genfit::AbsMeasurement::setHitId ( int  hitId)
inlineinherited
void genfit::WireMeasurementNew::setLeftRightResolution ( int  lr)

select how to resolve the left/right ambiguity: -1: negative (left) side on vector (track direction) x (wire direction) 0: auto select (take side with smallest distance to track) 1: positive (right) side on vector (track direction) x (wire direction)

void genfit::WireMeasurementNew::setMaxDistance ( double  d)
inline

Set maximum drift distance. This is used to calculate the start weights of the two measurementsOnPlane.

Definition at line 89 of file WireMeasurementNew.h.

References d, and maxDistance_.

89 {maxDistance_ = d;}
TObjArray * d
double maxDistance_
Wire end point 2 (X, Y, Z)
void genfit::AbsMeasurement::setRawHitCoords ( const TVectorD &  coords)
inlineinherited

Definition at line 71 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCoords_.

71 {rawHitCoords_ = coords;}
void genfit::AbsMeasurement::setRawHitCov ( const TMatrixDSym &  cov)
inlineinherited

Definition at line 72 of file AbsMeasurement.h.

References genfit::AbsMeasurement::rawHitCov_.

72 {rawHitCov_ = cov;}
void genfit::AbsMeasurement::setTrackPoint ( TrackPoint tp)
inlineinherited

Definition at line 56 of file AbsMeasurement.h.

References genfit::AbsMeasurement::trackPoint_.

Referenced by genfit::TrackPoint::addRawMeasurement().

56 {trackPoint_ = tp;}
TrackPoint * trackPoint_
Pointer to TrackPoint where the measurement belongs to.
void genfit::WireMeasurementNew::setWireEndPoints ( const TVector3 &  endPoint1,
const TVector3 &  endPoint2 
)

Reset the wire end points.

Member Data Documentation

int genfit::AbsMeasurement::detId_
protectedinherited
int genfit::AbsMeasurement::hitId_
protectedinherited
double genfit::WireMeasurementNew::leftRight_
protected

Definition at line 107 of file WireMeasurementNew.h.

Referenced by getLeftRightResolution().

double genfit::WireMeasurementNew::maxDistance_
protected

Wire end point 2 (X, Y, Z)

Definition at line 106 of file WireMeasurementNew.h.

Referenced by getMaxDistance(), and setMaxDistance().

TVectorD genfit::AbsMeasurement::rawHitCoords_
protectedinherited
TMatrixDSym genfit::AbsMeasurement::rawHitCov_
protectedinherited
TrackPoint* genfit::AbsMeasurement::trackPoint_
protectedinherited

Pointer to TrackPoint where the measurement belongs to.

Definition at line 119 of file AbsMeasurement.h.

Referenced by genfit::AbsMeasurement::getTrackPoint(), and genfit::AbsMeasurement::setTrackPoint().

double genfit::WireMeasurementNew::wireEndPoint1_[3]
protected

Definition at line 104 of file WireMeasurementNew.h.

double genfit::WireMeasurementNew::wireEndPoint2_[3]
protected

Wire end point 1 (X, Y, Z)

Definition at line 105 of file WireMeasurementNew.h.


The documentation for this class was generated from the following file: