File indexing completed on 2024-04-06 12:12:04
0001 #ifndef FWCore_Framework_LuminosityBlockForOutput_h
0002 #define FWCore_Framework_LuminosityBlockForOutput_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include "DataFormats/Common/interface/Wrapper.h"
0022 #include "DataFormats/Provenance/interface/LuminosityBlockAuxiliary.h"
0023 #include "FWCore/Framework/interface/Frameworkfwd.h"
0024 #include "FWCore/Framework/interface/OccurrenceForOutput.h"
0025 #include "FWCore/Utilities/interface/propagate_const.h"
0026 #include "FWCore/Utilities/interface/LuminosityBlockIndex.h"
0027
0028 #include <memory>
0029 #include <string>
0030 #include <typeinfo>
0031 #include <vector>
0032
0033 namespace edmtest {
0034 class TestOutputModule;
0035 }
0036
0037 namespace edm {
0038 class ModuleCallingContext;
0039
0040 class LuminosityBlockForOutput : public OccurrenceForOutput {
0041 public:
0042 LuminosityBlockForOutput(LumiTransitionInfo const&,
0043 ModuleDescription const&,
0044 ModuleCallingContext const*,
0045 bool isAtEnd);
0046 LuminosityBlockForOutput(LuminosityBlockPrincipal const&,
0047 ModuleDescription const&,
0048 ModuleCallingContext const*,
0049 bool isAtEnd);
0050 ~LuminosityBlockForOutput() override;
0051
0052 LuminosityBlockAuxiliary const& luminosityBlockAuxiliary() const { return aux_; }
0053 LuminosityBlockID const& id() const { return aux_.id(); }
0054 LuminosityBlockNumber_t luminosityBlock() const { return aux_.luminosityBlock(); }
0055 RunNumber_t run() const { return aux_.run(); }
0056 Timestamp const& beginTime() const { return aux_.beginTime(); }
0057 Timestamp const& endTime() const { return aux_.endTime(); }
0058
0059
0060
0061 LuminosityBlockIndex index() const;
0062
0063 RunForOutput const& getRun() const { return *run_; }
0064
0065 private:
0066 friend class edmtest::TestOutputModule;
0067
0068 LuminosityBlockPrincipal const& luminosityBlockPrincipal() const;
0069
0070 LuminosityBlockAuxiliary const& aux_;
0071 std::shared_ptr<RunForOutput const> const run_;
0072 };
0073
0074 }
0075 #endif