24 std::vector<const DetLayer*>
27 std::vector<const DetLayer*>
result;
30 pushResult(result, theOuterBarrelLayers);
31 pushResult(result, theOuterBackwardLayers);
32 pushResult(result, theOuterForwardLayers);
35 pushResult(result, theInnerBarrelLayers);
36 reverse(result.begin(),result.end());
37 pushResult(result, theInnerBackwardLayers);
38 pushResult(result, theInnerForwardLayers);
41 result.reserve(result.size());
47 std::vector<const DetLayer*>
51 std::vector<const DetLayer*>
result;
54 pushResult(result, theOuterBarrelLayers, fts);
55 pushResult(result, theOuterBackwardLayers, fts);
56 pushResult(result, theOuterForwardLayers, fts);
59 pushResult(result, theInnerBarrelLayers, fts);
60 reverse(result.begin(),result.end());
61 pushResult(result, theInnerBackwardLayers, fts);
62 pushResult(result, theInnerForwardLayers, fts);
64 result.reserve(result.size());
68 std::vector<const DetLayer*>
71 std::vector<const DetLayer*>
result;
74 pushResult(result, theAllOuterBarrelLayers);
75 pushResult(result, theAllOuterBackwardLayers);
76 pushResult(result, theAllOuterForwardLayers);
79 pushResult(result, theAllInnerBarrelLayers);
80 reverse(result.begin(),result.end());
81 pushResult(result, theAllInnerBackwardLayers);
82 pushResult(result, theAllInnerForwardLayers);
85 result.reserve(result.size());
89 std::vector<const DetLayer*>
92 std::vector<const DetLayer*>
result;
95 pushCompatibleResult(result, theAllOuterBarrelLayers, fts);
96 pushCompatibleResult(result, theAllOuterBackwardLayers, fts);
97 pushCompatibleResult(result, theAllOuterForwardLayers, fts);
100 pushCompatibleResult(result, theAllInnerBarrelLayers, fts);
101 reverse(result.begin(),result.end());
102 pushCompatibleResult(result, theAllInnerBackwardLayers, fts);
103 pushCompatibleResult(result, theAllInnerForwardLayers, fts);
105 result.reserve(result.size());
114 for (
MapBI i = map.begin();
i != map.end();
i++ ) result.push_back((*i).first);
121 for (
MapEI i = map.begin();
i != map.end();
i++ ) result.push_back((*i).first);
128 for (
MapBI i = map.begin();
i != map.end();
i++ )
129 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
136 for (
MapEI i = map.begin();
i != map.end();
i++)
137 if ((*i).second.isInside(fts.
position().
eta())) result.push_back((*i).first);
145 for (
MapBI i = map.begin();
i != map.end();
i++ )
146 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
153 for (
MapEI i = map.begin();
i != map.end();
i++)
154 if ((*i).second.isCompatible(range)) result.push_back((*i).first);
164 edm::LogError(
"BTLNavigableLayer") <<
"BTLNavigableLayer::setDetLayer called!! " << endl;
169 theInnerBarrelLayers = innerBL;
173 theAllInnerBarrelLayers = innerCBL;
MapB::const_iterator MapBI
std::map< const BarrelDetLayer *, MTDEtaRange, MTDDetLayerComp > MapB
void setDetLayer(const DetLayer *) override
set DetLayer
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
GlobalPoint position() const
std::vector< const DetLayer * > compatibleLayers(NavigationDirection dir) const override
MapE::const_iterator MapEI
std::vector< const DetLayer * > nextLayers(NavigationDirection dir) const override
NavigableLayer interface.
void setInwardLinks(const MapB &)
set inward links
const DetLayer * detLayer() const override
return DetLayer
void setInwardCompatibleLinks(const MapB &)
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
std::map< const ForwardDetLayer *, MTDEtaRange, MTDDetLayerComp > MapE