29 std::vector<const DetLayer*>
32 std::vector<const DetLayer*>
result;
35 pushResult(result, theOuterBarrelLayers);
36 pushResult(result, theOuterBackwardLayers);
37 pushResult(result, theOuterForwardLayers);
40 pushResult(result, theInnerBarrelLayers);
41 reverse(result.begin(),result.end());
42 pushResult(result, theInnerBackwardLayers);
43 pushResult(result, theInnerForwardLayers);
46 result.reserve(result.size());
52 std::vector<const DetLayer*>
56 std::vector<const DetLayer*>
result;
59 pushResult(result, theOuterBarrelLayers, fts);
60 pushResult(result, theOuterBackwardLayers, fts);
61 pushResult(result, theOuterForwardLayers, fts);
64 pushResult(result, theInnerBarrelLayers, fts);
65 reverse(result.begin(),result.end());
66 pushResult(result, theInnerBackwardLayers, fts);
67 pushResult(result, theInnerForwardLayers, fts);
69 result.reserve(result.size());
73 std::vector<const DetLayer*>
76 std::vector<const DetLayer*>
result;
79 pushResult(result, theAllOuterBarrelLayers);
80 pushResult(result, theAllOuterBackwardLayers);
81 pushResult(result, theAllOuterForwardLayers);
84 pushResult(result, theAllInnerBarrelLayers);
85 reverse(result.begin(),result.end());
86 pushResult(result, theAllInnerBackwardLayers);
87 pushResult(result, theAllInnerForwardLayers);
90 result.reserve(result.size());
94 std::vector<const DetLayer*>
97 std::vector<const DetLayer*>
result;
100 pushCompatibleResult(result, theAllOuterBarrelLayers, fts);
101 pushCompatibleResult(result, theAllOuterBackwardLayers, fts);
102 pushCompatibleResult(result, theAllOuterForwardLayers, fts);
105 pushCompatibleResult(result, theAllInnerBarrelLayers, fts);
106 reverse(result.begin(),result.end());
107 pushCompatibleResult(result, theAllInnerBackwardLayers, fts);
108 pushCompatibleResult(result, theAllInnerForwardLayers, fts);
110 result.reserve(result.size());
117 const MapB& map)
const {
119 for (
MapBI i = map.begin();
i != map.end();
i++ ) result.push_back((*i).first);
124 const MapE& map)
const {
126 for (
MapEI i = map.begin();
i != map.end();
i++ ) result.push_back((*i).first);
133 for (
MapBI i = map.begin();
i != map.end();
i++ )
134 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
141 for (
MapEI i = map.begin();
i != map.end();
i++)
142 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
150 for (
MapBI i = map.begin();
i != map.end();
i++ )
151 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
158 for (
MapEI i = map.begin();
i != map.end();
i++)
159 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
169 edm::LogError(
"MuonBarrelNavigableLayer") <<
"MuonBarrelNavigableLayer::setDetLayer called!! " << endl;
174 theInnerBarrelLayers = innerBL;
178 theAllInnerBarrelLayers = innerCBL;
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
virtual std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
MapB::const_iterator MapBI
std::map< const BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
virtual void setDetLayer(const DetLayer *) override
set DetLayer
void setInwardCompatibleLinks(const MapB &)
MapE::const_iterator MapEI
virtual const DetLayer * detLayer() const override
return DetLayer
std::map< const ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
GlobalPoint position() const
void setInwardLinks(const MapB &)
set inward links
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const