30 <<
"the z Segment and the phi segment have different chamber id"<<std::endl;
35 dirZInCh * (-posZInCh.
z())/
cos(dirZInCh.
theta());
44 dirZInCh.
y()/fabs(dirZInCh.
z()),
87 dirZInCh*(-posZInCh.
z()/
cos(dirZInCh.
theta()));
149 the4DProjectionMatrix[0][1] = 1;
150 the4DProjectionMatrix[1][2] = 1;
151 the4DProjectionMatrix[2][3] = 1;
152 the4DProjectionMatrix[3][4] = 1;
159 the2DPhiProjMatrix[0][1] = 1;
160 the2DPhiProjMatrix[1][3] = 1;
167 the2DZProjMatrix[0][2] = 1;
168 the2DZProjMatrix[1][4] = 1;
261 std::vector<const TrackingRecHit*> pointersOfRecHits;
266 return pointersOfRecHits;
273 std::vector<TrackingRecHit*> pointersOfRecHits;
278 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.
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
uint32_t rawId() const
get the raw id
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