CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
MuonBarrelNavigableLayer Class Reference

#include <MuonBarrelNavigableLayer.h>

Inheritance diagram for MuonBarrelNavigableLayer:
MuonNavigableLayer NavigableLayer

Public Member Functions

std::vector< const DetLayer * > compatibleLayers (NavigationDirection dir) const override
 
std::vector< const DetLayer * > compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
const DetLayerdetLayer () const override
 return DetLayer More...
 
MapE getAllInnerBackwardLayers () const
 
MapB getAllInnerBarrelLayers () const
 
MapE getAllInnerForwardLayers () const
 
MapE getAllOuterBackwardLayers () const
 
MapB getAllOuterBarrelLayers () const
 
MapE getAllOuterForwardLayers () const
 
MapE getInnerBackwardLayers () const
 
MapB getInnerBarrelLayers () const
 
MapE getInnerForwardLayers () const
 
MapE getOuterBackwardLayers () const
 
MapB getOuterBarrelLayers () const
 
MapE getOuterForwardLayers () const
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward)
 Constructor. More...
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward, const MapB &allOuterBarrel, const MapB &allInnerBarrel, const MapE &allOuterBackward, const MapE &allOuterForward, const MapE &allInnerBackward, const MapE &allInnerForward)
 
 MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
 Constructor with outer layers only. More...
 
 MuonBarrelNavigableLayer (const BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
 
std::vector< const DetLayer * > nextLayers (NavigationDirection dir) const override
 NavigableLayer interface. More...
 
std::vector< const DetLayer * > nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
void setDetLayer (const DetLayer *) override
 set DetLayer More...
 
void setInwardCompatibleLinks (const MapB &)
 
void setInwardLinks (const MapB &)
 set inward links More...
 
- Public Member Functions inherited from MuonNavigableLayer
bool isInsideOut (const FreeTrajectoryState &fts) const
 
MuonEtaRange trackingRange (const FreeTrajectoryState &fts) const
 
- Public Member Functions inherited from NavigableLayer
virtual std::vector< const DetLayer * > compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
 
void setSchool (NavigationSchool const *sh)
 
virtual ~NavigableLayer ()
 

Private Member Functions

void pushCompatibleResult (std::vector< const DetLayer *> &result, const MapB &map, const FreeTrajectoryState &fts) const
 
void pushCompatibleResult (std::vector< const DetLayer *> &result, const MapE &map, const FreeTrajectoryState &fts) const
 
void pushResult (std::vector< const DetLayer *> &result, const MapB &map) const
 
void pushResult (std::vector< const DetLayer *> &result, const MapE &map) const
 
void pushResult (std::vector< const DetLayer *> &result, const MapB &map, const FreeTrajectoryState &fts) const
 
void pushResult (std::vector< const DetLayer *> &result, const MapE &map, const FreeTrajectoryState &fts) const
 

Private Attributes

MapE theAllInnerBackwardLayers
 
MapB theAllInnerBarrelLayers
 
MapE theAllInnerForwardLayers
 
MapE theAllOuterBackwardLayers
 
MapB theAllOuterBarrelLayers
 
MapE theAllOuterForwardLayers
 
const BarrelDetLayertheDetLayer
 
MapE theInnerBackwardLayers
 
MapB theInnerBarrelLayers
 
MapE theInnerForwardLayers
 
MapE theOuterBackwardLayers
 
MapB theOuterBarrelLayers
 
MapE theOuterForwardLayers
 

Additional Inherited Members

- Protected Attributes inherited from NavigableLayer
NavigationSchool const * school = nullptr
 

Detailed Description

Navigable layer for Barrel Muon

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: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.

Definition at line 34 of file MuonBarrelNavigableLayer.h.

Constructor & Destructor Documentation

◆ MuonBarrelNavigableLayer() [1/4]

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapB innerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapE innerBackward,
const MapE innerForward 
)
inline

Constructor.

Definition at line 37 of file MuonBarrelNavigableLayer.h.

