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;
63 :
RecSegment(zedSeg.superLayerId().chamberId()),
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.
DTRecSegment4D()
Empty constructor.
DTSLRecSegment2D theZedSeg
Local3DVector LocalVector
static AlgebraicMatrix initThe2DZProjMatrix()
LocalPoint localPosition() const override
local position in SL frame
Point3DBase< Scalar, LocalTag > LocalPoint
LocalVector localDirection() const override
the local direction in SL frame
double chi2() const override
the chi2 of the fit
const DTChamberRecSegment2D * phiSegment() const
The superPhi segment: 0 if no phi projection available.
LocalError localDirectionError() const override
Local direction error in the Chamber frame.
AlgebraicSymMatrix parametersError() const override
Covariance matrix fo parameters()
constexpr uint32_t rawId() const
get the raw id
LocalVector localDirection() const override
Local direction in Chamber frame.
virtual DTChamberId chamberId() const
The (specific) DetId of the chamber on which the segment resides.
int dimension() const override
Dimension (in parameter space)
void setCovMatrixForZed(const LocalPoint &posZInCh)
std::ostream & operator<<(std::ostream &out, const ALILine &li)
LocalPoint localPosition() const override
Local position in Chamber frame.
Geom::Theta< T > theta() const
CLHEP::HepMatrix AlgebraicMatrix
static const AlgebraicMatrix the2DPhiProjMatrix
static AlgebraicMatrix initThe4DProjectionMatrix()
Cos< T >::type cos(const T &t)
AlgebraicSymMatrix parametersError() const override
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
bool hasPhi() const
Does it have the Phi projection?
AlgebraicSymMatrix covMatrix() const
the Covariance Matrix
AlgebraicSymMatrix theCovMatrix
Vector3DBase unit() const
bool hasZed() const
Does it have the Z projection?
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
CLHEP::HepVector AlgebraicVector
const DTSLRecSegment2D * zSegment() const
The Z segment: 0 if not zed projection available.
static const AlgebraicMatrix the2DZProjMatrix
AlgebraicVector parameters() const override
int degreesOfFreedom() const override
Degrees of freedom of the segment fit.
int degreesOfFreedom() const override
return the DOF of the segment
LocalError localPositionError() const override
Local position error in Chamber frame.
static AlgebraicMatrix initThe2DPhiProjMatrix()
CLHEP::HepSymMatrix AlgebraicSymMatrix
static const AlgebraicMatrix the4DProjectionMatrix
DetId geographicalId() const
AlgebraicMatrix projectionMatrix() const override
The projection matrix relates the trajectory state parameters to the segment parameters().
double chi2() const override
Chi2 of the segment fit.
DTChamberRecSegment2D thePhiSeg