44 TMatrixT<Double_t> returnMat(2, 1);
51 returnMat[0][0] = rC[6][0];
52 returnMat[1][0] = rC[7][0];
60 TMatrixT<Double_t> returnCov(2, 2);
63 returnCov[0][0] = rawCov[6][6];
64 returnCov[1][0] = rawCov[7][6];
65 returnCov[0][1] = rawCov[6][7];
66 returnCov[1][1] = rawCov[7][7];
76 assert(rC.GetNrows() == 8);
78 TVector3 wire1(rC[0][0], rC[1][0], rC[2][0]);
79 TVector3 wire2(rC[3][0], rC[4][0], rC[5][0]);
80 TVector3 wiredirection = wire1 - wire2;
82 TVector3 vaxis = plane.
getV();
83 wiredirection.SetMag(1.);
86 if (fabs(TMath::Abs(wiredirection.Dot(vaxis)) - 1) > 1
e-3) {
88 std::cout <<
"GFWirepointHitPolicy: plane not valid!!" << std::endl;
96 assert(x.GetNrows() == 8);
97 TVector3 wire1(x[0][0], x[1][0], x[2][0]);
98 TVector3 wire2(x[3][0], x[4][0], x[5][0]);
105 TVector3 poca, poca_onwire, dirInPoca;
110 distance = TMath::Sqrt(fabs(
111 ((wire1 - poca).Mag2() * (wire2 - wire1).Mag2() - pow((wire1 - poca).Dot(wire2 - wire1), 2)) /
112 (wire2 - wire1).Mag2()));
116 throw GFException(
"distance poca-wire > maxdistance", __LINE__, __FILE__) ;
122 TVector3 fromwiretoextr = poca - poca_onwire;
123 fromwiretoextr.SetMag(1.);
125 TVector3 wiredirection = wire2 - wire1;
126 wiredirection.SetMag(1.);
129 if (fabs(fromwiretoextr * wiredirection) > 1
e-3) {
130 throw GFException(
"fromwiretoextr*wiredirection > 1e-3", __LINE__, __FILE__) ;
140 TVector3 O = (wire1 + wire2) * 0.5;
virtual void extrapolateToLine(const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &normVec, TVector3 &poca_onwire)
This method extrapolates to the point of closest approach to a line.
const GFDetPlane & detPlane(GFAbsRecoHit *, GFAbsTrackRep *)
Get detector plane.
TVector3 dist(const TVector3 &point) const
TMatrixT< Double_t > getRawHitCoord() const
Get raw hit coordinates.
TMatrixT< Double_t > hitCov(GFAbsRecoHit *, const GFDetPlane &)
Hit covariances in detector plane.
Base Class for genfit track representations. Defines interface for track parameterizations.
TMatrixT< Double_t > hitCoord(GFAbsRecoHit *, const GFDetPlane &)
Hit coordinates in detector plane.
Detector simulation of raw signals on wires.
static const std::string fPolicyName
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
void checkPlane(GFAbsRecoHit *, const GFDetPlane &)
Check if the detector plane is valid.
TMatrixT< Double_t > getRawHitCov() const
Get raw hit covariances.