EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
genfit::WirePointMeasurement Class Reference

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

#include <fun4all_GenFit/blob/master/measurements/include/WirePointMeasurement.h>

+ Inheritance diagram for genfit::WirePointMeasurement:
+ Collaboration diagram for genfit::WirePointMeasurement:

Public Member Functions

 WirePointMeasurement (int nDim=8)
 
 WirePointMeasurement (const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint)
 
virtual ~WirePointMeasurement ()
 
virtual AbsMeasurementclone () 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 AbsHMatrixconstructHMatrix (const AbsTrackRep *) const override
 
- Public Member Functions inherited from genfit::WireMeasurement
 WireMeasurement (int nDim=7)
 
 WireMeasurement (const TVectorD &rawHitCoords, const TMatrixDSym &rawHitCov, int detId, int hitId, TrackPoint *trackPoint)
 
virtual ~WireMeasurement ()
 
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 ()
 
TrackPointgetTrackPoint () 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
 

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!
 
- Protected Attributes inherited from genfit::WireMeasurement
double maxDistance_
 
signed char leftRight_
 

Detailed Description

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

Author
Christian Höppner (Technische Universität München, original author)
Lia Lavezzi (INFN Pavia, original author)
Sebastian Neubert (Technische Universität München, original author)
Johannes Rauch (Technische Universität München, original author)

This 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 8 coordinates: w_x1, w_y1, w_z1, w_x2, w_y2, w_z2, rdrift, zreco 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) and zreco = coordinate along the wire (w2 -w1) (in the plane reference frame, v coordinate).

Definition at line 51 of file WirePointMeasurement.h.

View newest version in sPHENIX GitHub at line 51 of file WirePointMeasurement.h

Constructor & Destructor Documentation

genfit::WirePointMeasurement::WirePointMeasurement ( int  nDim = 8)

Definition at line 32 of file WirePointMeasurement.cc.

View newest version in sPHENIX GitHub at line 32 of file WirePointMeasurement.cc

Referenced by clone().

+ Here is the caller graph for this function:

genfit::WirePointMeasurement::WirePointMeasurement ( const TVectorD &  rawHitCoords,
const TMatrixDSym &  rawHitCov,
int  detId,
int  hitId,
TrackPoint trackPoint 
)

Definition at line 38 of file WirePointMeasurement.cc.

View newest version in sPHENIX GitHub at line 38 of file WirePointMeasurement.cc

References genfit::AbsMeasurement::rawHitCoords_.

virtual genfit::WirePointMeasurement::~WirePointMeasurement ( )
inlinevirtual

Definition at line 57 of file WirePointMeasurement.h.

View newest version in sPHENIX GitHub at line 57 of file WirePointMeasurement.h

Member Function Documentation

virtual AbsMeasurement* genfit::WirePointMeasurement::clone ( ) const
inlineoverridevirtual

Deep copy ctor for polymorphic class.

Reimplemented from genfit::WireMeasurement.

Definition at line 59 of file WirePointMeasurement.h.

View newest version in sPHENIX GitHub at line 59 of file WirePointMeasurement.h

References WirePointMeasurement().

+ Here is the call graph for this function:

const AbsHMatrix * genfit::WirePointMeasurement::constructHMatrix ( const AbsTrackRep ) const
overridevirtual

Returns a new AbsHMatrix object. Caller must take ownership.

Reimplemented from genfit::WireMeasurement.

Definition at line 118 of file WirePointMeasurement.cc.

View newest version in sPHENIX GitHub at line 118 of file WirePointMeasurement.cc

Referenced by constructMeasurementsOnPlane().

+ Here is the caller graph for this function:

std::vector< MeasurementOnPlane * > genfit::WirePointMeasurement::constructMeasurementsOnPlane ( const StateOnPlane state) const
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.

Reimplemented from genfit::WireMeasurement.

Definition at line 79 of file WirePointMeasurement.cc.

View newest version in sPHENIX GitHub at line 79 of file WirePointMeasurement.cc

References constructHMatrix(), genfit::MeasuredStateOnPlane::getCov(), genfit::StateOnPlane::getPlane(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), genfit::WireMeasurement::leftRight_, max, genfit::WireMeasurement::maxDistance_, genfit::AbsMeasurement::rawHitCoords_, genfit::AbsMeasurement::rawHitCov_, and genfit::MeasurementOnPlane::setWeight().

+ Here is the call graph for this function:

SharedPlanePtr genfit::WirePointMeasurement::constructPlane ( const StateOnPlane state) const
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.

Reimplemented from genfit::WireMeasurement.

Definition at line 45 of file WirePointMeasurement.cc.

View newest version in sPHENIX GitHub at line 45 of file WirePointMeasurement.cc

References genfit::AbsTrackRep::extrapolateToLine(), genfit::AbsTrackRep::getMom(), genfit::StateOnPlane::getRep(), and genfit::AbsMeasurement::rawHitCoords_.

+ Here is the call graph for this function:


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