00001 #ifndef DetLayers_NavigationSchool_H 00002 #define DetLayers_NavigationSchool_H 00003 00004 #include <vector> 00005 00006 class NavigableLayer; 00007 class NavigationSchool; 00008 class DetLayer; 00009 00017 class NavigationSchool { 00018 public: 00019 00020 NavigationSchool() : theAllDetLayersInSystem(0){} 00021 00022 virtual ~NavigationSchool() {} 00023 00024 typedef std::vector<NavigableLayer*> StateType; 00025 00026 virtual StateType navigableLayers() const = 0; 00027 00028 const std::vector<DetLayer*> & allLayersInSystem() const {return *theAllDetLayersInSystem;} 00029 00030 protected: 00031 const std::vector<DetLayer*> * theAllDetLayersInSystem; 00032 }; 00033 00034 #endif // NavigationSchool_H