00001 //------------------------------------------------- 00002 // 00013 // 00014 //-------------------------------------------------- 00015 #ifndef L1_TRIGGER_LUT_FILE_H 00016 #define L1_TRIGGER_LUT_FILE_H 00017 00018 //--------------- 00019 // C++ Headers -- 00020 //--------------- 00021 00022 #include <string> 00023 #include <fstream> 00024 00025 //---------------------- 00026 // Base Class Headers -- 00027 //---------------------- 00028 00029 //------------------------------------ 00030 // Collaborating Class Declarations -- 00031 //------------------------------------ 00032 00033 // --------------------- 00034 // -- Class Interface -- 00035 // --------------------- 00036 00037 class L1TriggerLutFile { 00038 00039 public: 00040 00042 L1TriggerLutFile(const std::string name = "" ); 00043 00045 L1TriggerLutFile(const L1TriggerLutFile& ); 00046 00048 virtual ~L1TriggerLutFile(); 00049 00051 L1TriggerLutFile& operator=(const L1TriggerLutFile&); 00052 00054 inline const std::string& getName() const { return m_file; } 00055 00057 int open(); 00058 00060 inline bool good() { return m_fin.good(); } 00061 00063 inline bool bad() { return m_fin.bad(); } 00064 00066 inline void close() { m_fin.close(); } 00067 00069 void ignoreLines(int n); 00070 00072 int readInteger(); 00073 00075 int readHex(); 00076 00078 std::string readString(); 00079 00080 private: 00081 00082 std::ifstream m_fin; // input file stream 00083 std::string m_file; // file name 00084 00085 }; 00086 00087 #endif