CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public 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 Attributes

std::unique_ptr
< HitPairGeneratorFromLayerPair
theGenerator
 
LayerCacheType theLayerCache
 
edm::EDGetTokenT
< SeedingLayerSetsHits
theSeedingLayerToken
 

Additional Inherited Members

- Public Attributes inherited from OrderedHitsGenerator
unsigned int theMaxElement
 

Detailed Description

Hides set of HitPairGeneratorFromLayerPair generators.

Definition at line 25 of file CombinedHitPairGenerator.h.

Member Typedef Documentation

Definition at line 27 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.

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

Definition at line 13 of file CombinedHitPairGenerator.cc.

13 {}

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 15 of file CombinedHitPairGenerator.cc.

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

18  {
20  ev.getByToken(theSeedingLayerToken, hlayers);
21  const SeedingLayerSetsHits& layers = *hlayers;
22  if (layers.numberOfLayersInSet() != 2)
23  throw cms::Exception("Configuration")
24  << "CombinedHitPairGenerator expects SeedingLayerSetsHits::numberOfLayersInSet() to be 2, got "
25  << layers.numberOfLayersInSet();
26 
27  for (SeedingLayerSetsHits::SeedingLayerSet layerSet : layers) {
28  theGenerator->hitPairs(region, result, ev, es, layerSet);
29  }
30 
32 
33  LogDebug("CombinedHitPairGenerator") << " total number of pairs provided back CHPG : " << result.size();
34 }
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:539
std::unique_ptr< HitPairGeneratorFromLayerPair > theGenerator
edm::EDGetTokenT< SeedingLayerSetsHits > theSeedingLayerToken
unsigned int size() const override
#define LogDebug(id)

Member Data Documentation

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

Definition at line 44 of file CombinedHitPairGenerator.h.

Referenced by CombinedHitPairGenerator(), and hitPairs().

LayerCacheType CombinedHitPairGenerator::theLayerCache
private

Definition at line 42 of file CombinedHitPairGenerator.h.

Referenced by CombinedHitPairGenerator(), and hitPairs().

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

Definition at line 40 of file CombinedHitPairGenerator.h.

Referenced by hitPairs().