24 vector<const DetLayer*>
result;
25 vector<const DetLayer*>
barrel;
28 pushResult(result, theOuterEndcapLayers);
30 pushResult(result, theInnerEndcapLayers);
31 reverse(result.begin(), result.end());
32 pushResult(barrel, theInnerBarrelLayers);
33 reverse(barrel.begin(), barrel.end());
34 result.insert(result.end(), barrel.begin(), barrel.end());
37 result.reserve(result.size());
42 vector<const DetLayer*>
result;
43 vector<const DetLayer*>
barrel;
46 pushResult(result, theOuterEndcapLayers, fts);
48 pushResult(result, theInnerEndcapLayers, fts);
49 reverse(result.begin(), result.end());
50 pushResult(barrel, theInnerBarrelLayers, fts);
51 reverse(barrel.begin(), barrel.end());
52 result.insert(result.end(), barrel.begin(), barrel.end());
55 result.reserve(result.size());
60 vector<const DetLayer*>
result;
61 vector<const DetLayer*>
barrel;
64 pushResult(result, theAllOuterEndcapLayers);
66 pushResult(result, theAllInnerEndcapLayers);
67 reverse(result.begin(), result.end());
68 pushResult(barrel, theAllInnerBarrelLayers);
69 reverse(barrel.begin(), barrel.end());
70 result.insert(result.end(), barrel.begin(), barrel.end());
73 result.reserve(result.size());
78 vector<const DetLayer*>
result;
79 vector<const DetLayer*>
barrel;
82 pushCompatibleResult(result, theAllOuterEndcapLayers, fts);
84 pushCompatibleResult(result, theAllInnerEndcapLayers, fts);
85 reverse(result.begin(), result.end());
86 pushCompatibleResult(barrel, theAllInnerBarrelLayers, fts);
87 reverse(barrel.begin(), barrel.end());
88 result.insert(result.end(), barrel.begin(), barrel.end());
90 result.reserve(result.size());
95 for (
MapBI i = map.begin();
i != map.end();
i++)
96 result.push_back((*i).first);
100 for (
MapEI i = map.begin();
i != map.end();
i++)
101 result.push_back((*i).first);
107 for (
MapEI i = map.begin();
i != map.end();
i++)
109 result.push_back((*i).first);
115 for (
MapBI i = map.begin();
i != map.end();
i++)
117 result.push_back((*i).first);
124 for (
MapBI i = map.begin();
i != map.end();
i++)
125 if ((*i).second.isCompatible(range))
126 result.push_back((*i).first);
133 for (
MapEI i = map.begin();
i != map.end();
i++)
134 if ((*i).second.isCompatible(range))
135 result.push_back((*i).first);
141 edm::LogError(
"ETLNavigablaLayer") <<
"ETLNavigableLayer::setDetLayer called!! " << endl;
145 theInnerBarrelLayers = innerBL;
146 theInnerEndcapLayers = innerEL;
149 theAllInnerBarrelLayers = innerCBL;
150 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