26 vector<const DetLayer*>
result;
27 vector<const DetLayer*>
barrel;
30 pushResult(result, theOuterEndcapLayers);
32 pushResult(result, theInnerEndcapLayers);
33 reverse(result.begin(), result.end());
34 pushResult(barrel, theInnerBarrelLayers);
35 reverse(barrel.begin(), barrel.end());
36 result.insert(result.end(), barrel.begin(), barrel.end());
39 result.reserve(result.size());
45 vector<const DetLayer*>
result;
46 vector<const DetLayer*>
barrel;
49 pushResult(result, theOuterEndcapLayers, fts);
51 pushResult(result, theInnerEndcapLayers, fts);
52 reverse(result.begin(), result.end());
53 pushResult(barrel, theInnerBarrelLayers, fts);
54 reverse(barrel.begin(), barrel.end());
55 result.insert(result.end(), barrel.begin(), barrel.end());
58 result.reserve(result.size());
63 vector<const DetLayer*>
result;
64 vector<const DetLayer*>
barrel;
67 pushResult(result, theAllOuterEndcapLayers);
69 pushResult(result, theAllInnerEndcapLayers);
70 reverse(result.begin(), result.end());
71 pushResult(barrel, theAllInnerBarrelLayers);
72 reverse(barrel.begin(), barrel.end());
73 result.insert(result.end(), barrel.begin(), barrel.end());
76 result.reserve(result.size());
81 vector<const DetLayer*>
result;
82 vector<const DetLayer*>
barrel;
85 pushCompatibleResult(result, theAllOuterEndcapLayers, fts);
87 pushCompatibleResult(result, theAllInnerEndcapLayers, fts);
88 reverse(result.begin(), result.end());
89 pushCompatibleResult(barrel, theAllInnerBarrelLayers, fts);
90 reverse(barrel.begin(), barrel.end());
91 result.insert(result.end(), barrel.begin(), barrel.end());
93 result.reserve(result.size());
98 for (
MapBI i = map.begin();
i != map.end();
i++)
99 result.push_back((*i).first);
103 for (
MapEI i = map.begin();
i != map.end();
i++)
104 result.push_back((*i).first);
110 for (
MapEI i = map.begin();
i != map.end();
i++)
112 result.push_back((*i).first);
118 for (
MapBI i = map.begin();
i != map.end();
i++)
120 result.push_back((*i).first);
127 for (
MapBI i = map.begin();
i != map.end();
i++)
128 if ((*i).second.isCompatible(range))
129 result.push_back((*i).first);
136 for (
MapEI i = map.begin();
i != map.end();
i++)
137 if ((*i).second.isCompatible(range))
138 result.push_back((*i).first);
144 edm::LogError(
"MuonForwardNavigablaLayer") <<
"MuonForwardNavigableLayer::setDetLayer called!! " << endl;
148 theInnerBarrelLayers = innerBL;
149 theInnerEndcapLayers = innerEL;
152 theAllInnerBarrelLayers = innerCBL;
153 theAllInnerEndcapLayers = innerCEL;
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
MapB::const_iterator MapBI
std::map< const BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
Log< level::Error, false > LogError
void setInwardLinks(const MapB &, const MapE &)
set inward links
const uint16_t range(const Frame &aFrame)
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
MapE::const_iterator MapEI
const DetLayer * detLayer() const override
return DetLayer
std::map< const ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
GlobalPoint position() const
void setDetLayer(const DetLayer *) override
set DetLayer
void setInwardCompatibleLinks(const MapB &, const MapE &)
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.