19 :
RecSegment(phiSeg.chamberId()), theProjection(
full), thePhiSeg(phiSeg), theZedSeg(zedSeg), theDimension(4) {
23 <<
"the z Segment and the phi segment have different chamber id" << std::endl;
126 the4DProjectionMatrix[0][1] = 1;
127 the4DProjectionMatrix[1][2] = 1;
128 the4DProjectionMatrix[2][3] = 1;
129 the4DProjectionMatrix[3][4] = 1;
136 the2DPhiProjMatrix[0][1] = 1;
137 the2DPhiProjMatrix[1][3] = 1;
144 the2DZProjMatrix[0][2] = 1;
145 the2DZProjMatrix[1][4] = 1;
234 std::vector<const TrackingRecHit*> pointersOfRecHits;
239 pointersOfRecHits.push_back(
zSegment());
241 return pointersOfRecHits;
246 std::vector<TrackingRecHit*> pointersOfRecHits;
251 pointersOfRecHits.push_back(
zSegment());
253 return pointersOfRecHits;
~DTRecSegment4D() override
Destructor.
int dimension() const override
Dimension (in parameter space)
DTRecSegment4D()
Empty constructor.
DTSLRecSegment2D theZedSeg
LocalPoint localPosition() const override
Local position in Chamber frame.
Local3DVector LocalVector
static AlgebraicMatrix initThe2DZProjMatrix()
Point3DBase< Scalar, LocalTag > LocalPoint
LocalVector localDirection() const override
Local direction in Chamber frame.
const DTChamberRecSegment2D * phiSegment() const
The superPhi segment: 0 if no phi projection available.
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
double chi2() const override
Chi2 of the segment fit.
constexpr uint32_t rawId() const
get the raw id
AlgebraicSymMatrix parametersError() const override
virtual DTChamberId chamberId() const
The (specific) DetId of the chamber on which the segment resides.
void setCovMatrixForZed(const LocalPoint &posZInCh)
Geom::Theta< T > theta() const
CLHEP::HepMatrix AlgebraicMatrix
static const AlgebraicMatrix the2DPhiProjMatrix
AlgebraicSymMatrix parametersError() const override
Covariance matrix fo parameters()
int degreesOfFreedom() const override
return the DOF of the segment
static AlgebraicMatrix initThe4DProjectionMatrix()
AlgebraicVector parameters() const override
std::ostream & operator<<(std::ostream &os, const DTRecSegment4D &seg)
Cos< T >::type cos(const T &t)
LocalError localPositionError() const override
Local position error in Chamber frame.
double chi2() const override
the chi2 of the fit
bool hasPhi() const
Does it have the Phi projection?
LocalError localDirectionError() const override
Local direction error in the Chamber frame.
AlgebraicSymMatrix covMatrix() const
the Covariance Matrix
AlgebraicSymMatrix theCovMatrix
Vector3DBase unit() const
bool hasZed() const
Does it have the Z projection?
CLHEP::HepVector AlgebraicVector
const DTSLRecSegment2D * zSegment() const
The Z segment: 0 if not zed projection available.
LocalPoint localPosition() const override
local position in SL frame
static const AlgebraicMatrix the2DZProjMatrix
AlgebraicMatrix projectionMatrix() const override
The projection matrix relates the trajectory state parameters to the segment parameters().
static AlgebraicMatrix initThe2DPhiProjMatrix()
LocalVector localDirection() const override
the local direction in SL frame
CLHEP::HepSymMatrix AlgebraicSymMatrix
static const AlgebraicMatrix the4DProjectionMatrix
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
DetId geographicalId() const
int degreesOfFreedom() const override
Degrees of freedom of the segment fit.
DTChamberRecSegment2D thePhiSeg