RunBase

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
#ifndef DataFormats_FWLite_RunBase_h
#define DataFormats_FWLite_RunBase_h
// -*- C++ -*-
//
// Package:     DataFormats/FWLite
// Class  :     RunBase
//
/**\class RunBase RunBase.h DataFormats/FWLite/interface/RunBase.h

   Description: <one line class summary>

   Usage:
   <usage>

*/
//
// Original Author:  Eric Vaandering
//         Created:  Wed Jan  13 15:01:20 EDT 2007
//

// system include files
#include <string>
#include <typeinfo>
//
// // user include files
#include "DataFormats/Common/interface/WrapperBase.h"
#include "FWCore/Common/interface/RunBase.h"

#include "Rtypes.h"

namespace fwlite {
  class RunBase : public edm::RunBase {
  public:
    RunBase();

    ~RunBase() override;

    virtual bool getByLabel(std::type_info const&, char const*, char const*, char const*, void*) const = 0;

    using edm::RunBase::getByLabel;

    //          virtual std::string const getBranchNameFor (std::type_info const&,
    //                                                      char const*,
    //                                                      char const*,
    //                                                      char const*) const = 0;

    virtual bool atEnd() const = 0;

    virtual const RunBase& operator++() = 0;

    virtual const RunBase& toBegin() = 0;

    virtual Long64_t fileIndex() const { return -1; }
    virtual Long64_t secondaryFileIndex() const { return -1; }

  private:
    edm::BasicHandle getByLabelImpl(std::type_info const&, std::type_info const&, const edm::InputTag&) const override;
  };
}  // namespace fwlite

#endif