CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
CombinedHitPairGenerator Class Reference

#include <CombinedHitPairGenerator.h>

Inheritance diagram for CombinedHitPairGenerator:
HitPairGenerator OrderedHitsGenerator

Public Types

typedef LayerHitMapCache LayerCacheType
 

Public Member Functions

 CombinedHitPairGenerator (const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
 
void hitPairs (const TrackingRegion &reg, OrderedHitPairs &result, const edm::Event &ev, const edm::EventSetup &es) override
 form base class More...
 
 ~CombinedHitPairGenerator () override
 
- Public Member Functions inherited from HitPairGenerator
void clear () final
 
 HitPairGenerator (unsigned int size=4000)
 
 HitPairGenerator (HitPairGenerator const &other)
 
const OrderedHitPairsrun (const TrackingRegion &region, const edm::Event &ev, const edm::EventSetup &es) override
 
 ~HitPairGenerator () override
 
- Public Member Functions inherited from OrderedHitsGenerator
 OrderedHitsGenerator ()
 
virtual ~OrderedHitsGenerator ()
 

Private Member Functions

 CombinedHitPairGenerator (const CombinedHitPairGenerator &cb)
 

Private Attributes

std::unique_ptr< HitPairGeneratorFromLayerPairtheGenerator
 
LayerCacheType theLayerCache
 
edm::EDGetTokenT< SeedingLayerSetsHitstheSeedingLayerToken
 

Additional Inherited Members

- Public Attributes inherited from OrderedHitsGenerator
unsigned int theMaxElement
 

Detailed Description

Hides set of HitPairGeneratorFromLayerPair generators.

Definition at line 23 of file CombinedHitPairGenerator.h.

Member Typedef Documentation

Definition at line 25 of file CombinedHitPairGenerator.h.

Constructor & Destructor Documentation

CombinedHitPairGenerator::CombinedHitPairGenerator ( const edm::ParameterSet cfg,
edm::ConsumesCollector iC 
)

Definition at line 7 of file CombinedHitPairGenerator.cc.

References edm::ParameterSet::getParameter(), theGenerator, theLayerCache, and OrderedHitsGenerator::theMaxElement.

7  :
9 {
10  theMaxElement = cfg.getParameter<unsigned int>("maxElement");
11  theGenerator = std::make_unique<HitPairGeneratorFromLayerPair>(0, 1, &theLayerCache, theMaxElement);
12 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
std::unique_ptr< HitPairGeneratorFromLayerPair > theGenerator
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken
CombinedHitPairGenerator::~CombinedHitPairGenerator ( )
override

Definition at line 21 of file CombinedHitPairGenerator.cc.

21 {}
CombinedHitPairGenerator::CombinedHitPairGenerator ( const CombinedHitPairGenerator cb)
private

Definition at line 14 of file CombinedHitPairGenerator.cc.

References OrderedHitsGenerator::theMaxElement.

14  :
16  theGenerator(std::make_unique<HitPairGeneratorFromLayerPair>(0, 1, &theLayerCache, cb.theMaxElement))
17 {
19 }
std::unique_ptr< HitPairGeneratorFromLayerPair > theGenerator
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken

Member Function Documentation

void CombinedHitPairGenerator::hitPairs ( const TrackingRegion reg,
OrderedHitPairs result,
const edm::Event ev,
const edm::EventSetup es 
)
overridevirtual

form base class

Implements HitPairGenerator.

Definition at line 23 of file CombinedHitPairGenerator.cc.

References LayerHitMapCache::clear(), edm::Event::getByToken(), LayerTriplets::layers(), LogDebug, SeedingLayerSetsHits::numberOfLayersInSet(), OrderedHitPairs::size(), theGenerator, theLayerCache, and theSeedingLayerToken.

26 {
28  ev.getByToken(theSeedingLayerToken, hlayers);
29  const SeedingLayerSetsHits& layers = *hlayers;
30  if(layers.numberOfLayersInSet() != 2)
31  throw cms::Exception("Configuration") << "CombinedHitPairGenerator expects SeedingLayerSetsHits::numberOfLayersInSet() to be 2, got " << layers.numberOfLayersInSet();
32 
33  for(SeedingLayerSetsHits::SeedingLayerSet layerSet: layers) {
34  theGenerator->hitPairs( region, result, ev, es, layerSet);
35  }
36 
38 
39  LogDebug("CombinedHitPairGenerator")<<" total number of pairs provided back CHPG : "<<result.size();
40 
41 }
#define LogDebug(id)
unsigned short numberOfLayersInSet() const
Get number of layers in each SeedingLayerSets.
std::vector< LayerSetAndLayers > layers(const SeedingLayerSetsHits &sets)
Definition: LayerTriplets.cc:4
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
std::unique_ptr< HitPairGeneratorFromLayerPair > theGenerator
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken
unsigned int size() const override

Member Data Documentation

std::unique_ptr<HitPairGeneratorFromLayerPair> CombinedHitPairGenerator::theGenerator
private

Definition at line 42 of file CombinedHitPairGenerator.h.

Referenced by CombinedHitPairGenerator(), and hitPairs().

LayerCacheType CombinedHitPairGenerator::theLayerCache
private

Definition at line 40 of file CombinedHitPairGenerator.h.

Referenced by CombinedHitPairGenerator(), and hitPairs().

edm::EDGetTokenT<SeedingLayerSetsHits> CombinedHitPairGenerator::theSeedingLayerToken
private

Definition at line 38 of file CombinedHitPairGenerator.h.

Referenced by hitPairs().