CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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

virtual std::vector< const
DetLayer * > 
compatibleLayers (NavigationDirection dir) const override
 
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
virtual 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)
 
virtual std::vector< const
DetLayer * > 
nextLayers (NavigationDirection dir) const override
 NavigableLayer interface. More...
 
virtual std::vector< const
DetLayer * > 
nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
virtual 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 35 of file MuonBarrelNavigableLayer.h.

Constructor & Destructor Documentation

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 40 of file MuonBarrelNavigableLayer.h.

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 55 of file MuonBarrelNavigableLayer.h.

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

Constructor with outer layers only.

Definition at line 83 of file MuonBarrelNavigableLayer.h.

86  :
87  theDetLayer(bdl),
88  theOuterBarrelLayers(outerBarrel),
89  theOuterBackwardLayers(outerBackward),
90  theOuterForwardLayers(outerForward) { }
const BarrelDetLayer * theDetLayer
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer ( const BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapB allOuterBarrel,
const MapE allOuterBackward,
const MapE allOuterForward 
)
inline

Definition at line 92 of file MuonBarrelNavigableLayer.h.

Member Function Documentation

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

Implements MuonNavigableLayer.

Definition at line 74 of file MuonBarrelNavigableLayer.cc.

References insideOut, and query::result.

74  {
75 
76  std::vector<const DetLayer*> result;
77 
78  if ( dir == insideOut ) {
82  }
83  else {
85  reverse(result.begin(),result.end());
88  }
89 
90  result.reserve(result.size());
91  return result;
92 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 95 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, and query::result.

96  {
97  std::vector<const DetLayer*> result;
98 
99  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
103  }
104  else {
106  reverse(result.begin(),result.end());
109  }
110  result.reserve(result.size());
111  return result;
112 
113 }
bool isInsideOut(const FreeTrajectoryState &fts) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
const DetLayer * MuonBarrelNavigableLayer::detLayer ( ) const
overridevirtual

return DetLayer

Implements MuonNavigableLayer.

Definition at line 163 of file MuonBarrelNavigableLayer.cc.

163  {
164  return theDetLayer;
165 }
const BarrelDetLayer * theDetLayer
MapE MuonBarrelNavigableLayer::getAllInnerBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getAllInnerBarrelLayers ( ) const
inline

Definition at line 134 of file MuonBarrelNavigableLayer.h.

References theAllInnerBarrelLayers.

MapE MuonBarrelNavigableLayer::getAllInnerForwardLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getAllOuterBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getAllOuterBarrelLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getAllOuterForwardLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getInnerBackwardLayers ( ) const
inline

Definition at line 129 of file MuonBarrelNavigableLayer.h.

References theInnerBackwardLayers.

MapB MuonBarrelNavigableLayer::getInnerBarrelLayers ( ) const
inline

Definition at line 127 of file MuonBarrelNavigableLayer.h.

References theInnerBarrelLayers.

MapE MuonBarrelNavigableLayer::getInnerForwardLayers ( ) const
inline

Definition at line 131 of file MuonBarrelNavigableLayer.h.

References theInnerForwardLayers.

MapE MuonBarrelNavigableLayer::getOuterBackwardLayers ( ) const
inline
MapB MuonBarrelNavigableLayer::getOuterBarrelLayers ( ) const
inline
MapE MuonBarrelNavigableLayer::getOuterForwardLayers ( ) const
inline
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( NavigationDirection  dir) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 30 of file MuonBarrelNavigableLayer.cc.

References insideOut, and query::result.

30  {
31 
32  std::vector<const DetLayer*> result;
33 
34  if ( dir == insideOut ) {
38  }
39  else {
41  reverse(result.begin(),result.end());
44  }
45 
46  result.reserve(result.size());
47  return result;
48 
49 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MuonNavigableLayer.

Definition at line 53 of file MuonBarrelNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, and query::result.

54  {
55 
56  std::vector<const DetLayer*> result;
57 
58  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
59  pushResult(result, theOuterBarrelLayers, fts);
60  pushResult(result, theOuterBackwardLayers, fts);
61  pushResult(result, theOuterForwardLayers, fts);
62  }
63  else {
64  pushResult(result, theInnerBarrelLayers, fts);
65  reverse(result.begin(),result.end());
66  pushResult(result, theInnerBackwardLayers, fts);
67  pushResult(result, theInnerForwardLayers, fts);
68  }
69  result.reserve(result.size());
70  return result;
71 }
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
bool isInsideOut(const FreeTrajectoryState &fts) const
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 146 of file MuonBarrelNavigableLayer.cc.

References i.

