CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoPixelVertexing/PixelTriplets/interface/CosmicLayerTriplets.h

Go to the documentation of this file.
00001 #ifndef CosmicLayerTriplets_H
00002 #define CosmicLayerTriplets_H
00003 
00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerLayerIdAccessor.h"
00008 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00009 #include "DataFormats/Common/interface/RangeMap.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h"
00012 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
00013 #include "RecoTracker/TkHitPairs/interface/LayerWithHits.h"
00014 //#include "RecoTracker/TkDetLayers/interface/PixelForwardLayer.h"
00015 #include "RecoTracker/TkDetLayers/interface/TOBLayer.h"
00016 #include "RecoTracker/TkDetLayers/interface/TIBLayer.h"
00017 #include "RecoTracker/TkHitPairs/interface/SeedLayerPairs.h"
00018 
00019 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00020 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
00021 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00022 
00023 
00024 #include <vector>
00025 class CosmicLayerTriplets {
00026 public:
00027   CosmicLayerTriplets():isFirstCall(true){};
00028   ~CosmicLayerTriplets();
00029   //  explicit PixelSeedLayerPairs(const edm::EventSetup& iSetup);
00030  typedef std::pair<SeedLayerPairs::LayerPair, std::vector<const LayerWithHits*> > LayerPairAndLayers;
00031 
00032 
00033   //  virtual std::vector<LayerPair> operator()() const;
00034   //  std::vector<LayerTriplet> operator()() ;
00035   std::vector<LayerPairAndLayers> layers();
00036 
00037 private:
00038 
00039   //definition of the map 
00040  
00041 
00042   TrackerLayerIdAccessor acc;
00043   
00044   LayerWithHits *lh1;
00045   LayerWithHits *lh2;
00046   LayerWithHits *lh3;
00047   LayerWithHits *lh4;
00048 
00049    std::vector<BarrelDetLayer*> bl;
00050    std::vector<ForwardDetLayer*> fpos;
00051    std::vector<ForwardDetLayer*> fneg;
00052    //MP
00053    std::vector<LayerWithHits*> allLayersWithHits;
00054    bool isFirstCall;
00055  public:
00056  
00057    void init(const SiStripRecHit2DCollection &collstereo,
00058              const SiStripRecHit2DCollection &collrphi,
00059              const SiStripMatchedRecHit2DCollection &collmatched,
00060              std::string geometry,
00061              const edm::EventSetup& iSetup);
00062 
00063  private:
00064  std::string _geometry;
00065 };
00066 
00067 
00068 
00069 
00070 #endif