LuminosityBlockContextT

RunContextT

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
#ifndef FWCore_Framework_stream_Contexts_h
#define FWCore_Framework_stream_Contexts_h
// -*- C++ -*-
//
// Package:     FWCore/Framework
// Class  :     Contexts
//
/**\class Contexts Contexts.h "Contexts.h"

 Description: [one line class summary]

 Usage:
    <usage>

*/
//
// Original Author:  Chris Jones
//         Created:  Fri, 02 Aug 2013 18:19:39 GMT
//

// system include files

// user include files

// forward declarations

namespace edm {
  namespace stream {

    template <typename R, typename G>
    class RunContextT {
    public:
      RunContextT(R const* iRun, G const* iGlobal) : m_run(iRun), m_global(iGlobal) {}
      R const* run() const { return m_run; }
      G const* global() const { return m_global; }

    private:
      R const* m_run;
      G const* m_global;
    };

    template <typename L, typename R, typename G>
    class LuminosityBlockContextT {
    public:
      LuminosityBlockContextT(L const* iLumi, R const* iRun, G const* iGlobal)
          : m_lumi(iLumi), m_run(iRun), m_global(iGlobal) {}

      L const* luminosityBlock() const { return m_lumi; }
      R const* run() const { return m_run; }
      G const* global() const { return m_global; }

    private:
      L const* m_lumi;
      R const* m_run;
      G const* m_global;
    };
  }  // namespace stream
}  // namespace edm

#endif