![]() |
![]() |
#include <RecoTracker/SpecialSeedGenerators/interface/GenericPairGenerator.h>
Public Member Functions | |
GenericPairGenerator (const edm::ParameterSet &conf) | |
virtual const OrderedSeedingHits & | run (const TrackingRegion ®ion, const edm::Event &ev, const edm::EventSetup &es) |
virtual | ~GenericPairGenerator () |
Private Member Functions | |
ctfseeding::SeedingLayerSets | init (const edm::EventSetup &es) |
Private Attributes | |
OrderedHitPairs | hitPairs |
SeedingLayerSetsBuilder | theLsb |
Definition at line 14 of file GenericPairGenerator.h.
GenericPairGenerator::GenericPairGenerator | ( | const edm::ParameterSet & | conf | ) |
Definition at line 8 of file GenericPairGenerator.cc.
00008 : 00009 theLsb(conf.getParameter<edm::ParameterSet>("LayerPSet")){ 00010 edm::LogInfo("CtfSpecialSeedGenerator|GenericPairGenerator") << "Constructing GenericPairGenerator"; 00011 }
virtual GenericPairGenerator::~GenericPairGenerator | ( | ) | [inline, virtual] |
SeedingLayerSets GenericPairGenerator::init | ( | const edm::EventSetup & | es | ) | [private] |
Definition at line 14 of file GenericPairGenerator.cc.
References SeedingLayerSetsBuilder::layers(), and theLsb.
Referenced by run().
00014 { 00015 //edm::ParameterSet leyerPSet = conf_.getParameter<edm::ParameterSet>("LayerPSet"); 00016 //SeedingLayerSetsBuilder lsBuilder(leyerPSet); 00017 SeedingLayerSets lss = theLsb.layers(es); 00018 return lss; 00019 }
const OrderedSeedingHits & GenericPairGenerator::run | ( | const TrackingRegion & | region, | |
const edm::Event & | ev, | |||
const edm::EventSetup & | es | |||
) | [virtual] |
Implements OrderedHitsGenerator.
Definition at line 22 of file GenericPairGenerator.cc.
References Exception, hitPairs, TrackingRegion::hits(), init(), and ls.
00024 { 00025 hitPairs.clear(); 00026 hitPairs.reserve(0); 00027 SeedingLayerSets lss = init(es); 00028 SeedingLayerSets::const_iterator iLss; 00029 for (iLss = lss.begin(); iLss != lss.end(); iLss++){ 00030 SeedingLayers ls = *iLss; 00031 if (ls.size() != 2){ 00032 throw cms::Exception("CtfSpecialSeedGenerator") << "You are using " << ls.size() <<" layers in set instead of 2 "; 00033 } 00034 std::vector<SeedingHit> innerHits = region.hits(e, es, &ls[0]); 00035 std::vector<SeedingHit> outerHits = region.hits(e, es, &ls[1]); 00036 std::vector<SeedingHit>::const_iterator iOuterHit; 00037 for (iOuterHit = outerHits.begin(); iOuterHit != outerHits.end(); iOuterHit++){ 00038 std::vector<SeedingHit>::const_iterator iInnerHit; 00039 for (iInnerHit = innerHits.begin(); iInnerHit != innerHits.end(); iInnerHit++){ 00040 hitPairs.push_back(OrderedHitPair(*iInnerHit, 00041 *iOuterHit)); 00042 } 00043 } 00044 } 00045 return hitPairs; 00046 }