1 #ifndef DetLayers_NavigationSchool_H
2 #define DetLayers_NavigationSchool_H
32 template <
typename... Args>
36 return nl ? nl->nextLayers(std::forward<Args>(
args)...) : std::vector<const DetLayer*>();
40 template <
typename... Args>
43 return nl ? nl->compatibleLayers(std::forward<Args>(
args)...) : std::vector<const DetLayer*>();
51 for (
auto nl : state) {
70 #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
void setState(const StateType &state)