CMS 3D CMS Logo

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   SiStripRecHit2DCollection::range rphi_range1;
00043   SiStripRecHit2DCollection::range rphi_range2;
00044   SiStripRecHit2DCollection::range rphi_range3;
00045   SiStripRecHit2DCollection::range rphi_range4;
00046 
00047   SiStripRecHit2DCollection::range stereo_range1;
00048   SiStripRecHit2DCollection::range stereo_range2;
00049   SiStripRecHit2DCollection::range stereo_range3;
00050 
00051   SiStripMatchedRecHit2DCollection::range match_range1;
00052   SiStripMatchedRecHit2DCollection::range match_range2;
00053   TrackerLayerIdAccessor acc;
00054   
00055   LayerWithHits *lh1;
00056   LayerWithHits *lh2;
00057   LayerWithHits *lh3;
00058   LayerWithHits *lh4;
00059 
00060    std::vector<BarrelDetLayer*> bl;
00061    std::vector<ForwardDetLayer*> fpos;
00062    std::vector<ForwardDetLayer*> fneg;
00063    //MP
00064    std::vector<LayerWithHits*> allLayersWithHits;
00065    bool isFirstCall;
00066  public:
00067  
00068    void init(const SiStripRecHit2DCollection &collstereo,
00069              const SiStripRecHit2DCollection &collrphi,
00070              const SiStripMatchedRecHit2DCollection &collmatched,
00071              std::string geometry,
00072              const edm::EventSetup& iSetup);
00073 
00074  private:
00075  std::string _geometry;
00076 };
00077 
00078 
00079 
00080 
00081 #endif

Generated on Tue Jun 9 17:44:53 2009 for CMSSW by  doxygen 1.5.4