CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/RecoTracker/TkHitPairs/interface/CosmicLayerPairs.h

Go to the documentation of this file.
00001 #ifndef CosmicLayerPairs_H
00002 #define CosmicLayerPairs_H
00003 
00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerLayerIdAccessor.h"
00008 #include "RecoTracker/TkHitPairs/interface/SeedLayerPairs.h"
00009 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00010 #include "DataFormats/Common/interface/RangeMap.h"
00011 #include "FWCore/Framework/interface/EventSetup.h"
00012 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h"
00013 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
00014 #include "RecoTracker/TkHitPairs/interface/LayerWithHits.h"
00015 //#include "RecoTracker/TkDetLayers/interface/PixelForwardLayer.h"
00016 #include <vector>
00017 class CosmicLayerPairs : public SeedLayerPairs{
00018 public:
00019   CosmicLayerPairs(std::string geometry):_geometry(geometry){};//:isFirstCall(true){};
00020   ~CosmicLayerPairs();
00021   //  explicit PixelSeedLayerPairs(const edm::EventSetup& iSetup);
00022 
00023 
00024 
00025   //  virtual vector<LayerPair> operator()() const;
00026   std::vector<SeedLayerPairs::LayerPair> operator()() ;
00027   void init(const SiStripRecHit2DCollection &collstereo,
00028              const SiStripRecHit2DCollection &collrphi,
00029              const SiStripMatchedRecHit2DCollection &collmatched,
00030              //std::string geometry,
00031              const edm::EventSetup& iSetup);
00032 
00033 private:
00034 
00035    //bool isFirstCall;
00036    std::string _geometry;
00037 
00038    std::vector<BarrelDetLayer*> bl;
00039    std::vector<ForwardDetLayer*> fpos;
00040    std::vector<ForwardDetLayer*> fneg;
00041    edm::OwnVector<LayerWithHits> TECPlusLayerWithHits;
00042    edm::OwnVector<LayerWithHits> TECMinusLayerWithHits;
00043    edm::OwnVector<LayerWithHits> TIBLayerWithHits;
00044    edm::OwnVector<LayerWithHits> TOBLayerWithHits;
00045    edm::OwnVector<LayerWithHits> MTCCLayerWithHits;
00046    edm::OwnVector<LayerWithHits> CRACKLayerWithHits;
00047 
00048    std::vector<const TrackingRecHit*> selectTECHit(const SiStripRecHit2DCollection &collrphi,
00049                                                                 int side,
00050                                                                 int disk);
00051    std::vector<const TrackingRecHit*> selectTIBHit(const SiStripRecHit2DCollection &collrphi,
00052                                                                 int layer);
00053    std::vector<const TrackingRecHit*> selectTOBHit(const SiStripRecHit2DCollection &collrphi,
00054                                                                 int layer);
00055    std::vector<const TrackingRecHit*> selectTECHit(const SiStripMatchedRecHit2DCollection &collmatch,
00056                                                                 int side,
00057                                                                 int disk);
00058    std::vector<const TrackingRecHit*> selectTIBHit(const SiStripMatchedRecHit2DCollection &collmatch,
00059                                                                 int layer);
00060    std::vector<const TrackingRecHit*> selectTOBHit(const SiStripMatchedRecHit2DCollection &collmatch,
00061                                                                 int layer);     
00062 };
00063 
00064 
00065 
00066 
00067 #endif