CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoPixelVertexing/PixelTriplets/src/CosmicHitTripletGenerator.cc

Go to the documentation of this file.
00001 #include "RecoPixelVertexing/PixelTriplets/interface/CosmicLayerTriplets.h"
00002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00003 #include "RecoPixelVertexing/PixelTriplets/interface/CosmicHitTripletGenerator.h"
00004 
00005 #include <vector>
00006 
00007 using namespace std;
00008 
00009 CosmicHitTripletGenerator::CosmicHitTripletGenerator(CosmicLayerTriplets& layers,
00010                                                    const edm::EventSetup& iSetup)
00011 {
00012   //  vector<LayerTriplets::LayerTriplet> layerTriplets = layers();
00013   vector<CosmicLayerTriplets::LayerPairAndLayers> layerTriplets = layers.layers();
00014   vector<CosmicLayerTriplets::LayerPairAndLayers>::const_iterator it;
00015   for (it = layerTriplets.begin(); it != layerTriplets.end(); it++) {
00016     vector<const LayerWithHits*>::const_iterator ilwh;
00017     for(ilwh=(*it).second.begin();ilwh!=(*it).second.end();ilwh++){
00018  //      const LayerWithHits* first=(*it).first.first;
00019 //       const LayerWithHits* second=(*it).first.second;
00020 //       const LayerWithHits* third=(*ilwh);
00021       //      add( (*it).first.first, (*it).first.second, (*it).second,iSetup);
00022       add( (*it).first.first, (*it).first.second, (*ilwh),iSetup);
00023     }
00024   }
00025 
00026 }
00027 
00028 
00029 
00030 CosmicHitTripletGenerator::~CosmicHitTripletGenerator()
00031 {
00032   Container::const_iterator it;
00033   for (it = theGenerators.begin(); it!= theGenerators.end(); it++) {
00034     delete (*it);
00035   }
00036 }
00037 
00038 
00039 void CosmicHitTripletGenerator::add(
00040                                    const LayerWithHits *inner, 
00041                                    const LayerWithHits* middle,
00042                                    const LayerWithHits *outer,
00043                                    const edm::EventSetup& iSetup) 
00044 { 
00045   theGenerators.push_back( 
00046                           new CosmicHitTripletGeneratorFromLayerTriplet( inner,middle, outer, iSetup));
00047 }
00048 
00049 void CosmicHitTripletGenerator::hitTriplets(
00050                                         const TrackingRegion& region, 
00051                                         OrderedHitTriplets & pairs,
00052                                         const edm::EventSetup& iSetup)
00053 {
00054 
00055   Container::const_iterator i;
00056   for (i=theGenerators.begin(); i!=theGenerators.end(); i++) {
00057     (**i).hitTriplets( region, pairs, iSetup); 
00058   }
00059  
00060 }
00061 
00062