00001 #ifndef TrajectoryAtInvalidHit_H 00002 #define TrajectoryAtInvalidHit_H 00003 00004 // Class to hold the trajectory information at a possibly invalid hit 00005 // For matched layers, the invalid hit on the trajectory is located 00006 // on the matched surface. To compare with rechits propagate the 00007 // information to the actual sensor surface for rphi or stereo 00008 00009 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h" 00010 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementError.h" 00011 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementVector.h" 00012 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00013 #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h" 00014 00015 class Topology; 00016 class TransientTrackingRecHit; 00017 class StripTopology; 00018 class PixelTopology; 00019 class TrajectoryAtInvalidHit { 00020 public: 00021 00022 TrajectoryAtInvalidHit( const TrajectoryMeasurement&, 00023 const TrackerGeometry * tracker, 00024 const Propagator& propagator, 00025 const unsigned int mono = 0); 00026 00027 double localX() const; 00028 double localY() const; 00029 double localErrorX() const; 00030 double localErrorY() const; 00031 00032 double localDxDz() const; 00033 double localDyDz() const; 00034 00035 double localZ() const; 00036 00037 double globalX() const; 00038 double globalY() const; 00039 double globalZ() const; 00040 00041 unsigned int monodet_id() const; 00042 bool withinAcceptance() const; 00043 bool validHit() const; 00044 00045 bool isDoubleSided(unsigned int iidd) const; 00046 TrajectoryStateOnSurface tsos() const; 00047 00048 private: 00049 00050 TrajectoryStateOnSurface theCombinedPredictedState; 00051 float locX,locY, locZ; 00052 float locXError, locYError; 00053 float locDxDz, locDyDz; 00054 float globX, globY, globZ; 00055 unsigned int iidd; 00056 bool acceptance; 00057 bool hasValidHit; 00058 00059 ConstReferenceCountingPointer<TransientTrackingRecHit> theHit; 00060 }; 00061 00062 #endif