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)
 
void beginEvent (const edm::EventSetup &iSetup)
 
 PFRecHitDualNavigator ()
 
 PFRecHitDualNavigator (const edm::ParameterSet &iConfig)
 
- Public Member Functions inherited from PFRecHitNavigatorBase
 PFRecHitNavigatorBase ()
 
 PFRecHitNavigatorBase (const edm::ParameterSet &iConfig)
 
virtual ~PFRecHitNavigatorBase ()
 

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

Constructor & Destructor Documentation

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

Definition at line 13 of file PFRecHitDualNavigator.h.

13  {
14  }
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 
)
inlinevirtual

Implements PFRecHitNavigatorBase.

Definition at line 29 of file PFRecHitDualNavigator.h.

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

29  {
30  if (hit.layer() == D1)
31  barrelNav_->associateNeighbours(hit,hits,refProd);
32  else if (hit.layer() == D2)
33  endcapNav_->associateNeighbours(hit,hits,refProd);
34  }
Divides< B, C > D2
Definition: Factorize.h:145
PFLayer::Layer layer() const
rechit layer
Definition: PFRecHit.h:111
Divides< A, C > D1
Definition: Factorize.h:144
template<PFLayer::Layer D1, typename barrel , PFLayer::Layer D2, typename endcap >
void PFRecHitDualNavigator< D1, barrel, D2, endcap >::beginEvent ( const edm::EventSetup iSetup)
inlinevirtual

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