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.6 2008/02/27 12:54:57 uberthon 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 00032 class PixelMatchNextLayers { 00033 00034 public: 00035 PixelMatchNextLayers(const LayerMeasurements * theLayerMeasurements, const DetLayer* ilayer, FreeTrajectoryState & aFTS, 00036 const PropagatorWithMaterial *aProp, 00037 const BarrelMeasurementEstimator *aBarrelMeas, 00038 const ForwardMeasurementEstimator *aForwardMeas,bool searchInTIDTEC); 00039 std::vector<TrajectoryMeasurement> measurementsInNextLayers() const; 00040 std::vector<TrajectoryMeasurement> badMeasurementsInNextLayers() const; 00041 //RC vector<TSiPixelRecHit> hitsInNextLayers() const; 00042 //In this way we are losing the information about the kind of the ReferenceCounted TTRH? 00043 TransientTrackingRecHit::RecHitContainer hitsInNextLayers() const; 00044 std::vector<Hep3Vector> predictionInNextLayers() const; 00045 00046 00047 private: 00048 00049 std::vector<TrajectoryMeasurement> measurementsHere; 00050 std::vector<TrajectoryMeasurement> badMeasurementsHere; 00051 TransientTrackingRecHit::RecHitContainer hitsHere; 00052 std::vector<Hep3Vector> predictionHere; 00053 }; 00054 00055 #endif 00056 00057 00058 00059