CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions
TValidTrackingRecHit Class Referenceabstract

#include <TValidTrackingRecHit.h>

Inheritance diagram for TValidTrackingRecHit:
TrackingRecHit BeamSpotTransientTrackingRecHit GenericTransientTrackingRecHit KFBasedPixelFitter::MyBeamSpotHit MuonTransientTrackingRecHit

Public Member Functions

virtual bool canImproveWithTrack () const
 
TrackingRecHitcloneHit () const
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
float errorGlobalR () const final
 
float errorGlobalRPhi () const final
 
float errorGlobalZ () const final
 
virtual GlobalPoint globalPosition () const final
 
GlobalError globalPositionError () const final
 
TrackingRecHitGlobalState globalState () const
 
virtual const Surfacesurface () const final
 
 TValidTrackingRecHit (const GeomDet &geom)
 
template<typename... Args>
 TValidTrackingRecHit (Args &&...args)
 
- Public Member Functions inherited from TrackingRecHit
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
virtual int dimension () const =0
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
virtual TrackingRecHit const * hit () const
 
bool isValid () const
 
virtual LocalPoint localPosition () const =0
 
virtual LocalError localPositionError () const =0
 
virtual AlgebraicVector parameters () const =0
 
virtual AlgebraicSymMatrix parametersError () const =0
 
virtual AlgebraicMatrix projectionMatrix () const =0
 
id_type rawId () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const =0
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits ()=0
 Non-const access to component RecHits (if any) More...
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual void setDet (const GeomDet &idet)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
virtual ConstRecHitContainer transientHits () const
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Private Member Functions

virtual TValidTrackingRecHitclone () const =0
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
using RecHitPointer = std::shared_ptr< TrackingRecHit const >
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type {
  valid = 0, missing = 1, inactive = 2, bad = 3,
  missing_inner = 4, missing_outer = 5
}
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Detailed Description

only for valid hits

Definition at line 12 of file TValidTrackingRecHit.h.

Constructor & Destructor Documentation

TValidTrackingRecHit::TValidTrackingRecHit ( const GeomDet geom)
inline

Definition at line 15 of file TValidTrackingRecHit.h.

15  :
16  TrackingRecHit(geom) {}
TrackingRecHit(DetId id, Type type=valid)
template<typename... Args>
TValidTrackingRecHit::TValidTrackingRecHit ( Args &&...  args)
inline

Definition at line 20 of file TValidTrackingRecHit.h.

20  :
21  TrackingRecHit(std::forward<Args>(args)...) {}
TrackingRecHit(DetId id, Type type=valid)

Member Function Documentation

virtual bool TValidTrackingRecHit::canImproveWithTrack ( ) const
inlinevirtual

Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy. In order to avoid redundent copies one should call canImproveWithTrack() before calling clone( const TrajectoryStateOnSurface&).

Reimplemented from TrackingRecHit.

Reimplemented in GenericTransientTrackingRecHit.

Definition at line 59 of file TValidTrackingRecHit.h.

59 {return false;}
virtual TValidTrackingRecHit* TValidTrackingRecHit::clone ( ) const
privatepure virtual
TrackingRecHit* TValidTrackingRecHit::cloneHit ( ) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 24 of file TValidTrackingRecHit.h.

References TrackingRecHit::clone(), and TrackingRecHit::hit().

24 { return hit()->clone();}
virtual TrackingRecHit * clone() const =0
virtual TrackingRecHit const * hit() const
virtual float TValidTrackingRecHit::clusterProbability ( ) const
inlinevirtual

cluster probability, overloaded by pixel rechits.

Definition at line 63 of file TValidTrackingRecHit.h.

63 { return 1.f; }
float TValidTrackingRecHit::errorGlobalR ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 35 of file TValidTrackingRecHit.h.

References globalPosition(), globalPositionError(), and mathSSE::sqrt().

35 { return std::sqrt(globalPositionError().rerr(globalPosition()));}
GlobalError globalPositionError() const final
virtual GlobalPoint globalPosition() const final
T sqrt(T t)
Definition: SSEVec.h:18
float TValidTrackingRecHit::errorGlobalRPhi ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 37 of file TValidTrackingRecHit.h.

References globalPosition(), globalPositionError(), PV3DBase< T, PVType, FrameType >::perp(), and mathSSE::sqrt().

37 { return globalPosition().perp()*sqrt(globalPositionError().phierr(globalPosition())); }
T perp() const
Definition: PV3DBase.h:72
GlobalError globalPositionError() const final
virtual GlobalPoint globalPosition() const final
T sqrt(T t)
Definition: SSEVec.h:18
float TValidTrackingRecHit::errorGlobalZ ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 36 of file TValidTrackingRecHit.h.

References globalPositionError(), and mathSSE::sqrt().

36 { return std::sqrt(globalPositionError().czz()); }
GlobalError globalPositionError() const final
T sqrt(T t)
Definition: SSEVec.h:18
virtual GlobalPoint TValidTrackingRecHit::globalPosition ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 30 of file TValidTrackingRecHit.h.

References TrackingRecHit::localPosition(), surface(), and Surface::toGlobal().

Referenced by errorGlobalR(), errorGlobalRPhi(), and globalState().

30  {
31  return surface()->toGlobal(localPosition());
32  }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
virtual LocalPoint localPosition() const =0
virtual const Surface * surface() const final
GlobalError TValidTrackingRecHit::globalPositionError ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 34 of file TValidTrackingRecHit.h.

References TrackingRecHit::localPositionError(), surface(), and ErrorFrameTransformer::transform().

Referenced by errorGlobalR(), errorGlobalRPhi(), and errorGlobalZ().

static GlobalError transform(const LocalError &le, const Surface &surf)
virtual LocalError localPositionError() const =0
virtual const Surface * surface() const final
TrackingRecHitGlobalState TValidTrackingRecHit::globalState ( ) const
inline

Definition at line 40 of file TValidTrackingRecHit.h.

References GlobalErrorBase< T, ErrorWeightType >::czz(), globalPosition(), TrackingRecHit::localPositionError(), GlobalErrorBase< T, ErrorWeightType >::phierr(), alignCSCRings::r, GlobalErrorBase< T, ErrorWeightType >::rerr(), mathSSE::sqrt(), surface(), and ErrorFrameTransformer::transform().

40  {
43  auto gp = globalPosition();
44  float r = gp.perp();
45  float errorRPhi = r*std::sqrt(float(globalError.phierr(gp)));
46  float errorR = std::sqrt(float(globalError.rerr(gp)));
47  float errorZ = std::sqrt(float(globalError.czz()));
49  gp.basicVector(), r, gp.barePhi(),
50  errorR,errorZ,errorRPhi
51  };
52  }
static GlobalError transform(const LocalError &le, const Surface &surf)
virtual GlobalPoint globalPosition() const final
T phierr(const GlobalPoint &aPoint) const
T sqrt(T t)
Definition: SSEVec.h:18
virtual LocalError localPositionError() const =0
T rerr(const GlobalPoint &aPoint) const
virtual const Surface * surface() const final
virtual const Surface* TValidTrackingRecHit::surface ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 27 of file TValidTrackingRecHit.h.

References TrackingRecHit::det(), and GeomDet::surface().

Referenced by MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), globalPosition(), globalPositionError(), and globalState().

27 {return &(det()->surface());}
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:40
const GeomDet * det() const