148  {
149  MuonEtaRange range= trackingRange(fts);
150  for ( MapBI i = map.begin(); i != map.end(); i++ )
151  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
152 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
tuple result
Definition: query.py:137
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
void MuonBarrelNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 154 of file MuonBarrelNavigableLayer.cc.

References i.

156  {
157  MuonEtaRange range= trackingRange(fts);
158  for (MapEI i = map.begin(); i != map.end(); i++)
159  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
160 
161 }
int i
Definition: DBlmapReader.cc:9
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
MuonEtaRange trackingRange(const FreeTrajectoryState &fts) const
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map 
) const
private

Definition at line 116 of file MuonBarrelNavigableLayer.cc.

References i.

117  {
118 
119  for ( MapBI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
120 
121 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
tuple result
Definition: query.py:137
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map 
) const
private

Definition at line 123 of file MuonBarrelNavigableLayer.cc.

References i.

124  {
125 
126  for ( MapEI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
127 }
int i
Definition: DBlmapReader.cc:9
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 130 of file MuonBarrelNavigableLayer.cc.

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

132  {
133  for ( MapBI i = map.begin(); i != map.end(); i++ )
134  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
135 }
int i
Definition: DBlmapReader.cc:9
MapB::const_iterator MapBI
tuple result
Definition: query.py:137
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
void MuonBarrelNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 137 of file MuonBarrelNavigableLayer.cc.

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

139  {
140 
141  for (MapEI i = map.begin(); i != map.end(); i++)
142  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
143 
144 }
int i
Definition: DBlmapReader.cc:9
MapE::const_iterator MapEI
tuple result
Definition: query.py:137
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
void MuonBarrelNavigableLayer::setDetLayer ( const DetLayer dl)
overridevirtual

set DetLayer

Implements MuonNavigableLayer.

Definition at line 168 of file MuonBarrelNavigableLayer.cc.

168  {
169  edm::LogError("MuonBarrelNavigableLayer") << "MuonBarrelNavigableLayer::setDetLayer called!! " << endl;
170 }
void MuonBarrelNavigableLayer::setInwardCompatibleLinks ( const MapB innerCBL)

Definition at line 176 of file MuonBarrelNavigableLayer.cc.

Referenced by MuonNavigationSchool::createInverseLinks().

176  {
177 
178  theAllInnerBarrelLayers = innerCBL;
179 
180 }
void MuonBarrelNavigableLayer::setInwardLinks ( const MapB innerBL)

set inward links

Definition at line 173 of file MuonBarrelNavigableLayer.cc.

Referenced by MuonNavigationSchool::createInverseLinks().

173  {
174  theInnerBarrelLayers = innerBL;
175 }

Member Data Documentation

MapE MuonBarrelNavigableLayer::theAllInnerBackwardLayers
private

Definition at line 179 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBackwardLayers().

MapB MuonBarrelNavigableLayer::theAllInnerBarrelLayers
private

Definition at line 177 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerBarrelLayers().

MapE MuonBarrelNavigableLayer::theAllInnerForwardLayers
private

Definition at line 181 of file MuonBarrelNavigableLayer.h.

Referenced by getAllInnerForwardLayers().

MapE MuonBarrelNavigableLayer::theAllOuterBackwardLayers
private

Definition at line 178 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBackwardLayers().

MapB MuonBarrelNavigableLayer::theAllOuterBarrelLayers
private

Definition at line 176 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterBarrelLayers().

MapE MuonBarrelNavigableLayer::theAllOuterForwardLayers
private

Definition at line 180 of file MuonBarrelNavigableLayer.h.

Referenced by getAllOuterForwardLayers().

const BarrelDetLayer* MuonBarrelNavigableLayer::theDetLayer
private

Definition at line 169 of file MuonBarrelNavigableLayer.h.

MapE MuonBarrelNavigableLayer::theInnerBackwardLayers
private

Definition at line 173 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBackwardLayers().

MapB MuonBarrelNavigableLayer::theInnerBarrelLayers
private

Definition at line 171 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerBarrelLayers().

MapE MuonBarrelNavigableLayer::theInnerForwardLayers
private

Definition at line 175 of file MuonBarrelNavigableLayer.h.

Referenced by getInnerForwardLayers().

MapE MuonBarrelNavigableLayer::theOuterBackwardLayers
private

Definition at line 172 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBackwardLayers().

MapB MuonBarrelNavigableLayer::theOuterBarrelLayers
private

Definition at line 170 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterBarrelLayers().

MapE MuonBarrelNavigableLayer::theOuterForwardLayers
private

Definition at line 174 of file MuonBarrelNavigableLayer.h.

Referenced by getOuterForwardLayers().