20 #include "ProlateSpacepointMeasurement.h"
24 #include "Exception.h"
25 #include "RKTrackRep.h"
30 ProlateSpacepointMeasurement::ProlateSpacepointMeasurement(
int nDim)
31 : SpacepointMeasurement(nDim), largestErrorDirection_(0,0,1)
36 ProlateSpacepointMeasurement::ProlateSpacepointMeasurement(
const TVectorD& rawHitCoords,
const TMatrixDSym& rawHitCov,
int detId,
int hitId, TrackPoint* trackPoint)
37 : SpacepointMeasurement(rawHitCoords, rawHitCov, detId, hitId, trackPoint), largestErrorDirection_(0,0,1)
49 const TVector3 wire1(rawHitCoords_(0), rawHitCoords_(1), rawHitCoords_(2));
54 TVector3 dirInPoca = rep->
getMom(st);
58 if (fabs(largestErrorDirection_.Angle(dirInPoca)) < 0.01){
59 Exception exc(
"ProlateSpacepointMeasurement::constructPlane(): Cannot construct detector plane, track direction is parallel to largest error direction", __LINE__,__FILE__);
64 TVector3 U = largestErrorDirection_.Cross(dirInPoca);
Abstract base class for a track representation.
virtual double extrapolateToLine(StateOnPlane &state, const TVector3 &linePoint, const TVector3 &lineDirection, bool stopAtBoundary=false, bool calcJacobianNoise=false) const =0
Extrapolates the state to the POCA to a line, and returns the extrapolation length and,...
virtual TVector3 getMom(const StateOnPlane &state) const =0
Get the cartesian momentum vector of a state.
Exception class for error handling in GENFIT (provides storage for diagnostic information)
A state with arbitrary dimension defined in a DetPlane.
Defines for I/O streams used for error and debug printing.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.