◆ MuonBarrelNavigableLayer() [2/4]

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapB innerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapE innerBackward,
const MapE innerForward,
const MapB allOuterBarrel,
const MapB allInnerBarrel,
const MapE allOuterBackward,
const MapE allOuterForward,
const MapE allInnerBackward,
const MapE allInnerForward 
)
inline

Definition at line 52 of file MuonBarrelNavigableLayer.h.

65  : theDetLayer(bdl),
66  theOuterBarrelLayers(outerBarrel),
67  theInnerBarrelLayers(innerBarrel),
68  theOuterBackwardLayers(outerBackward),
69  theInnerBackwardLayers(innerBackward),
70  theOuterForwardLayers(outerForward),
71  theInnerForwardLayers(innerForward),
72  theAllOuterBarrelLayers(allOuterBarrel),
73  theAllInnerBarrelLayers(allInnerBarrel),
74  theAllOuterBackwardLayers(allOuterBackward),
75  theAllInnerBackwardLayers(allInnerBackward),
76  theAllOuterForwardLayers(allOuterForward),
77  theAllInnerForwardLayers(allInnerForward) {}
const BarrelDetLayer * theDetLayer

◆ MuonBarrelNavigableLayer() [3/4]

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward 
)
inline

Constructor with outer layers only.

Definition at line 80 of file MuonBarrelNavigableLayer.h.

◆ MuonBarrelNavigableLayer() [4/4]

MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( const BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapB allOuterBarrel,
const MapE allOuterBackward,
const MapE allOuterForward 
)
inline

Member Function Documentation

◆ compatibleLayers() [1/2]

std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers ( NavigationDirection  dir) const
overridevirtual

Implements MuonNavigableLayer.

Definition at line 65 of file MuonBarrelNavigableLayer.cc.

References DeadROC_duringRun::dir, insideOut, mps_fire::result, and groupFilesInBlocks::reverse.

65  {
66  std::vector<const DetLayer*> result;
67 
68  if (dir == insideOut) {
72  } else {
74  reverse(result.begin(), result.end());
77  }
78 
79  result.reserve(result.size());
80  return result;
81 }
void pushResult(std::vector< const DetLayer *> &result, const MapB &map) const

◆ compatibleLayers() [2/2]

std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 83 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, DeadROC_duringRun::dir, oppositeToMomentum, mps_fire::result, and groupFilesInBlocks::reverse.

84  {
85  std::vector<const DetLayer*> result;
86 
87  if ((isInsideOut(fts) && dir == alongMomentum) || (!isInsideOut(fts) && dir == oppositeToMomentum)) {
91  } else {
93  reverse(result.begin(), result.end());
96  }
97  result.reserve(result.size());
98  return result;
99 }
bool isInsideOut(const FreeTrajectoryState &fts) const
void pushCompatibleResult(std::vector< const DetLayer *> &result, const MapB &map, const FreeTrajectoryState &fts) const

◆ detLayer()

const DetLayer * MuonBarrelNavigableLayer::detLayer ( ) const
overridevirtual

return DetLayer

Implements MuonNavigableLayer.

Definition at line 145 of file MuonBarrelNavigableLayer.cc.

145 { return theDetLayer; }
const BarrelDetLayer * theDetLayer

◆ getAllInnerBackwardLayers()

MapE MuonBarrelNavigableLayer::getAllInnerBackwardLayers ( ) const
inline

◆ getAllInnerBarrelLayers()

MapB MuonBarrelNavigableLayer::getAllInnerBarrelLayers ( ) const
inline

◆ getAllInnerForwardLayers()

MapE MuonBarrelNavigableLayer::getAllInnerForwardLayers ( ) const
inline

◆ getAllOuterBackwardLayers()

MapE MuonBarrelNavigableLayer::getAllOuterBackwardLayers ( ) const
inline

◆ getAllOuterBarrelLayers()

MapB MuonBarrelNavigableLayer::getAllOuterBarrelLayers ( ) const
inline

◆ getAllOuterForwardLayers()

MapE MuonBarrelNavigableLayer::getAllOuterForwardLayers ( ) const
inline

