14 #include "cetlib_except/exception.h" 65 std::shared_ptr<Surface> psurf(
new SurfXYZPlane(xyz[0], xyz[1], xyz[2],
66 mom[0], mom[1], mom[2]));
88 TrackMatrix temp = prod(plane_noise, trans(prop_matrix));
90 noise_matrix = ublas::symmetric_adaptor<TrackMatrix>(temp2);
Interactor for planar surfaces.
KSymMatrix< 5 >::type TrackError
Track error matrix, dimension 5x5.
virtual bool noise(const KTrack &trk, double s, TrackError &noise_matrix) const
Calculate noise matrix.
virtual bool noise(const KTrack &trk, double s, TrackError &noise_matrix) const
Calculate noise matrix.
virtual ~InteractGeneral()
Destructor.
boost::optional< double > short_vec_prop(KTrack &trk, const std::shared_ptr< const Surface > &surf, Propagator::PropDirection dir, bool doDedx, TrackMatrix *prop_matrix=0, TrackError *noise_matrix=0) const
Propagate without error.
void getPosition(double xyz[3]) const
Get position of track.
bool invert(ublas::matrix< T, L, A > &m)
KMatrix< 5, 5 >::type TrackMatrix
General 5x5 matrix.
void getMomentum(double mom[3]) const
Get momentum vector of track.
InteractGeneral(double tcut)
Constructor.
InteractPlane fInteract
Plane interactor.