CMS 3D CMS Logo

LuminosityBlockAuxiliary.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_LuminosityBlockAuxiliary_h
2 #define DataFormats_Provenance_LuminosityBlockAuxiliary_h
3 
4 #include <iosfwd>
5 
10 
11 // Auxiliary luminosity block data that is persistent
12 
13 namespace edm {
14  class LuminosityBlockAux;
16  public:
19  LuminosityBlockAuxiliary(LuminosityBlockID const& theId, Timestamp const& theTime, Timestamp const& theEndTime)
20  : processHistoryID_(), id_(theId), beginTime_(theTime), endTime_(theEndTime) {}
22  LuminosityBlockNumber_t const& theLumi,
23  Timestamp const& theTime,
24  Timestamp const& theEndTime)
25  : processHistoryID_(), id_(theRun, theLumi), beginTime_(theTime), endTime_(theEndTime) {}
27  void write(std::ostream& os) const;
31  RunNumber_t run() const { return id().run(); }
32  LuminosityBlockID const& id() const { return id_; }
33  LuminosityBlockID& id() { return id_; }
34  Timestamp const& beginTime() const { return beginTime_; }
35  void setBeginTime(Timestamp const& time) {
37  beginTime_ = time;
38  }
39  Timestamp const& endTime() const { return endTime_; }
40  void setEndTime(Timestamp const& time) {
42  endTime_ = time;
43  }
44  void mergeAuxiliary(LuminosityBlockAuxiliary const& newAux);
45 
46  bool sameIdentity(LuminosityBlockAuxiliary const& iRHS) const {
47  return iRHS.processHistoryID_ == processHistoryID_ && iRHS.id_ == id_;
48  }
49 
50  private:
51  // This is the ID of the full process history (not the reduced process history).
52  // In cases where LuminosityBlock's are merged, the ID of the first process history encountered
53  // is stored here.
55  // LuminosityBlock ID
57  // Times from DAQ
60  };
61 
62  inline std::ostream& operator<<(std::ostream& os, const LuminosityBlockAuxiliary& p) {
63  p.write(os);
64  return os;
65  }
66 
67 } // namespace edm
68 #endif
static Timestamp invalidTimestamp()
Definition: Timestamp.h:82
ProcessHistoryID const & processHistoryID() const
void setEndTime(Timestamp const &time)
LuminosityBlockAuxiliary(LuminosityBlockID const &theId, Timestamp const &theTime, Timestamp const &theEndTime)
void write(std::ostream &os) const
void setBeginTime(Timestamp const &time)
unsigned int LuminosityBlockNumber_t
friend void conversion(LuminosityBlockAux const &, LuminosityBlockAuxiliary &)
void mergeAuxiliary(LuminosityBlockAuxiliary const &newAux)
RunNumber_t run() const
Timestamp const & endTime() const
Timestamp const & beginTime() const
void setProcessHistoryID(ProcessHistoryID const &phid)
LuminosityBlockNumber_t luminosityBlock() const
LuminosityBlockNumber_t luminosityBlock() const
HLT enums.
LuminosityBlockAuxiliary(RunNumber_t const &theRun, LuminosityBlockNumber_t const &theLumi, Timestamp const &theTime, Timestamp const &theEndTime)
unsigned int RunNumber_t
bool sameIdentity(LuminosityBlockAuxiliary const &iRHS) const
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
LuminosityBlockID const & id() const