◆ getInnerBackwardLayers()

MapE MuonBarrelNavigableLayer::getInnerBackwardLayers ( ) const
inline

Definition at line 125 of file MuonBarrelNavigableLayer.h.

References theInnerBackwardLayers.

◆ getInnerBarrelLayers()

MapB MuonBarrelNavigableLayer::getInnerBarrelLayers ( ) const
inline

Definition at line 123 of file MuonBarrelNavigableLayer.h.

References theInnerBarrelLayers.

◆ getInnerForwardLayers()

MapE MuonBarrelNavigableLayer::getInnerForwardLayers ( ) const
inline

Definition at line 127 of file MuonBarrelNavigableLayer.h.

References theInnerForwardLayers.

◆ getOuterBackwardLayers()

MapE MuonBarrelNavigableLayer::getOuterBackwardLayers ( ) const
inline

◆ getOuterBarrelLayers()

MapB MuonBarrelNavigableLayer::getOuterBarrelLayers ( ) const
inline

◆ getOuterForwardLayers()

MapE MuonBarrelNavigableLayer::getOuterForwardLayers ( ) const
inline

◆ nextLayers() [1/2]

std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( NavigationDirection  dir) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 29 of file MuonBarrelNavigableLayer.cc.

References DeadROC_duringRun::dir, insideOut, mps_fire::result, and groupFilesInBlocks::reverse.

29  {
30  std::vector<const DetLayer*> result;
31 
32  if (dir == insideOut) {
36  } else {
38  reverse(result.begin(), result.end());
41  }
42 
43  result.reserve(result.size());
44  return result;
45 }
void pushResult(std::vector< const DetLayer *> &result, const MapB &map) const

◆ nextLayers() [2/2]

std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 47 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, DeadROC_duringRun::dir, oppositeToMomentum, mps_fire::result, and groupFilesInBlocks::reverse.

48  {
49  std::vector<const DetLayer*> result;
50 
51  if ((isInsideOut(fts) && dir == alongMomentum) || (!isInsideOut(fts) && dir == oppositeToMomentum)) {
55  } else {
57  reverse(result.begin(), result.end());
60  }
61  result.reserve(result.size());
62  return result;
63 }
bool isInsideOut(const FreeTrajectoryState &fts) const
void pushResult(std::vector< const DetLayer *> &result, const MapB &map) const

◆ pushCompatibleResult() [1/2]

void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer *> &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 127 of file MuonBarrelNavigableLayer.cc.

References mps_fire::i, genParticles_cff::map, FastTimerService_cff::range, and mps_fire::result.

129  {
131  for (MapBI i = map.begin(); i != map.end(); i++)
132  if ((*i).second.isCompatible(range))
133  result.push_back((*i).first);
134 }
MapB::const_iterator MapBI
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const

◆ pushCompatibleResult() [2/2]

void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer *> &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 136 of file MuonBarrelNavigableLayer.cc.

References mps_fire::i, genParticles_cff::map, FastTimerService_cff::range, and mps_fire::result.

138  {
140  for (MapEI i = map.begin(); i != map.end(); i++)
141  if ((*i).second.isCompatible(range))
142  result.push_back((*i).first);
143 }
MapE::const_iterator MapEI
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const

◆ pushResult() [1/4]

void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer *> &  result,
const MapB map 
) const
private

Definition at line 101 of file MuonBarrelNavigableLayer.cc.

References mps_fire::i, genParticles_cff::map, and mps_fire::result.

101  {
102  for (MapBI i = map.begin(); i != map.end(); i++)
103  result.push_back((*i).first);
104 }
MapB::const_iterator MapBI

◆ pushResult() [2/4]

void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer *> &  result,
const MapE map 
) const
private

Definition at line 106 of file MuonBarrelNavigableLayer.cc.

References mps_fire::i, genParticles_cff::map, and mps_fire::result.

106  {
107  for (MapEI i = map.begin(); i != map.end(); i++)
108  result.push_back((*i).first);
109 }
MapE::const_iterator MapEI

