CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/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/TkHitPairs/interface/SeedLayerPairs.h"
00016 
00017 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
00018 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
00019 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
00020 
00021 
00022 #include <vector>
00023 class CosmicLayerTriplets {
00024 public:
00025   CosmicLayerTriplets():isFirstCall(true){};
00026   ~CosmicLayerTriplets();
00027   //  explicit PixelSeedLayerPairs(const edm::EventSetup& iSetup);
00028  typedef std::pair<SeedLayerPairs::LayerPair, std::vector<const LayerWithHits*> > LayerPairAndLayers;
00029 
00030 
00031   //  virtual std::vector<LayerPair> operator()() const;
00032   //  std::vector<LayerTriplet> operator()() ;
00033   std::vector<LayerPairAndLayers> layers();
00034 
00035 private:
00036 
00037   //definition of the map 
00038  
00039 
00040   TrackerLayerIdAccessor acc;
00041   
00042   LayerWithHits *lh1;
00043   LayerWithHits *lh2;
00044   LayerWithHits *lh3;
00045   LayerWithHits *lh4;
00046 
00047    std::vector<BarrelDetLayer*> bl;
00048    std::vector<ForwardDetLayer*> fpos;
00049    std::vector<ForwardDetLayer*> fneg;
00050    //MP
00051    std::vector<LayerWithHits*> allLayersWithHits;
00052    bool isFirstCall;
00053  public:
00054  
00055    void init(const SiStripRecHit2DCollection &collstereo,
00056              const SiStripRecHit2DCollection &collrphi,
00057              const SiStripMatchedRecHit2DCollection &collmatched,
00058              std::string geometry,
00059              const edm::EventSetup& iSetup);
00060 
00061  private:
00062  std::string _geometry;
00063 };
00064 
00065 
00066 
00067 
00068 #endif