CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoPixelVertexing/PixelTriplets/interface/CosmicHitTripletGenerator.h

Go to the documentation of this file.
00001 #ifndef CosmicHitTripletGenerator_H
00002 #define CosmicHitTripletGenerator_H
00003 
00004 #include <vector>
00005 #include "RecoPixelVertexing/PixelTriplets/interface/HitTripletGenerator.h"
00006 #include "RecoPixelVertexing/PixelTriplets/interface/CosmicHitTripletGeneratorFromLayerTriplet.h"
00007 #include "DataFormats/Common/interface/RangeMap.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 
00010 class LayerWithHits;
00011 class DetLayer;
00012 class TrackingRegion;
00013 class CosmicLayerTriplets;
00014 class HitTripletGeneratorFromLayerTriplet;
00015 
00016 
00021 class CosmicHitTripletGenerator : public HitTripletGenerator{
00022 
00023   typedef std::vector<CosmicHitTripletGeneratorFromLayerTriplet *>   Container;
00024 
00025 public:
00026   CosmicHitTripletGenerator(CosmicLayerTriplets& layers, const edm::EventSetup& iSetup);
00027   CosmicHitTripletGenerator(CosmicLayerTriplets& layers);
00028 
00029 
00030   ~CosmicHitTripletGenerator();
00031 
00033     //  void  add(const DetLayer* inner, const DetLayer* outer);
00034     void  add(const LayerWithHits* inner, 
00035               const LayerWithHits* middle,
00036               const LayerWithHits* outer,
00037               const edm::EventSetup& iSetup);
00039   virtual void hitTriplets( const TrackingRegion& reg, 
00040                          OrderedHitTriplets & prs, 
00041                          const edm::EventSetup& iSetup);
00042 
00043   virtual void hitTriplets( const TrackingRegion& reg, 
00044                          OrderedHitTriplets & prs, 
00045                    const edm::Event& ev,
00046                          const edm::EventSetup& iSetup) { }
00047 
00049   virtual CosmicHitTripletGenerator * clone() const 
00050     { return new CosmicHitTripletGenerator(*this); }
00051 
00052 private:
00053 
00054 
00055   Container        theGenerators;
00056 
00057 };
00058 #endif