1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiStripMatchedRecHit_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiStripMatchedRecHit_H
29 float weight=1.,
float annealing=1.,
30 bool computeCoarseLocalPosition=
false) {
37 float weight=1.,
float annealing=1.,
38 bool computeCoarseLocalPosition=
false) {
57 float weight=1.,
float annealing=1.,
58 bool computeCoarseLocalPosition=
false) {
60 memory->~TSiStripMatchedRecHit();
79 float weight,
float annealing,
80 bool computeCoarseLocalPosition) :
88 float weight,
float annealing,
89 bool computeCoarseLocalPosition) :
96 float weight,
float annealing,
97 bool computeCoarseLocalPosition,
108 LogDebug(
"TSiStripMatchedRecHit")<<
"calculating coarse position/error.";
151 edm::LogWarning(
"TSiStripMatchedRecHit")<<
"could not get a matching rechit.";
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual AlgebraicSymMatrix parametersError() const
void clonePersistentHit()
take ownership of the hit, if it wasn't owned (note: if it was owned, this code will leak it) ...
virtual SiStripMatchedRecHit2D * clone() const
const GeomDetUnit * monoDet() const
SiStripMatchedRecHit2D * match(const SiStripRecHit2D *monoRH, const SiStripRecHit2D *stereoRH, const GluedGeomDet *gluedDet, LocalVector trackdirection) const
const GeomDetUnit * detUnit() const
const SiStripRecHit2D * stereoHit() const
virtual const TrackingRecHit * hit() const
Global3DPoint GlobalPoint
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
const StripClusterParameterEstimator * theCPE
ClusterRegionalRef const & cluster_regional() const
std::pair< LocalPoint, LocalError > LocalValues
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
static void buildInPlace(std::auto_ptr< TSiStripMatchedRecHit > &memory, const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual LocalError localPositionError() const
bool isNull() const
Checks for null.
const Surface::PositionType & position() const
The position (origin of the R.F.)
void clearPersistentHit()
LocalPoint toLocal(const GlobalPoint &gp) const
TSiStripMatchedRecHit(const GeomDet *geom, std::auto_ptr< TrackingRecHit > rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, float weight, float annealing, bool computeCoarseLocalPosition)
const SiStripRecHitMatcher * theMatcher
bool hasPositionAndError() const
DetId geographicalId() const
The label of this GeomDet.
virtual bool canImproveWithTrack() const
virtual void getKfComponents(KfComponentsHolder &holder) const
virtual TrackingRecHit * clone() const =0
Dummy struct to pass to the constructor to say 'please don't clone the hit'.
void ComputeCoarseLocalPosition()
ClusterRef const & cluster() const
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
TSiStripMatchedRecHit(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, float weight, float annealing, bool computeCoarseLocalPosition)
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
TrackingRecHit * trackingRecHit_
TSiStripMatchedRecHit(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, float weight, float annealing, bool computeCoarseLocalPosition, const DontCloneRecHit &)
const SiStripRecHit2D * monoHit() const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
static RecHitPointer build(const GeomDet *geom, std::auto_ptr< TrackingRecHit > rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.
const GeomDetUnit * stereoDet() const
virtual TSiStripMatchedRecHit * clone() const
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)