CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
MuonNavigationSchool Class Reference

#include <MuonNavigationSchool.h>

Inheritance diagram for MuonNavigationSchool:
NavigationSchool

Classes

struct  delete_layer
 

Public Member Functions

 MuonNavigationSchool (const MuonDetLayerGeometry *, bool enableRPC=true, bool enableCSC=true, bool enableGEM=false, bool enableME0=false)
 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 MuonDetLayerGeometrytheMuonDetLayerGeometry
 

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
 

Detailed Description

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.

Author
: Stefano Lacaprara - INFN Padova stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

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.

Constructor & Destructor Documentation

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.

MuonNavigationSchool::~MuonNavigationSchool ( )

Destructor.

Definition at line 91 of file MuonNavigationSchool.cc.

Member Function Documentation

void MuonNavigationSchool::addBarrelLayer ( const BarrelDetLayer mbp)
private

add barrel layer

create barrel layer map

Definition at line 127 of file MuonNavigationSchool.cc.

void MuonNavigationSchool::addEndcapLayer ( const ForwardDetLayer mep)
private

add endcap layer (backward and forward)

create forwrad/backward layer maps

Definition at line 142 of file MuonNavigationSchool.cc.

float MuonNavigationSchool::calculateEta ( const float &  r,
const float &  z 
) const
private

calculate pseudorapidity from r and z

Definition at line 164 of file MuonNavigationSchool.cc.

void MuonNavigationSchool::createInverseLinks ( )
private

establish inward links

create inverse links (i.e. inwards)

Definition at line 275 of file MuonNavigationSchool.cc.

void MuonNavigationSchool::linkBarrelLayers ( )
private

link barrel layers

linking barrel layers outwards

Definition at line 172 of file MuonNavigationSchool.cc.

void MuonNavigationSchool::linkEndcapLayers ( const MapE layers,
std::vector< MuonForwardNavigableLayer * > &  result 
)
private

link endcap layers

linking forward/backward layers outwards

Definition at line 234 of file MuonNavigationSchool.cc.

MuonNavigationSchool::StateType MuonNavigationSchool::navigableLayers ( )
overridevirtual

return navigable layers, from base class

return all Navigable layers

Implements NavigationSchool.

Definition at line 102 of file MuonNavigationSchool.cc.

Member Data Documentation

MapE MuonNavigationSchool::theBackwardLayers
private

+z endcap

Definition at line 78 of file MuonNavigationSchool.h.

std::vector<MuonForwardNavigableLayer*> MuonNavigationSchool::theBackwardNLC
private

Definition at line 82 of file MuonNavigationSchool.h.

MapB MuonNavigationSchool::theBarrelLayers
private

Definition at line 76 of file MuonNavigationSchool.h.

std::vector<MuonBarrelNavigableLayer*> MuonNavigationSchool::theBarrelNLC
private

-z endcap

Definition at line 80 of file MuonNavigationSchool.h.

MapE MuonNavigationSchool::theForwardLayers
private

barrel

Definition at line 77 of file MuonNavigationSchool.h.

std::vector<MuonForwardNavigableLayer*> MuonNavigationSchool::theForwardNLC
private

Definition at line 81 of file MuonNavigationSchool.h.

const MuonDetLayerGeometry* MuonNavigationSchool::theMuonDetLayerGeometry
private

Definition at line 84 of file MuonNavigationSchool.h.