File indexing completed on 2025-08-06 08:17:59
0001
0002
0003
0004
0005
0006
0007 #include "PlanarMeasurement.h"
0008
0009 #include <GenFit/DetPlane.h>
0010 #include <GenFit/PlanarMeasurement.h>
0011 #include <GenFit/SharedPlanePtr.h> // for SharedPlanePtr
0012 #include <GenFit/StateOnPlane.h>
0013
0014 #include <TMatrixDSymfwd.h> // for TMatrixDSym
0015 #include <TMatrixTSym.h> // for TMatrixTSym
0016 #include <TVector3.h>
0017 #include <TVectorDfwd.h> // for TVectorD
0018 #include <TVectorT.h> // for TVectorT
0019
0020 namespace PHGenFit
0021 {
0022 void PlanarMeasurement::init(const TVector3& pos, const TVector3& u, const TVector3& v, const double du, const double dv)
0023 {
0024 int nDim = 2;
0025 TVectorD hitCoords(nDim);
0026 TMatrixDSym hitCov(nDim);
0027
0028 hitCoords(0) = 0;
0029 hitCoords(1) = 0;
0030
0031 hitCov(0, 0) = du * du;
0032 hitCov(1, 1) = dv * dv;
0033
0034 genfit::SharedPlanePtr plane(
0035 new genfit::DetPlane(pos, u, v));
0036
0037 int measurementCounter_ = 0;
0038 _measurement = new genfit::PlanarMeasurement(hitCoords, hitCov, -1,
0039 measurementCounter_,
0040 nullptr);
0041
0042 static_cast<genfit::PlanarMeasurement*>(_measurement)->setPlane(plane, measurementCounter_);
0043 }
0044
0045 PlanarMeasurement::PlanarMeasurement(const TVector3& pos, const TVector3& u, const TVector3& v, const double du, const double dv)
0046 {
0047 init(pos, u, v, du, dv);
0048 }
0049
0050 PlanarMeasurement::PlanarMeasurement(const TVector3& pos, const TVector3& n, const double du, const double dv)
0051 {
0052
0053
0054
0055
0056
0057
0058
0059 TVector3 u = n.Orthogonal();
0060 TVector3 v = n.Cross(u);
0061 init(pos, u, v, du, dv);
0062 }
0063
0064 }