Go to the documentation of this file.00001 #ifndef TrajectoryAtInvalidHit_H
00002 #define TrajectoryAtInvalidHit_H
00003
00004
00005
00006
00007
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