30 #include <RKTrackRep.h>
46 :
AbsMeasurement(rawHitCoords, rawHitCov, detId, hitId, trackPoint), maxDistance_(2), leftRight_(0)
60 TVector3 wireDirection = wire2 - wire1;
61 wireDirection.SetMag(1.);
66 const TVector3& poca = rep->
getPos(st);
67 TVector3 dirInPoca = rep->
getMom(st);
69 const TVector3& pocaOnWire = wire1 + wireDirection.Dot(poca - wire1)*wireDirection;
72 if (fabs(wireDirection.Angle(dirInPoca)) < 0.01){
73 Exception exc(
"WireMeasurement::detPlane(): Cannot construct detector plane, direction is parallel to wire", __LINE__,__FILE__);
78 TVector3 U = dirInPoca.Cross(wireDirection);
114 std::vector<MeasurementOnPlane*> retVal;
115 retVal.push_back(mopL);
116 retVal.push_back(mopR);
121 if (dynamic_cast<const RKTrackRep*>(rep) ==
nullptr) {
122 Exception exc(
"WireMeasurement default implementation can only handle state vectors of type RKTrackRep!", __LINE__,__FILE__);