00001 //------------------------------------------------- 00002 // 00003 // \class L1MuGMTLUTHelpers 00010 // 00011 // $Date: 2007/03/23 18:51:35 $ 00012 // $Revision: 1.2 $ 00013 // 00014 // Author : 00015 // H. Sakulin HEPHY Vienna 00016 // 00017 // Migrated to CMSSW: 00018 // I. Mikulec 00019 // 00020 //-------------------------------------------------- 00021 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTLUTHelpers_h 00022 #define L1TriggerGlobalMuonTrigger_L1MuGMTLUTHelpers_h 00023 00024 //--------------- 00025 // C++ Headers -- 00026 //--------------- 00027 00028 #include <vector> 00029 #include <string> 00030 #include <stdlib.h> 00031 #include <stdio.h> 00032 00033 // --------------------- 00034 // -- Class Interface -- 00035 // --------------------- 00036 00037 class L1MuGMTLUTHelpers { 00038 00039 public: 00041 L1MuGMTLUTHelpers() {}; 00042 00044 virtual ~L1MuGMTLUTHelpers() {}; 00045 00047 00049 00050 class Tokenizer : public std::vector<std::string> { 00051 public: 00052 Tokenizer(const std::string & sep, const std::string & input){ 00053 size_type i=0, j=0; 00054 while( (j=input.find(sep,i))!=std::string::npos) { 00055 push_back(input.substr(i,j-i)); 00056 i = j+sep.size(); 00057 } 00058 push_back(input.substr(i)); 00059 }; 00060 00061 }; 00062 00063 static int replace(std::string& input, const std::string& gone, const std::string& it, bool multiple); 00064 00065 static std::string upperCase(const std::string& s); 00066 00067 static std::string lowerCase(const std::string& s); 00068 00069 }; 00070 00071 #endif 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083