CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
PFRecHitDualNavigator< D1, barrel, D2, endcap > Class Template Reference

#include <PFRecHitDualNavigator.h>

Inheritance diagram for PFRecHitDualNavigator< D1, barrel, D2, endcap >:
PFRecHitNavigatorBase

Public Member Functions

void associateNeighbours (reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd) override
 
void init (const edm::EventSetup &iSetup) override
 
 PFRecHitDualNavigator ()=default
 
 PFRecHitDualNavigator (const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
 
- Public Member Functions inherited from PFRecHitNavigatorBase
 PFRecHitNavigatorBase ()=default
 
 PFRecHitNavigatorBase (const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
 
virtual ~PFRecHitNavigatorBase ()=default
 

Protected Attributes

barrel * barrelNav_
 
endcap * endcapNav_
 

Additional Inherited Members

- Public Types inherited from PFRecHitNavigatorBase
typedef std::unordered_map< unsigned, unsigned > DetIdToHitIdx
 
- Protected Member Functions inherited from PFRecHitNavigatorBase
void associateNeighbour (const DetId &id, reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd, short eta, short phi, short depth)
 

Detailed Description

template<PFLayer::Layer D1, typename barrel, PFLayer::Layer D2, typename endcap>
class PFRecHitDualNavigator< D1, barrel, D2, endcap >

Definition at line 9 of file PFRecHitDualNavigator.h.

Constructor & Destructor Documentation

◆ PFRecHitDualNavigator() [1/2]

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
PFRecHitDualNavigator< D1, barrel, D2, endcap >::PFRecHitDualNavigator ( )
default

◆ PFRecHitDualNavigator() [2/2]

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
PFRecHitDualNavigator< D1, barrel, D2, endcap >::PFRecHitDualNavigator ( const edm::ParameterSet iConfig,
edm::ConsumesCollector cc 
)
inline

Member Function Documentation

◆ associateNeighbours()

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
void PFRecHitDualNavigator< D1, barrel, D2, endcap >::associateNeighbours ( reco::PFRecHit hit,
std::unique_ptr< reco::PFRecHitCollection > &  hits,
edm::RefProd< reco::PFRecHitCollection > &  refProd 
)
inlineoverridevirtual

Implements PFRecHitNavigatorBase.

Definition at line 23 of file PFRecHitDualNavigator.h.

References PFRecHitDualNavigator< D1, barrel, D2, endcap >::barrelNav_, PFRecHitDualNavigator< D1, barrel, D2, endcap >::endcapNav_, and hfClusterShapes_cfi::hits.

25  {
26  if (hit.layer() == D1)
27  barrelNav_->associateNeighbours(hit, hits, refProd);
28  else if (hit.layer() == D2)
29  endcapNav_->associateNeighbours(hit, hits, refProd);
30  }
Divides< B, C > D2
Definition: Factorize.h:137
Divides< A, C > D1
Definition: Factorize.h:136

◆ init()

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
void PFRecHitDualNavigator< D1, barrel, D2, endcap >::init ( const edm::EventSetup iSetup)
inlineoverridevirtual

Member Data Documentation

◆ barrelNav_

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
barrel* PFRecHitDualNavigator< D1, barrel, D2, endcap >::barrelNav_
protected

◆ endcapNav_

template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
endcap* PFRecHitDualNavigator< D1, barrel, D2, endcap >::endcapNav_
protected