Analysis Software
Documentation for sPHENIX simulation software
|
Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...
#include <GenFit/blob/master/measurements/include/WireMeasurement.h>
Public Member Functions | |
WireMeasurement (int nDim=7) | |
WireMeasurement (const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint) | |
virtual | ~WireMeasurement () |
virtual AbsMeasurement * | clone () const override |
Deep copy ctor for polymorphic class. | |
virtual SharedPlanePtr | constructPlane (const StateOnPlane &state) const override |
virtual std::vector < MeasurementOnPlane * > | constructMeasurementsOnPlane (const StateOnPlane &state) const override |
virtual const AbsHMatrix * | constructHMatrix (const AbsTrackRep *) const override |
void | setMaxDistance (double d) |
void | setLeftRightResolution (int lr) |
virtual bool | isLeftRightMeasurement () const override |
If the AbsMeasurement is a wire hit, the left/right resolution will be used. | |
virtual int | getLeftRightResolution () const override |
double | getMaxDistance () |
Public Member Functions inherited from genfit::AbsMeasurement | |
AbsMeasurement () | |
AbsMeasurement (int nDims) | |
AbsMeasurement (const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint) | |
virtual | ~AbsMeasurement () |
TrackPoint * | getTrackPoint () const |
void | setTrackPoint (TrackPoint *tp) |
const TVectorD & | getRawHitCoords () const |
const TMatrixDSym & | getRawHitCov () const |
TVectorD & | getRawHitCoords () |
TMatrixDSym & | getRawHitCov () |
int | getDetId () const |
int | getHitId () const |
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 | maxDistance_ |
signed char | leftRight_ |
Protected Attributes inherited from genfit::AbsMeasurement | |
TVectorD | rawHitCoords_ |
TMatrixDSym | rawHitCov_ |
int | detId_ |
int | hitId_ |
TrackPoint * | trackPoint_ |
Pointer to TrackPoint where the measurement belongs to. | |
Additional Inherited Members | |
Protected Member Functions inherited from genfit::AbsMeasurement | |
AbsMeasurement (const AbsMeasurement &) | |
protect from calling copy c'tor from outside the class. Use clone() if you want a copy! | |
Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire.
This hit class is not valid for any kind of plane orientation choice: 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 52 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 52 of file WireMeasurement.h
genfit::WireMeasurement::WireMeasurement | ( | int | nDim = 7 | ) |
Definition at line 39 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 39 of file WireMeasurement.cc
References assert.
Referenced by clone().
genfit::WireMeasurement::WireMeasurement | ( | const TVectorD & | rawHitCoords, |
const TMatrixDSym & | rawHitCov, | ||
int | detId, | ||
int | hitId, | ||
TrackPoint * | trackPoint | ||
) |
Definition at line 45 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 45 of file WireMeasurement.cc
References assert, and genfit::AbsMeasurement::rawHitCoords_.
|
inlinevirtual |
Definition at line 58 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 58 of file WireMeasurement.h
|
inlineoverridevirtual |
Deep copy ctor for polymorphic class.
Implements genfit::AbsMeasurement.
Reimplemented in genfit::WirePointMeasurement.
Definition at line 60 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 60 of file WireMeasurement.h
References WireMeasurement().
|
overridevirtual |
Returns a new AbsHMatrix object. Caller must take ownership.
Implements genfit::AbsMeasurement.
Reimplemented in genfit::WirePointMeasurement.
Definition at line 120 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 120 of file WireMeasurement.cc
Referenced by constructMeasurementsOnPlane().
|
overridevirtual |
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.
Reimplemented in genfit::WirePointMeasurement.
Definition at line 85 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 85 of file WireMeasurement.cc
References constructHMatrix(), genfit::StateOnPlane::getPlane(), genfit::StateOnPlane::getRep(), leftRight_, maxDistance_, genfit::AbsMeasurement::rawHitCoords_, genfit::AbsMeasurement::rawHitCov_, and genfit::MeasurementOnPlane::setWeight().
|
overridevirtual |
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.
Reimplemented in genfit::WirePointMeasurement.
Definition at line 51 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 51 of file WireMeasurement.cc
References genfit::AbsTrackRep::extrapolateToLine(), genfit::AbsTrackRep::getMom(), genfit::AbsTrackRep::getPos(), genfit::StateOnPlane::getRep(), and genfit::AbsMeasurement::rawHitCoords_.
|
inlineoverridevirtual |
Reimplemented from genfit::AbsMeasurement.
Definition at line 91 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 91 of file WireMeasurement.h
References leftRight_.
|
inline |
Definition at line 93 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 93 of file WireMeasurement.h
References maxDistance_.
|
inlineoverridevirtual |
If the AbsMeasurement is a wire hit, the left/right resolution will be used.
Reimplemented from genfit::AbsMeasurement.
Definition at line 90 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 90 of file WireMeasurement.h
void genfit::WireMeasurement::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)
Definition at line 129 of file WireMeasurement.cc.
View newest version in sPHENIX GitHub at line 129 of file WireMeasurement.cc
References leftRight_.
|
inline |
Set maximum drift distance. This is used to calculate the start weights of the two measurementsOnPlane.
Definition at line 81 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 81 of file WireMeasurement.h
References maxDistance_.
|
protected |
Definition at line 98 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 98 of file WireMeasurement.h
Referenced by genfit::WirePointMeasurement::constructMeasurementsOnPlane(), constructMeasurementsOnPlane(), getLeftRightResolution(), and setLeftRightResolution().
|
protected |
Definition at line 97 of file WireMeasurement.h.
View newest version in sPHENIX GitHub at line 97 of file WireMeasurement.h
Referenced by genfit::WirePointMeasurement::constructMeasurementsOnPlane(), constructMeasurementsOnPlane(), getMaxDistance(), and setMaxDistance().