CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CalibTracker/SiStripHitEfficiency/interface/TrajectoryAtInvalidHit.h

Go to the documentation of this file.
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 TrackerTopology;
00020 
00021 class TrajectoryAtInvalidHit {
00022 public:
00023 
00024   TrajectoryAtInvalidHit( const TrajectoryMeasurement&, 
00025                         const TrackerTopology * tTopo, 
00026                         const TrackerGeometry * tracker, 
00027                         const Propagator& propagator,
00028                         const unsigned int mono = 0);
00029 
00030   double localX() const;
00031   double localY() const;
00032   double localErrorX() const;
00033   double localErrorY() const;
00034 
00035   double localDxDz() const;
00036   double localDyDz() const;
00037 
00038   double localZ() const;
00039 
00040   double globalX() const;
00041   double globalY() const;
00042   double globalZ() const;
00043 
00044   unsigned int monodet_id() const;
00045   bool withinAcceptance() const;
00046   bool validHit() const;
00047 
00048   bool isDoubleSided(unsigned int iidd, const TrackerTopology* tTopo) const;
00049   TrajectoryStateOnSurface tsos() const;
00050 
00051 private:
00052 
00053   TrajectoryStateOnSurface theCombinedPredictedState;
00054   float locX,locY, locZ;
00055   float locXError, locYError;
00056   float locDxDz, locDyDz;
00057   float globX, globY, globZ;
00058   unsigned int iidd;
00059   bool acceptance;
00060   bool hasValidHit;
00061 
00062   ConstReferenceCountingPointer<TransientTrackingRecHit> theHit;
00063 };
00064 
00065 #endif