1 #ifndef DetLayers_NavigationSchool_H
2 #define DetLayers_NavigationSchool_H
35 template<
typename...
Args>
36 std::vector<const DetLayer*>
38 assert( detLayer.
seqNum()>=0);
41 ? nl->nextLayers(std::forward<Args>(
args)...)
42 : std::vector<const DetLayer*>();
46 template<
typename...
Args>
47 std::vector<const DetLayer*>
51 ? nl->compatibleLayers(std::forward<Args>(
args)...)
52 : std::vector<const DetLayer*>();
61 for (
auto nl : state) {
79 #endif // NavigationSchool_H
const std::vector< const DetLayer * > & allLayersInSystem() const
StateType theAllNavigableLayer
std::vector< const DetLayer * > compatibleLayers(const DetLayer &detLayer, Args &&...args) const
Returns all layers compatible.
std::vector< NavigableLayer * > StateType
virtual ~NavigationSchool()
const std::vector< const DetLayer * > * theAllDetLayersInSystem
virtual StateType navigableLayers()=0
std::vector< const DetLayer * > nextLayers(const DetLayer &detLayer, Args &&...args) const
NavigationDirection.
void setState(const StateType &state)