1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit1DMomConstraint_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit1DMomConstraint_H
16 result[0] = charge_/fabs(mom_);
22 m[0][0] = err_/(mom_*mom_);
30 theProjectionMatrix[0][0] = 1;
38 double mom()
const {
return mom_;}
39 double err()
const {
return err_;}
46 virtual std::vector<const TrackingRecHit*>
recHits()
const {
return std::vector<const TrackingRecHit*>(); }
47 virtual std::vector<TrackingRecHit*>
recHits() {
return std::vector<TrackingRecHit*>(); }
61 return RecHitPointer(
new TRecHit1DMomConstraint( charge, mom, err, surface));
83 charge_(charge),mom_(mom),err_(err),surface_(surface) {}
86 charge_( other.
charge() ), mom_( other.mom() ),err_( other.err() ), surface_((other.surface())) {}
88 virtual TRecHit1DMomConstraint *
clone()
const {
89 return new TRecHit1DMomConstraint(*
this);
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual LocalError localPositionError() const
virtual GlobalError globalPositionError() const
virtual const Surface * surface() const
The surface of the GeometricSearchDet.
virtual ~TRecHit1DMomConstraint()
virtual bool sharesInput(const TrackingRecHit *, SharedInputType) const
virtual AlgebraicSymMatrix parametersError() const
virtual TrackingRecHit * cloneHit() const
GloballyPositioned< float >::GlobalPoint GlobalPoint
Global3DPoint GlobalPoint
virtual const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
TRecHit1DMomConstraint(const TRecHit1DMomConstraint &other)
virtual bool canImproveWithTrack() const
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
static const AlgebraicMatrix theProjectionMatrix
virtual AlgebraicMatrix projectionMatrix() const
GlobalErrorBase< double, ErrorMatrixTag > GlobalError
CLHEP::HepMatrix AlgebraicMatrix
virtual const TrackingRecHit * hit() const
virtual const GeomDetUnit * detUnit() const
virtual AlgebraicVector parameters() const
virtual float errorGlobalZ() const
virtual TRecHit1DMomConstraint * clone() const
virtual LocalPoint localPosition() const
CLHEP::HepVector AlgebraicVector
static RecHitPointer build(const int charge, const double mom, const double err, const Surface *surface)
virtual RecHitPointer clone(const TrajectoryStateOnSurface &ts) const
TRecHit1DMomConstraint(const int charge, const double mom, const double err, const Surface *surface)
Creates the TrackingRecHit internally, avoids redundent cloning.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual float errorGlobalR() const
virtual GlobalPoint globalPosition() const
virtual float errorGlobalRPhi() const
virtual int dimension() const
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
Unlimited (trivial) bounds.