1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiStripMatchedRecHit_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiStripMatchedRecHit_H
29 bool computeCoarseLocalPosition=
false) {
30 return RecHitPointer(
new TSiStripMatchedRecHit( geom, rh, matcher,cpe, computeCoarseLocalPosition));
36 bool computeCoarseLocalPosition=
false) {
37 return RecHitPointer(
new TSiStripMatchedRecHit( geom, rh, matcher,cpe, computeCoarseLocalPosition));
55 bool computeCoarseLocalPosition=
false) {
57 memory->~TSiStripMatchedRecHit();
58 new (memory.get()) TSiStripMatchedRecHit( geom, rh, matcher,cpe, computeCoarseLocalPosition,
DontCloneRecHit());
60 memory.reset(
new TSiStripMatchedRecHit( geom, rh, matcher,cpe,computeCoarseLocalPosition,
DontCloneRecHit()));
78 bool computeCoarseLocalPosition) :
80 if (computeCoarseLocalPosition) ComputeCoarseLocalPosition();
86 bool computeCoarseLocalPosition) :
88 if (computeCoarseLocalPosition) ComputeCoarseLocalPosition();
93 bool computeCoarseLocalPosition,
96 if (computeCoarseLocalPosition) ComputeCoarseLocalPosition();
100 void ComputeCoarseLocalPosition();
102 virtual TSiStripMatchedRecHit*
clone()
const {
103 return new TSiStripMatchedRecHit(*
this);
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
const GeomDetUnit * detUnit() const
virtual TSiStripMatchedRecHit * clone() const
TSiStripMatchedRecHit(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
virtual const TrackingRecHit * hit() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
TSiStripMatchedRecHit(const GeomDet *geom, std::auto_ptr< TrackingRecHit > rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition)
static void buildInPlace(std::auto_ptr< TSiStripMatchedRecHit > &memory, const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, bool computeCoarseLocalPosition=false)
virtual LocalError localPositionError() const
void clearPersistentHit()
TSiStripMatchedRecHit(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition, const DontCloneRecHit &)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, bool computeCoarseLocalPosition=false)
virtual void getKfComponents(KfComponentsHolder &holder) const
Dummy struct to pass to the constructor to say 'please don't clone the hit'.
virtual GenericTransientTrackingRecHit * clone() const
void clonePersistentHit()
take ownership of the hit, if it wasn't owned (note: if it was owned, this code will leak it) ...
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
virtual bool canImproveWithTrack() const
static RecHitPointer build(const GeomDet *geom, std::auto_ptr< TrackingRecHit > rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, bool computeCoarseLocalPosition=false)
virtual AlgebraicSymMatrix parametersError() const
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)