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 beginEvent (const edm::EventSetup &iSetup) override
 
 PFRecHitDualNavigator ()=default
 
 PFRecHitDualNavigator (const edm::ParameterSet &iConfig)
 
- Public Member Functions inherited from PFRecHitNavigatorBase
 PFRecHitNavigatorBase ()=default
 
 PFRecHitNavigatorBase (const edm::ParameterSet &iConfig)
 
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 8 of file PFRecHitDualNavigator.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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 22 of file PFRecHitDualNavigator.h.

References PFRecHitDualNavigator< D1, barrel, D2, endcap >::barrelNav_, PFRecHitDualNavigator< D1, barrel, D2, endcap >::endcapNav_, and reco::PFRecHit::layer().

24  {
25  if (hit.layer() == D1)
26  barrelNav_->associateNeighbours(hit, hits, refProd);
27  else if (hit.layer() == D2)
28  endcapNav_->associateNeighbours(hit, hits, refProd);
29  }
Divides< B, C > D2
Definition: Factorize.h:137
PFLayer::Layer layer() const
rechit layer
Definition: PFRecHit.h:92
Divides< A, C > D1
Definition: Factorize.h:136
template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
void PFRecHitDualNavigator< D1, barrel, D2, endcap >::beginEvent ( const edm::EventSetup iSetup)
inlineoverridevirtual

Member Data Documentation

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