00001 #ifndef RecoLuminosity_LumiProducer_DataPipe_H 00002 #define RecoLuminosity_LumiProducer_DataPipe_H 00003 #include <string> 00004 namespace edm{ 00005 class ParameterSet; 00006 } 00007 namespace lumi{ 00008 class DataPipe{ 00009 public: 00010 explicit DataPipe( const std::string& ); 00011 virtual void retrieveData( unsigned int ) = 0; 00012 virtual const std::string dataType() const = 0; 00013 virtual const std::string sourceType() const = 0; 00014 virtual ~DataPipe(){} 00015 void setSource( const std::string& source ); 00016 void setAuthPath( const std::string& authpath ); 00017 void setMode( const std::string& mode ); 00018 std::string getSource() const; 00019 std::string getMode() const; 00020 std::string getAuthPath() const; 00021 00022 protected: 00023 std::string m_dest; 00024 std::string m_source; 00025 std::string m_authpath; 00026 std::string m_mode; 00027 private: 00028 DataPipe( const DataPipe& ); 00029 const DataPipe& operator=( const DataPipe& ); 00030 };//class DataPipe 00031 }//ns lumi 00032 #endif