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
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
00019
00020
00021
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