Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_FWLite_LuminosityBlockBase_h
0002 #define DataFormats_FWLite_LuminosityBlockBase_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     DataFormats/FWLite
0006 // Class  :     LuminosityBlockBase
0007 //
0008 /**\class LuminosityBlockBase LuminosityBlockBase.h DataFormats/FWLite/interface/LuminosityBlockBase.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 // system include files
0021 #include <string>
0022 #include <typeinfo>
0023 //
0024 // // user include files
0025 #include "FWCore/Common/interface/LuminosityBlockBase.h"
0026 
0027 #include "Rtypes.h"
0028 
0029 namespace fwlite {
0030   class LuminosityBlockBase : public edm::LuminosityBlockBase {
0031   public:
0032     LuminosityBlockBase();
0033 
0034     ~LuminosityBlockBase() override;
0035 
0036     virtual bool getByLabel(std::type_info const&, char const*, char const*, char const*, void*) const = 0;
0037 
0038     using edm::LuminosityBlockBase::getByLabel;
0039 
0040     virtual bool atEnd() const = 0;
0041 
0042     virtual const LuminosityBlockBase& operator++() = 0;
0043 
0044     virtual const LuminosityBlockBase& toBegin() = 0;
0045 
0046     virtual Long64_t fileIndex() const { return -1; }
0047     virtual Long64_t secondaryFileIndex() const { return -1; }
0048 
0049   private:
0050     edm::BasicHandle getByLabelImpl(std::type_info const&, std::type_info const&, const edm::InputTag&) const override;
0051   };
0052 }  // namespace fwlite
0053 
0054 #endif