Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:10

0001 #ifndef DataFormats_FWLite_RunBase_h
0002 #define DataFormats_FWLite_RunBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     DataFormats/FWLite
0006 // Class  :     RunBase
0007 //
0008 /**\class RunBase RunBase.h DataFormats/FWLite/interface/RunBase.h
0009 
0010    Description: <one line class summary>
0011 
0012    Usage:
0013    <usage>
0014 
0015 */
0016 //
0017 // Original Author:  Eric Vaandering
0018 //         Created:  Wed Jan  13 15:01:20 EDT 2007
0019 //
0020 
0021 // system include files
0022 #include <string>
0023 #include <typeinfo>
0024 //
0025 // // user include files
0026 #include "DataFormats/Common/interface/WrapperBase.h"
0027 #include "FWCore/Common/interface/RunBase.h"
0028 
0029 #include "Rtypes.h"
0030 
0031 namespace fwlite {
0032   class RunBase : public edm::RunBase {
0033   public:
0034     RunBase();
0035 
0036     ~RunBase() override;
0037 
0038     virtual bool getByLabel(std::type_info const&, char const*, char const*, char const*, void*) const = 0;
0039 
0040     using edm::RunBase::getByLabel;
0041 
0042     //          virtual std::string const getBranchNameFor (std::type_info const&,
0043     //                                                      char const*,
0044     //                                                      char const*,
0045     //                                                      char const*) const = 0;
0046 
0047     virtual bool atEnd() const = 0;
0048 
0049     virtual const RunBase& operator++() = 0;
0050 
0051     virtual const RunBase& toBegin() = 0;
0052 
0053     virtual Long64_t fileIndex() const { return -1; }
0054     virtual Long64_t secondaryFileIndex() const { return -1; }
0055 
0056   private:
0057     edm::BasicHandle getByLabelImpl(std::type_info const&, std::type_info const&, const edm::InputTag&) const override;
0058   };
0059 }  // namespace fwlite
0060 
0061 #endif