CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoLuminosity/LumiProducer/interface/DataPipe.h

Go to the documentation of this file.
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