50 coords[0] = driftDistance;
54 cov(0,0) = driftDistanceError*driftDistanceError;
73 TVector3 wireDirection = wire2 - wire1;
74 wireDirection.SetMag(1.);
79 const TVector3& poca = rep->
getPos(st);
80 TVector3 dirInPoca = rep->
getMom(st);
82 const TVector3& pocaOnWire = wire1 + wireDirection.Dot(poca - wire1)*wireDirection;
85 if (fabs(wireDirection.Angle(dirInPoca)) < 0.01){
86 Exception exc(
"WireMeasurementNew::detPlane(): Cannot construct detector plane, direction is parallel to wire", __LINE__,__FILE__);
91 TVector3 U = wireDirection.Cross(dirInPoca);
121 double val = 0.5 * pow(std::max(0., 1 - mR/
maxDistance_), 2.);
126 std::vector<MeasurementOnPlane*> retVal;
127 retVal.push_back(mopL);
128 retVal.push_back(mopR);
133 if (dynamic_cast<const RKTrackRep*>(rep) ==
nullptr) {
134 Exception exc(
"WireMeasurementNew default implementation can only handle state vectors of type RKTrackRep!", __LINE__,__FILE__);