◆ pushResult() [3/4]

void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer *> &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 111 of file MuonBarrelNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, genParticles_cff::map, FreeTrajectoryState::position(), and mps_fire::result.

113  {
114  for (MapBI i = map.begin(); i != map.end(); i++)
115  if ((*i).second.isInside(fts.position().eta()))
116  result.push_back((*i).first);
117 }
T eta() const
Definition: PV3DBase.h:73
MapB::const_iterator MapBI
GlobalPoint position() const

◆ pushResult() [4/4]

void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer *> &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 119 of file MuonBarrelNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, genParticles_cff::map, FreeTrajectoryState::position(), and mps_fire::result.

121  {
122  for (MapEI i = map.begin(); i != map.end(); i++)
123  if ((*i).second.isInside(fts.position().eta()))
124  result.push_back((*i).first);
125 }
T eta() const
Definition: PV3DBase.h:73
GlobalPoint position() const
MapE::const_iterator MapEI

◆ setDetLayer()

void MuonBarrelNavigableLayer::setDetLayer ( const DetLayer dl)
overridevirtual

set DetLayer

Implements MuonNavigableLayer.

Definition at line 147 of file MuonBarrelNavigableLayer.cc.

147  {
148  edm::LogError("MuonBarrelNavigableLayer") << "MuonBarrelNavigableLayer::setDetLayer called!! " << endl;
149 }
Log< level::Error, false > LogError

◆ setInwardCompatibleLinks()

void MuonBarrelNavigableLayer::setInwardCompatibleLinks ( const MapB innerCBL)

◆ setInwardLinks()

void MuonBarrelNavigableLayer::setInwardLinks ( const MapB innerBL)

set inward links

Definition at line 151 of file MuonBarrelNavigableLayer.cc.

Referenced by MuonNavigationSchool::createInverseLinks().

Member Data Documentation

◆ theAllInnerBackwardLayers

MapE MuonBarrelNavigableLayer::theAllInnerBackwardLayers
private

Definition at line 167 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBackwardLayers().

◆ theAllInnerBarrelLayers

MapB MuonBarrelNavigableLayer::theAllInnerBarrelLayers
private

Definition at line 165 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBarrelLayers().

◆ theAllInnerForwardLayers

MapE MuonBarrelNavigableLayer::theAllInnerForwardLayers
private

Definition at line 169 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerForwardLayers().

◆ theAllOuterBackwardLayers

MapE MuonBarrelNavigableLayer::theAllOuterBackwardLayers
private

Definition at line 166 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBackwardLayers().

◆ theAllOuterBarrelLayers

MapB MuonBarrelNavigableLayer::theAllOuterBarrelLayers
private

Definition at line 164 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBarrelLayers().

◆ theAllOuterForwardLayers

MapE MuonBarrelNavigableLayer::theAllOuterForwardLayers
private

Definition at line 168 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterForwardLayers().

◆ theDetLayer

const BarrelDetLayer* MuonBarrelNavigableLayer::theDetLayer
private

Definition at line 157 of file MuonBarrelNavigableLayer.h.

◆ theInnerBackwardLayers

MapE MuonBarrelNavigableLayer::theInnerBackwardLayers
private

Definition at line 161 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBackwardLayers().

◆ theInnerBarrelLayers

MapB MuonBarrelNavigableLayer::theInnerBarrelLayers
private

Definition at line 159 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBarrelLayers().

◆ theInnerForwardLayers

MapE MuonBarrelNavigableLayer::theInnerForwardLayers
private

Definition at line 163 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerForwardLayers().

◆ theOuterBackwardLayers

MapE MuonBarrelNavigableLayer::theOuterBackwardLayers
private

Definition at line 160 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBackwardLayers().

◆ theOuterBarrelLayers

MapB MuonBarrelNavigableLayer::theOuterBarrelLayers
private

Definition at line 158 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBarrelLayers().

◆ theOuterForwardLayers

MapE MuonBarrelNavigableLayer::theOuterForwardLayers
private

Definition at line 162 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterForwardLayers().