CMS 3D CMS Logo

History.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_History_h
2 #define DataFormats_Provenance_History_h
3 
4 //----------------------------------------------------------------------
5 //
6 // Class History represents the processing history of a single Event.
7 // It includes ordered sequences of elements, each of which contains
8 // information about a specific 'process' through which the Event has
9 // passed, with earlier processes at the beginning of the sequence.
10 // This class is needed for backward compatibility only.
11 // It is relevant if and only if fileFormatVersion.eventHistoryTree() is true.
12 //
13 //
14 //----------------------------------------------------------------------
15 
16 #include <vector>
20 
21 namespace edm {
22  class History {
23  public:
24  typedef std::size_t size_type;
25 
26  // Compiler-generated default c'tor, copy c'tor, assignment and
27  // d'tor are all correct.
28 
29  // Return the number of 'processing steps' recorded in this
30  // History.
31  size_type size() const;
32 
33  // Add the given entry to this History. When a new data member is
34  // added to the History class, this function should be modified to
35  // take an instance of the type of the new data member.
36  void addEventSelectionEntry(EventSelectionID const& eventSelection);
37 
38  void addBranchListIndexEntry(BranchListIndex const& branchListIndex);
39 
41 
43 
45 
47 
49 
51 
53 
54  private:
55  // Note: We could, instead, define a struct that contains the
56  // appropriate information for each history entry, and then contain
57  // only one data member: a vector of this struct. This might make
58  // iteration more convenient. But it would seem to complicate
59  // persistence. The current plan is to have parallel vectors, one
60  // for each type of item stored as data.
62 
64 
66  };
67 
68 } // namespace edm
69 
70 #endif
ProcessHistoryID.h
mps_fire.i
i
Definition: mps_fire.py:428
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::BranchListIndexes
std::vector< BranchListIndex > BranchListIndexes
Definition: BranchListIndex.h:18
edm::History::processHistoryID_
ProcessHistoryID processHistoryID_
Definition: History.h:65
edm::History::addBranchListIndexEntry
void addBranchListIndexEntry(BranchListIndex const &branchListIndex)
Definition: History.cc:11
edm::History::getEventSelectionID
EventSelectionID const & getEventSelectionID(size_type i) const
Definition: History.cc:15
edm::History::branchListIndexes_
BranchListIndexes branchListIndexes_
Definition: History.h:63
BranchListIndex.h
edm::History::addEventSelectionEntry
void addEventSelectionEntry(EventSelectionID const &eventSelection)
Definition: History.cc:7
edm::Hash< ParameterSetType >
edm::BranchListIndex
unsigned short BranchListIndex
Definition: BranchListIndex.h:17
edm::History::eventSelections_
EventSelectionIDVector eventSelections_
Definition: History.h:61
edm::History::size
size_type size() const
Definition: History.cc:5
edm::History::eventSelectionIDs
EventSelectionIDVector & eventSelectionIDs()
Definition: History.h:44
edm::History::eventSelectionIDs
EventSelectionIDVector const & eventSelectionIDs() const
Definition: History.h:42
edm::History::processHistoryID
ProcessHistoryID const & processHistoryID() const
Definition: History.h:46
edm::History::branchListIndexes
BranchListIndexes & branchListIndexes()
Definition: History.h:52
edm::History::branchListIndexes
BranchListIndexes const & branchListIndexes() const
Definition: History.h:50
edm::History::setProcessHistoryID
void setProcessHistoryID(ProcessHistoryID const &phid)
Definition: History.h:48
edm::History
Definition: History.h:22
edm::EventSelectionIDVector
std::vector< EventSelectionID > EventSelectionIDVector
Definition: EventSelectionID.h:16
EventSelectionID.h
edm::History::size_type
std::size_t size_type
Definition: History.h:24