// -*- c++ -*- /*****************************************************************************/ // Copyright (c) Illumina 2008 // Author: Richard Shaw // // This software is covered by the "Illumina Genome Analyzer Software // License Agreement" and the "Illumina Source Code License Agreement", // and certain third party copyright/licenses, and any user of this // source file is bound by the terms therein (see accompanying files // Illumina_Genome_Analyzer_Software_License_Agreement.pdf and // Illumina_Source_Code_License_Agreement.pdf and third party // copyright/license notices). /*****************************************************************************/ #ifndef TILE_MGR_H #define TILE_MGR_H /*****************************************************************************/ #include #include /*****************************************************************************/ class Tile_Mgr { public: Tile_Mgr(const std::string& tile_list_file_path_str="tiles.txt"); ~Tile_Mgr(); /// First call causes the list to be loaded for the specified lane. void report_tile(const unsigned int lane_num, const unsigned int tile_num); typedef std::list Tile_Num_List; typedef Tile_Num_List::const_iterator Tile_Num_List_CIter; bool get_missing_tile_num_list(unsigned int& lane_num, Tile_Num_List& missing_tile_num_list) const; private: typedef std::map Tiles_Found_Map; typedef Tiles_Found_Map::const_iterator Tiles_Found_Map_CIter; const std::string my_tile_list_file_path_str; bool my_list_loaded_flag; unsigned int my_lane_num; Tiles_Found_Map my_tiles_found_map; }; /*****************************************************************************/ #endif // ! TILE_MGR_H /*****************************************************************************/