00001 #ifndef PIXELMATCHNEXTLAYERS_H 00002 #define PIXELMATCHNEXTLAYERS_H 00003 // -*- C++ -*- 00004 // 00005 // Package: EgammaElectronAlgos 00006 // Class: PixelMatchNextLayers 00007 // 00015 // 00016 // Original Author: Ursula Berthon, Claude Charlot 00017 // Created: Mon Mar 27 13:22:06 CEST 2006 00018 // $Id: PixelMatchNextLayers.h,v 1.10 2013/01/02 18:59:12 dlange Exp $ 00019 // 00020 // 00021 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h" 00022 #include "CLHEP/Vector/ThreeVector.h" 00023 #include "RecoEgamma/EgammaElectronAlgos/interface/BarrelMeasurementEstimator.h" 00024 #include "RecoEgamma/EgammaElectronAlgos/interface/ForwardMeasurementEstimator.h" 00025 #include <vector> 00026 00027 class DetLayer; 00028 class FreeTrajectoryState; 00029 class PropagatorWithMaterial; 00030 class LayerMeasurements; 00031 class TrackerTopology; 00032 00033 class PixelMatchNextLayers { 00034 00035 public: 00036 PixelMatchNextLayers(const LayerMeasurements * theLayerMeasurements, const DetLayer* ilayer, FreeTrajectoryState & aFTS, 00037 const PropagatorWithMaterial *aProp, 00038 const BarrelMeasurementEstimator *aBarrelMeas, 00039 const ForwardMeasurementEstimator *aForwardMeas, 00040 const TrackerTopology *tTopo, 00041 bool searchInTIDTEC); 00042 std::vector<TrajectoryMeasurement> measurementsInNextLayers() const; 00043 std::vector<TrajectoryMeasurement> badMeasurementsInNextLayers() const; 00044 //RC vector<TSiPixelRecHit> hitsInNextLayers() const; 00045 //In this way we are losing the information about the kind of the ReferenceCounted TTRH? 00046 TransientTrackingRecHit::RecHitContainer hitsInNextLayers() const; 00047 std::vector<CLHEP::Hep3Vector> predictionInNextLayers() const; 00048 00049 00050 private: 00051 00052 std::vector<TrajectoryMeasurement> measurementsHere; 00053 std::vector<TrajectoryMeasurement> badMeasurementsHere; 00054 TransientTrackingRecHit::RecHitContainer hitsHere; 00055 std::vector<CLHEP::Hep3Vector> predictionHere; 00056 }; 00057 00058 #endif 00059 00060 00061 00062