#include <MuonNavigationSchool.h>
Classes | |
struct | delete_layer |
Public Member Functions | |
MuonNavigationSchool (const MuonDetLayerGeometry *, bool enableRPC=true, bool enableCSC=true, bool enableGEM=false, bool enableME0=false) | |
Constructor. More... | |
StateType | navigableLayers () override |
return navigable layers, from base class More... | |
~MuonNavigationSchool () override | |
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.
Cesare Calabria: GEMs implementation.
David Nash: ME0s implementation.
Definition at line 39 of file MuonNavigationSchool.h.
MuonNavigationSchool::MuonNavigationSchool | ( | const MuonDetLayerGeometry * | muonLayout, |
bool | enableRPC = true , |
||
bool | enableCSC = true , |
||
bool | enableGEM = false , |
||
bool | enableME0 = false |
||
) |
Constructor.
Definition at line 42 of file MuonNavigationSchool.cc.
References addBarrelLayer(), addEndcapLayer(), MuonDetLayerGeometry::allBarrelLayers(), MuonDetLayerGeometry::allCSCLayers(), MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::allEndcapCscGemLayers(), MuonDetLayerGeometry::allEndcapCscME0Layers(), MuonDetLayerGeometry::allEndcapLayers(), MuonDetLayerGeometry::allGEMLayers(), MuonDetLayerGeometry::allLayers(), MuonDetLayerGeometry::allME0Layers(), Reference_intrackfit_cff::barrel, createInverseLinks(), makeMuonMisalignmentScenario::endcap, Exception, mps_fire::i, linkBarrelLayers(), linkEndcapLayers(), NavigationSchool::theAllDetLayersInSystem, NavigationSchool::theAllNavigableLayer, theBackwardLayers, theBackwardNLC, theForwardLayers, and theForwardNLC.
|
override |
Destructor.
Definition at line 91 of file MuonNavigationSchool.cc.
References theBackwardNLC, theBarrelNLC, and theForwardNLC.
|
private |
add barrel layer
create barrel layer map
Definition at line 127 of file MuonNavigationSchool.cc.
References calculateEta(), MuonTCMETValueMapProducer_cff::eta_max, MuonME0RecHits_cfi::eta_min, TCMET_cfi::radius, BarrelDetLayer::specificSurface(), and theBarrelLayers.
Referenced by MuonNavigationSchool().
|
private |
add endcap layer (backward and forward)
create forwrad/backward layer maps
Definition at line 142 of file MuonNavigationSchool.cc.
References calculateEta(), MuonTCMETValueMapProducer_cff::eta_max, MuonME0RecHits_cfi::eta_min, ForwardDetLayer::specificSurface(), theBackwardLayers, theForwardLayers, and z.
Referenced by MuonNavigationSchool().
|
private |
calculate pseudorapidity from r and z
Definition at line 164 of file MuonNavigationSchool.cc.
References cmsBatch::log, and funct::tan().
Referenced by addBarrelLayer(), and addEndcapLayer().
|
private |
establish inward links
create inverse links (i.e. inwards)
Definition at line 275 of file MuonNavigationSchool.cc.
References MuonBarrelNavigableLayer::getAllOuterBackwardLayers(), MuonBarrelNavigableLayer::getAllOuterBarrelLayers(), MuonBarrelNavigableLayer::getAllOuterForwardLayers(), MuonBarrelNavigableLayer::getOuterBackwardLayers(), MuonBarrelNavigableLayer::getOuterBarrelLayers(), MuonBarrelNavigableLayer::getOuterForwardLayers(), mps_fire::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 172 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 234 of file MuonNavigationSchool.cc.
References MuonEtaRange::add(), MuonEtaRange::isCompatible(), MuonEtaRange::isInside(), checklumidiff::l, SiStripPI::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 102 of file MuonNavigationSchool.cc.
References cuy::ib, mps_fire::result, theBackwardNLC, theBarrelNLC, and theForwardNLC.
Referenced by createInverseLinks().
|
private |
+z endcap
Definition at line 78 of file MuonNavigationSchool.h.
Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().
|
private |
Definition at line 82 of file MuonNavigationSchool.h.
Referenced by MuonNavigationSchool(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
Definition at line 76 of file MuonNavigationSchool.h.
Referenced by addBarrelLayer(), createInverseLinks(), and linkBarrelLayers().
|
private |
-z endcap
Definition at line 80 of file MuonNavigationSchool.h.
Referenced by linkBarrelLayers(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
barrel
Definition at line 77 of file MuonNavigationSchool.h.
Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().
|
private |
Definition at line 81 of file MuonNavigationSchool.h.
Referenced by MuonNavigationSchool(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
Definition at line 84 of file MuonNavigationSchool.h.