#include <MuonNavigationSchool.h>
Classes | |
struct | delete_layer |
Public Member Functions | |
MuonNavigationSchool (const MuonDetLayerGeometry *, bool enableRPC=true) | |
Constructor. More... | |
virtual StateType | navigableLayers () override |
return navigable layers, from base class More... | |
~MuonNavigationSchool () | |
Destructor. More... | |
Public Member Functions inherited from NavigationSchool | |
const std::vector< const DetLayer * > & | allLayersInSystem () const |
template<typename... Args> | |
std::vector< const DetLayer * > | compatibleLayers (const DetLayer &detLayer, Args &&...args) const |
Returns all layers compatible. More... | |
NavigationSchool () | |
template<typename... Args> | |
std::vector< const DetLayer * > | nextLayers (const DetLayer &detLayer, Args &&...args) const |
NavigationDirection. More... | |
virtual | ~NavigationSchool () |
Private Member Functions | |
void | addBarrelLayer (const BarrelDetLayer *) |
add barrel layer More... | |
void | addEndcapLayer (const ForwardDetLayer *) |
add endcap layer (backward and forward) More... | |
float | calculateEta (const float &, const float &) const |
calculate pseudorapidity from r and z More... | |
void | createInverseLinks () |
establish inward links More... | |
void | linkBarrelLayers () |
link barrel layers More... | |
void | linkEndcapLayers (const MapE &, std::vector< MuonForwardNavigableLayer * > &) |
link endcap layers More... | |
Private Attributes | |
MapE | theBackwardLayers |
+z endcap More... | |
std::vector < MuonForwardNavigableLayer * > | theBackwardNLC |
MapB | theBarrelLayers |
std::vector < MuonBarrelNavigableLayer * > | theBarrelNLC |
-z endcap More... | |
MapE | theForwardLayers |
barrel More... | |
std::vector < MuonForwardNavigableLayer * > | theForwardNLC |
const MuonDetLayerGeometry * | theMuonDetLayerGeometry |
Additional Inherited Members | |
Public Types inherited from NavigationSchool | |
typedef std::vector < NavigableLayer * > | StateType |
Protected Member Functions inherited from NavigationSchool | |
void | setState (const StateType &state) |
Protected Attributes inherited from NavigationSchool | |
const std::vector< const DetLayer * > * | theAllDetLayersInSystem |
StateType | theAllNavigableLayer |
Description: Navigation school for the muon system This class defines which DetLayers are reacheable from each Muon DetLayer (DT, CSC and RPC). The reacheableness is based on an eta range criteria.
Modification:
Chang Liu: The class links maps for nextLayers and compatibleLayers in the same time.
Definition at line 34 of file MuonNavigationSchool.h.
MuonNavigationSchool::MuonNavigationSchool | ( | const MuonDetLayerGeometry * | muonLayout, |
bool | enableRPC = true |
||
) |
Constructor.
Definition at line 38 of file MuonNavigationSchool.cc.
References addBarrelLayer(), addEndcapLayer(), MuonDetLayerGeometry::allBarrelLayers(), MuonDetLayerGeometry::allCSCLayers(), MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::allEndcapLayers(), MuonDetLayerGeometry::allLayers(), Reference_intrackfit_cff::barrel, createInverseLinks(), Reference_intrackfit_cff::endcap, edm::hlt::Exception, i, linkBarrelLayers(), linkEndcapLayers(), NavigationSchool::theAllDetLayersInSystem, NavigationSchool::theAllNavigableLayer, theBackwardLayers, theBackwardNLC, theForwardLayers, and theForwardNLC.
MuonNavigationSchool::~MuonNavigationSchool | ( | ) |
Destructor.
Definition at line 79 of file MuonNavigationSchool.cc.
References theBackwardNLC, theBarrelNLC, and theForwardNLC.
|
private |
add barrel layer
create barrel layer map
Definition at line 115 of file MuonNavigationSchool.cc.
References calculateEta(), CosmicsPD_Skims::radius, BarrelDetLayer::specificSurface(), and theBarrelLayers.
Referenced by MuonNavigationSchool().
|
private |
add endcap layer (backward and forward)
create forwrad/backward layer maps
Definition at line 130 of file MuonNavigationSchool.cc.
References calculateEta(), ForwardDetLayer::specificSurface(), theBackwardLayers, theForwardLayers, and detailsBasic3DVector::z.
Referenced by MuonNavigationSchool().
|
private |
calculate pseudorapidity from r and z
Definition at line 152 of file MuonNavigationSchool.cc.
References log, and funct::tan().
Referenced by addBarrelLayer(), and addEndcapLayer().
|
private |
establish inward links
create inverse links (i.e. inwards)
Definition at line 263 of file MuonNavigationSchool.cc.
References MuonBarrelNavigableLayer::getAllOuterBackwardLayers(), MuonBarrelNavigableLayer::getAllOuterBarrelLayers(), MuonBarrelNavigableLayer::getAllOuterForwardLayers(), MuonBarrelNavigableLayer::getOuterBackwardLayers(), MuonBarrelNavigableLayer::getOuterBarrelLayers(), MuonBarrelNavigableLayer::getOuterForwardLayers(), i, navigableLayers(), MuonForwardNavigableLayer::setInwardCompatibleLinks(), MuonBarrelNavigableLayer::setInwardCompatibleLinks(), MuonForwardNavigableLayer::setInwardLinks(), MuonBarrelNavigableLayer::setInwardLinks(), NavigationSchool::setState(), NavigationSchool::theAllNavigableLayer, theBackwardLayers, theBarrelLayers, and theForwardLayers.
Referenced by MuonNavigationSchool().
|
private |
link barrel layers
linking barrel layers outwards
Definition at line 160 of file MuonNavigationSchool.cc.
References theBackwardLayers, theBarrelLayers, theBarrelNLC, and theForwardLayers.
Referenced by MuonNavigationSchool().
|
private |
link endcap layers
linking forward/backward layers outwards
Definition at line 222 of file MuonNavigationSchool.cc.
References MuonEtaRange::add(), MuonEtaRange::isCompatible(), MuonEtaRange::isInside(), prof2calltree::l, bookConverter::max, GetRecoTauVFromDQM_MC_cff::next, and MuonEtaRange::subtract().
Referenced by MuonNavigationSchool().
|
overridevirtual |
return navigable layers, from base class
return all Navigable layers
Implements NavigationSchool.
Definition at line 90 of file MuonNavigationSchool.cc.
References cuy::ib, query::result, theBackwardNLC, theBarrelNLC, and theForwardNLC.
Referenced by createInverseLinks().
|
private |
+z endcap
Definition at line 73 of file MuonNavigationSchool.h.
Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().
|
private |
Definition at line 77 of file MuonNavigationSchool.h.
Referenced by MuonNavigationSchool(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
Definition at line 71 of file MuonNavigationSchool.h.
Referenced by addBarrelLayer(), createInverseLinks(), and linkBarrelLayers().
|
private |
-z endcap
Definition at line 75 of file MuonNavigationSchool.h.
Referenced by linkBarrelLayers(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
barrel
Definition at line 72 of file MuonNavigationSchool.h.
Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().
|
private |
Definition at line 76 of file MuonNavigationSchool.h.
Referenced by MuonNavigationSchool(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
Definition at line 79 of file MuonNavigationSchool.h.