File indexing completed on 2024-04-06 11:59:53
0001 #ifndef TrajectoryAtInvalidHit_H
0002 #define TrajectoryAtInvalidHit_H
0003
0004
0005
0006
0007
0008
0009 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h"
0010 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementError.h"
0011 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementVector.h"
0012 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0013 #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
0014
0015 class Topology;
0016 class TrackingRecHit;
0017 class StripTopology;
0018 class PixelTopology;
0019 class TrackerTopology;
0020
0021 class TrajectoryAtInvalidHit {
0022 public:
0023 TrajectoryAtInvalidHit(const TrajectoryMeasurement&,
0024 const TrackerTopology* tTopo,
0025 const TrackerGeometry* tracker,
0026 const Propagator& propagator,
0027 const unsigned int mono = 0);
0028
0029 double localX() const;
0030 double localY() const;
0031 double localErrorX() const;
0032 double localErrorY() const;
0033
0034 double localDxDz() const;
0035 double localDyDz() const;
0036
0037 double localZ() const;
0038
0039 double globalX() const;
0040 double globalY() const;
0041 double globalZ() const;
0042
0043 unsigned int monodet_id() const;
0044 bool withinAcceptance() const;
0045 bool validHit() const;
0046
0047 bool isDoubleSided(unsigned int iidd, const TrackerTopology* tTopo) const;
0048 TrajectoryStateOnSurface tsos() const;
0049
0050 private:
0051 TrajectoryStateOnSurface theCombinedPredictedState;
0052 float locX, locY, locZ;
0053 float locXError, locYError;
0054 float locDxDz, locDyDz;
0055 float globX, globY, globZ;
0056 unsigned int iidd;
0057 bool acceptance;
0058 bool hasValidHit;
0059
0060 TrackingRecHit::ConstRecHitPointer theHit;
0061 };
0062
0063 #endif