CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/FWLite/interface/EventBase.h

Go to the documentation of this file.
00001 #ifndef DataFormats_FWLite_EventBase_h
00002 #define DataFormats_FWLite_EventBase_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     FWLite
00006 // Class  :     EventBase
00007 //
00016 //
00017 // Original Author:  Charles Plager
00018 //         Created:  Tue May  8 15:01:20 EDT 2007
00019 //
00020 #if !defined(__CINT__) && !defined(__MAKECINT__)
00021 // system include files
00022 #include <string>
00023 #include <typeinfo>
00024 //
00025 // // user include files
00026 #include "FWCore/Common/interface/EventBase.h"
00027 
00028 #include "Rtypes.h"
00029 
00030 namespace fwlite
00031 {
00032    class EventBase : public edm::EventBase
00033    {
00034       public:
00035          EventBase();
00036 
00037          virtual ~EventBase();
00038 
00039          virtual bool getByLabel (const std::type_info&,
00040                                   const char*,
00041                                   const char*,
00042                                   const char*,
00043                                   void*) const = 0;
00044          using edm::EventBase::getByLabel;
00045 
00046          virtual const std::string getBranchNameFor (const std::type_info&,
00047                                                      const char*,
00048                                                      const char*,
00049                                                      const char*) const = 0;
00050 
00051          virtual bool atEnd() const = 0;
00052 
00053          virtual const EventBase& operator++() = 0;
00054 
00055          virtual const EventBase& toBegin() = 0;
00056 
00057          virtual Long64_t fileIndex()          const { return -1; }
00058          virtual Long64_t secondaryFileIndex() const { return -1; }
00059 
00060       private:
00061 
00062          virtual edm::BasicHandle getByLabelImpl(const std::type_info&, const std::type_info&, const edm::InputTag&) const;
00063    };
00064 } // fwlite namespace
00065 
00066 #endif /*__CINT__ */
00067 #endif