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 setNoValidate(); 00016 void setNoCheckingStableBeam(); 00017 void setSource( const std::string& source ); 00018 void setAuthPath( const std::string& authpath ); 00019 void setMode( const std::string& mode ); 00020 void setNorm( float norm ); 00021 std::string getSource() const; 00022 std::string getMode() const; 00023 std::string getAuthPath() const; 00024 float getNorm() const; 00025 00026 protected: 00027 std::string m_dest; 00028 std::string m_source; 00029 std::string m_authpath; 00030 std::string m_mode; 00031 bool m_novalidate; 00032 float m_norm; //Lumi2DB specific 00033 bool m_nocheckingstablebeam; //Lumi2DB specific 00034 private: 00035 DataPipe( const DataPipe& ); 00036 const DataPipe& operator=( const DataPipe& ); 00037 };//class DataPipe 00038 }//ns lumi 00039 #endif