CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoEgamma/EgammaElectronAlgos/interface/PixelMatchNextLayers.h

Go to the documentation of this file.
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