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/WireMeasurementNew.h>
Public Member Functions | |
WireMeasurementNew () | |
WireMeasurementNew (double driftDistance, double driftDistanceError, const TVector3 &endPoint1, const TVector3 &endPoint2, int detId, int hitId, TrackPoint *trackPoint) | |
virtual | ~WireMeasurementNew () |
virtual WireMeasurementNew * | 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 | setWireEndPoints (const TVector3 &endPoint1, const TVector3 &endPoint2) |
void | setMaxDistance (double d) |
void | setLeftRightResolution (int lr) |
virtual bool | isLeftRigthMeasurement () const |
double | getMaxDistance () |
int | getLeftRightResolution () const override |
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 |
virtual bool | isLeftRightMeasurement () const |
If the AbsMeasurement is a wire hit, the left/right resolution will be used. | |
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) | |
double | maxDistance_ |
Wire end point 2 (X, Y, Z) | |
double | 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 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.
View newest version in sPHENIX GitHub at line 56 of file WireMeasurementNew.h
genfit::WireMeasurementNew::WireMeasurementNew | ( | ) |
Definition at line 39 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 39 of file WireMeasurementNew.cc
References wireEndPoint1_, and wireEndPoint2_.
Referenced by clone().
genfit::WireMeasurementNew::WireMeasurementNew | ( | double | driftDistance, |
double | driftDistanceError, | ||
const TVector3 & | endPoint1, | ||
const TVector3 & | endPoint2, | ||
int | detId, | ||
int | hitId, | ||
TrackPoint * | trackPoint | ||
) |
Definition at line 46 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 46 of file WireMeasurementNew.cc
References Acts::Test::cov, genfit::AbsMeasurement::setDetId(), genfit::AbsMeasurement::setHitId(), genfit::AbsMeasurement::setRawHitCoords(), genfit::AbsMeasurement::setRawHitCov(), genfit::AbsMeasurement::setTrackPoint(), and setWireEndPoints().
|
inlinevirtual |
Definition at line 62 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 62 of file WireMeasurementNew.h
|
inlineoverridevirtual |
Deep copy ctor for polymorphic class.
Implements genfit::AbsMeasurement.
Definition at line 64 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 64 of file WireMeasurementNew.h
References WireMeasurementNew().
|
overridevirtual |
Returns a new AbsHMatrix object. Caller must take ownership.
Implements genfit::AbsMeasurement.
Definition at line 132 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 132 of file WireMeasurementNew.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.
Definition at line 98 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 98 of file WireMeasurementNew.cc
References constructHMatrix(), genfit::StateOnPlane::getPlane(), genfit::AbsMeasurement::getRawHitCoords(), genfit::AbsMeasurement::getRawHitCov(), genfit::StateOnPlane::getRep(), leftRight_, maxDistance_, 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.
Definition at line 64 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 64 of file WireMeasurementNew.cc
References genfit::AbsTrackRep::extrapolateToLine(), genfit::AbsTrackRep::getMom(), genfit::AbsTrackRep::getPos(), genfit::StateOnPlane::getRep(), wireEndPoint1_, and wireEndPoint2_.
|
inlineoverridevirtual |
Reimplemented from genfit::AbsMeasurement.
Definition at line 101 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 101 of file WireMeasurementNew.h
References leftRight_.
|
inline |
Definition at line 100 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 100 of file WireMeasurementNew.h
References maxDistance_.
|
inlinevirtual |
Definition at line 99 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 99 of file WireMeasurementNew.h
void genfit::WireMeasurementNew::setLeftRightResolution | ( | int | lr | ) |
select how to resolve the left/right ambiguity: -1: negative (left) side on vector (wire direction) x (track direction) 0: mirrors enter with same weight, DAF will decide. 1: positive (right) side on vector (wire direction) x (track direction) where the wire direction is pointing from endPoint1 to endPoint2
Definition at line 152 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 152 of file WireMeasurementNew.cc
References leftRight_.
|
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.
View newest version in sPHENIX GitHub at line 89 of file WireMeasurementNew.h
References maxDistance_.
void genfit::WireMeasurementNew::setWireEndPoints | ( | const TVector3 & | endPoint1, |
const TVector3 & | endPoint2 | ||
) |
Reset the wire end points.
Definition at line 141 of file WireMeasurementNew.cc.
View newest version in sPHENIX GitHub at line 141 of file WireMeasurementNew.cc
References wireEndPoint1_, and wireEndPoint2_.
Referenced by WireMeasurementNew().
|
protected |
Definition at line 108 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 108 of file WireMeasurementNew.h
Referenced by constructMeasurementsOnPlane(), getLeftRightResolution(), and setLeftRightResolution().
|
protected |
Wire end point 2 (X, Y, Z)
Definition at line 107 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 107 of file WireMeasurementNew.h
Referenced by constructMeasurementsOnPlane(), getMaxDistance(), and setMaxDistance().
|
protected |
Definition at line 105 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 105 of file WireMeasurementNew.h
Referenced by constructPlane(), setWireEndPoints(), and WireMeasurementNew().
|
protected |
Wire end point 1 (X, Y, Z)
Definition at line 106 of file WireMeasurementNew.h.
View newest version in sPHENIX GitHub at line 106 of file WireMeasurementNew.h
Referenced by constructPlane(), setWireEndPoints(), and WireMeasurementNew().