#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 |
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 38 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 98 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(), egammaIdentification::eta_max, egammaIdentification::eta_min, 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 139 of file MuonNavigationSchool.cc.
References calculateEta(), egammaIdentification::eta_max, egammaIdentification::eta_min, ForwardDetLayer::specificSurface(), theBackwardLayers, theForwardLayers, and z.
Referenced by MuonNavigationSchool().
|
private |
calculate pseudorapidity from r and z
Definition at line 158 of file MuonNavigationSchool.cc.
References dqm-mbProfile::log, alignCSCRings::r, funct::tan(), and z.
Referenced by addBarrelLayer(), and addEndcapLayer().
|
private |
establish inward links
create inverse links (i.e. inwards)
Definition at line 255 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 165 of file MuonNavigationSchool.cc.
References FastTimerService_cff::range, theBackwardLayers, theBarrelLayers, theBarrelNLC, and theForwardLayers.
Referenced by MuonNavigationSchool().
|
private |
link endcap layers
linking forward/backward layers outwards
Definition at line 219 of file MuonNavigationSchool.cc.
References cmsLHEtoEOSManager::l, hgcalTBTopologyTester_cfi::layers, SiStripPI::max, GetRecoTauVFromDQM_MC_cff::next, FastTimerService_cff::range, and mps_fire::result.
Referenced by MuonNavigationSchool().
|
overridevirtual |
return navigable layers, from base class
return all Navigable layers
Implements NavigationSchool.
Definition at line 105 of file MuonNavigationSchool.cc.
References cuy::ib, mps_fire::result, theBackwardNLC, theBarrelNLC, and theForwardNLC.
Referenced by createInverseLinks().
|
private |
+z endcap
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 75 of file MuonNavigationSchool.h.
Referenced by addBarrelLayer(), createInverseLinks(), and linkBarrelLayers().
|
private |
-z endcap
Definition at line 79 of file MuonNavigationSchool.h.
Referenced by linkBarrelLayers(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
barrel
Definition at line 76 of file MuonNavigationSchool.h.
Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().
|
private |
Definition at line 80 of file MuonNavigationSchool.h.
Referenced by MuonNavigationSchool(), navigableLayers(), and ~MuonNavigationSchool().
|
private |
Definition at line 83 of file MuonNavigationSchool.h.