23 vector<const DetLayer*>
26 vector<const DetLayer*>
result;
27 vector<const DetLayer*>
barrel;
30 pushResult(result, theOuterEndcapLayers);
33 pushResult(result, theInnerEndcapLayers);
34 reverse(result.begin(),result.end());
35 pushResult(barrel, theInnerBarrelLayers);
36 reverse(barrel.begin(),barrel.end());
37 result.insert(result.end(),barrel.begin(),barrel.end());
40 result.reserve(result.size());
46 vector<const DetLayer*>
50 vector<const DetLayer*>
result;
51 vector<const DetLayer*>
barrel;
54 pushResult(result, theOuterEndcapLayers, fts);
57 pushResult(result, theInnerEndcapLayers, fts);
58 reverse(result.begin(),result.end());
59 pushResult(barrel, theInnerBarrelLayers, fts);
60 reverse(barrel.begin(),barrel.end());
61 result.insert(result.end(),barrel.begin(),barrel.end());
64 result.reserve(result.size());
69 vector<const DetLayer*>
72 vector<const DetLayer*>
result;
73 vector<const DetLayer*>
barrel;
76 pushResult(result, theAllOuterEndcapLayers);
79 pushResult(result, theAllInnerEndcapLayers);
80 reverse(result.begin(),result.end());
81 pushResult(barrel, theAllInnerBarrelLayers);
82 reverse(barrel.begin(),barrel.end());
83 result.insert(result.end(),barrel.begin(),barrel.end());
86 result.reserve(result.size());
90 vector<const DetLayer*>
93 vector<const DetLayer*>
result;
94 vector<const DetLayer*>
barrel;
97 pushCompatibleResult(result, theAllOuterEndcapLayers, fts);
100 pushCompatibleResult(result, theAllInnerEndcapLayers, fts);
101 reverse(result.begin(),result.end());
102 pushCompatibleResult(barrel, theAllInnerBarrelLayers, fts);
103 reverse(barrel.begin(),barrel.end());
104 result.insert(result.end(),barrel.begin(),barrel.end());
106 result.reserve(result.size());
114 for (
MapBI i = map.begin();
i != map.end();
i++) result.push_back((*i).first);
122 for (
MapEI i = map.begin();
i != map.end();
i++) result.push_back((*i).first);
131 for (
MapEI i = map.begin();
i != map.end();
i++)
132 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
141 for (
MapBI i = map.begin();
i != map.end();
i++)
142 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
151 for (
MapBI i = map.begin();
i != map.end();
i++ )
152 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
159 for (
MapEI i = map.begin();
i != map.end();
i++)
160 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
174 edm::LogError (
"ETLNavigablaLayer") <<
"ETLNavigableLayer::setDetLayer called!! " << endl;
180 const MapE& innerEL) {
182 theInnerBarrelLayers = innerBL;
183 theInnerEndcapLayers = innerEL;
187 const MapE& innerCEL) {
189 theAllInnerBarrelLayers = innerCBL;
190 theAllInnerEndcapLayers = innerCEL;
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
MapB::const_iterator MapBI
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
std::map< const BarrelDetLayer *, MTDEtaRange, MTDDetLayerComp > MapB
void setDetLayer(const DetLayer *) override
set DetLayer
GlobalPoint position() const
const DetLayer * detLayer() const override
return DetLayer
void setInwardCompatibleLinks(const MapB &, const MapE &)
MapE::const_iterator MapEI
void setInwardLinks(const MapB &, const MapE &)
set inward links
std::map< const ForwardDetLayer *, MTDEtaRange, MTDDetLayerComp > MapE