Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-07-30 02:33:24

0001 #ifndef RecoLuminosity_LumiProducer_DataPipe_H
0002 #define RecoLuminosity_LumiProducer_DataPipe_H
0003 #include <string>
0004 namespace edm {
0005   class ParameterSet;
0006 }
0007 namespace lumi {
0008   class DataPipe {
0009   public:
0010     explicit DataPipe(const std::string&);
0011     DataPipe(const DataPipe&) = delete;
0012     const DataPipe& operator=(const DataPipe&) = delete;
0013     virtual unsigned long long retrieveData(unsigned int) = 0;
0014     virtual const std::string dataType() const = 0;
0015     virtual const std::string sourceType() const = 0;
0016     virtual ~DataPipe() {}
0017     void setNoValidate();
0018     void setNoCheckingStableBeam();
0019     void setSource(const std::string& source);
0020     void setAuthPath(const std::string& authpath);
0021     void setMode(const std::string& mode);
0022     void setNorm(float norm);
0023     std::string getSource() const;
0024     std::string getMode() const;
0025     std::string getAuthPath() const;
0026     float getNorm() const;
0027 
0028   protected:
0029     std::string m_dest;
0030     std::string m_source;
0031     std::string m_authpath;
0032     std::string m_mode;
0033     bool m_novalidate;
0034     float m_norm;                 //Lumi2DB specific
0035     bool m_nocheckingstablebeam;  //Lumi2DB specific
0036   };                              //class DataPipe
0037 }  // namespace lumi
0038 #endif