CMS 3D CMS Logo

LuminosityBlockPrincipal.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_LuminosityBlockPrincipal_h
2 #define FWCore_Framework_LuminosityBlockPrincipal_h
3 
4 /*----------------------------------------------------------------------
5 
6 LuminosityBlockPrincipal: This is the class responsible for management of
7 per luminosity block EDProducts. It is not seen by reconstruction code;
8 such code sees the LuminosityBlock class, which is a proxy for LuminosityBlockPrincipal.
9 
10 The major internal component of the LuminosityBlockPrincipal
11 is the DataBlock.
12 
13 ----------------------------------------------------------------------*/
14 
20 
21 #include <memory>
22 
23 #include <vector>
24 
25 namespace edm {
26 
27  class HistoryAppender;
28  class ModuleCallingContext;
29  class RunPrincipal;
30 
32  public:
34  typedef Principal Base;
35  LuminosityBlockPrincipal(std::shared_ptr<ProductRegistry const> reg,
36  ProcessConfiguration const& pc,
37  HistoryAppender* historyAppender,
38  unsigned int index,
39  bool isForPrimaryProcess = true);
40 
42 
44 
45  RunPrincipal const& runPrincipal() const { return *runPrincipal_; }
46 
48 
49  void setRunPrincipal(std::shared_ptr<RunPrincipal> rp) { runPrincipal_ = rp; }
50 
51  LuminosityBlockIndex index() const { return index_; }
52 
53  LuminosityBlockID id() const { return aux().id(); }
54 
55  Timestamp const& beginTime() const { return aux().beginTime(); }
56 
57  Timestamp const& endTime() const { return aux().endTime(); }
58 
60 
62 
64  LuminosityBlockAuxiliary const& aux() const { return aux_; }
65 
66  RunNumber_t run() const { return aux().run(); }
67 
69 
70  void put(BranchDescription const& bd, std::unique_ptr<WrapperBase> edp) const;
71 
72  void put(ProductResolverIndex index, std::unique_ptr<WrapperBase> edp) const;
73 
74  private:
75  unsigned int transitionIndex_() const override;
76 
78 
80 
82  };
83 } // namespace edm
84 #endif
edm::LuminosityBlockAuxiliary::run
RunNumber_t run() const
Definition: LuminosityBlockAuxiliary.h:35
edm::RunNumber_t
unsigned int RunNumber_t
Definition: RunLumiEventNumber.h:14
edm::LuminosityBlockPrincipal::runPrincipal
RunPrincipal const & runPrincipal() const
Definition: LuminosityBlockPrincipal.h:45
edm::ProductResolverIndex
unsigned int ProductResolverIndex
Definition: ProductResolverIndex.h:8
edm::LuminosityBlockPrincipal::Auxiliary
LuminosityBlockAuxiliary Auxiliary
Definition: LuminosityBlockPrincipal.h:33
edm::LuminosityBlockPrincipal::runPrincipal_
edm::propagate_const< std::shared_ptr< RunPrincipal > > runPrincipal_
Definition: LuminosityBlockPrincipal.h:77
propagate_const.h
edm
HLT enums.
Definition: AlignableModifier.h:19
deep_tau::DeepTauBase::BasicDiscriminator
BasicDiscriminator
Definition: DeepTauBase.h:115
edm::LuminosityBlockPrincipal::~LuminosityBlockPrincipal
~LuminosityBlockPrincipal() override
Definition: LuminosityBlockPrincipal.h:41
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
protons_cff.time
time
Definition: protons_cff.py:39
edm::Principal
Definition: Principal.h:56
edm::LuminosityBlockPrincipal::runPrincipal
RunPrincipal & runPrincipal()
Definition: LuminosityBlockPrincipal.h:47
edm::LuminosityBlockPrincipal::run
RunNumber_t run() const
Definition: LuminosityBlockPrincipal.h:66
edm::Principal::processHistory
ProcessHistory const & processHistory() const
Definition: Principal.h:140
edm::LuminosityBlockNumber_t
unsigned int LuminosityBlockNumber_t
Definition: RunLumiEventNumber.h:13
edm::LuminosityBlockPrincipal::aux
LuminosityBlockAuxiliary const & aux() const
Definition: LuminosityBlockPrincipal.h:64
edm::LuminosityBlockAuxiliary
Definition: LuminosityBlockAuxiliary.h:15
edm::LuminosityBlockAuxiliary::mergeAuxiliary
void mergeAuxiliary(LuminosityBlockAuxiliary const &newAux)
Definition: LuminosityBlockAuxiliary.cc:15
edm::propagate_const
Definition: propagate_const.h:32
edm::LuminosityBlockAuxiliary::setEndTime
void setEndTime(Timestamp const &time)
Definition: LuminosityBlockAuxiliary.h:44
edm::LuminosityBlockIndex
Definition: LuminosityBlockIndex.h:33
edm::Principal::reader
DelayedReader * reader() const
Definition: Principal.h:187
edm::LuminosityBlockAuxiliary::id
LuminosityBlockID const & id() const
Definition: LuminosityBlockAuxiliary.h:36
edm::LuminosityBlockPrincipal::Base
Principal Base
Definition: LuminosityBlockPrincipal.h:34
edm::LuminosityBlockID
Definition: LuminosityBlockID.h:31
Principal.h
LuminosityBlockAuxiliary.h
edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal
void fillLuminosityBlockPrincipal(ProcessHistory const *processHistory, DelayedReader *reader=nullptr)
Definition: LuminosityBlockPrincipal.cc:16
edm::LuminosityBlockPrincipal::mergeAuxiliary
void mergeAuxiliary(LuminosityBlockAuxiliary const &aux)
Definition: LuminosityBlockPrincipal.h:68
edm::LuminosityBlockAuxiliary::endTime
Timestamp const & endTime() const
Definition: LuminosityBlockAuxiliary.h:43
edm::LuminosityBlockPrincipal::setRunPrincipal
void setRunPrincipal(std::shared_ptr< RunPrincipal > rp)
Definition: LuminosityBlockPrincipal.h:49
edm::LuminosityBlockPrincipal::put
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
Definition: LuminosityBlockPrincipal.cc:21
edm::HistoryAppender
Definition: HistoryAppender.h:13
edm::LuminosityBlockPrincipal::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockPrincipal.h:61
edm::LuminosityBlockPrincipal::LuminosityBlockPrincipal
LuminosityBlockPrincipal(std::shared_ptr< ProductRegistry const > reg, ProcessConfiguration const &pc, HistoryAppender *historyAppender, unsigned int index, bool isForPrimaryProcess=true)
Definition: LuminosityBlockPrincipal.cc:7
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::LuminosityBlockAuxiliary::luminosityBlock
LuminosityBlockNumber_t luminosityBlock() const
Definition: LuminosityBlockAuxiliary.h:34
edm::LuminosityBlockPrincipal::id
LuminosityBlockID id() const
Definition: LuminosityBlockPrincipal.h:53
edm::LuminosityBlockPrincipal::index_
LuminosityBlockIndex index_
Definition: LuminosityBlockPrincipal.h:81
edm::DelayedReader
Definition: DelayedReader.h:29
LuminosityBlockIndex.h
edm::BranchDescription
Definition: BranchDescription.h:32
edm::LuminosityBlockPrincipal::aux_
LuminosityBlockAuxiliary aux_
Definition: LuminosityBlockPrincipal.h:79
edm::LuminosityBlockPrincipal::endTime
Timestamp const & endTime() const
Definition: LuminosityBlockPrincipal.h:57
edm::ProcessHistory
Definition: ProcessHistory.h:13
edm::LuminosityBlockPrincipal::index
LuminosityBlockIndex index() const
Definition: LuminosityBlockPrincipal.h:51
edm::LuminosityBlockPrincipal::beginTime
Timestamp const & beginTime() const
Definition: LuminosityBlockPrincipal.h:55
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::LuminosityBlockAuxiliary::beginTime
Timestamp const & beginTime() const
Definition: LuminosityBlockAuxiliary.h:38
RunID.h
edm::LuminosityBlockPrincipal::transitionIndex_
unsigned int transitionIndex_() const override
Definition: LuminosityBlockPrincipal.cc:30
edm::ProcessConfiguration
Definition: ProcessConfiguration.h:14
edm::LuminosityBlockPrincipal::setAux
void setAux(LuminosityBlockAuxiliary iAux)
Definition: LuminosityBlockPrincipal.h:63
edm::LuminosityBlockPrincipal::setEndTime
void setEndTime(Timestamp const &time)
Definition: LuminosityBlockPrincipal.h:59
edm::Timestamp
Definition: Timestamp.h:30