Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
DataFormats
Provenance
interface
BranchEntryDescription.h
Go to the documentation of this file.
1
#ifndef DataFormats_Provenance_BranchEntryDescription_h
2
#define DataFormats_Provenance_BranchEntryDescription_h
3
4
/*----------------------------------------------------------------------
5
6
BranchEntryDescription: The event dependent portion of the description of a product
7
and how it came into existence.
8
9
Obsolete
10
11
----------------------------------------------------------------------*/
12
#include <vector>
13
14
#include "
DataFormats/Provenance/interface/ProductID.h
"
15
16
/*
17
BranchEntryDescription
18
19
definitions:
20
Product: The EDProduct to which a provenance object is associated
21
22
Creator: The EDProducer that made the product.
23
24
Parents: The EDProducts used as input by the creator.
25
*/
26
27
namespace
edm {
28
struct
BranchEntryDescription
{
29
enum
CreatorStatus
{
Success
= 0,
30
ApplicationFailure
,
31
InfrastructureFailure
,
32
CreatorNotRun
};
33
34
BranchEntryDescription
();
35
36
~BranchEntryDescription
();
37
38
ProductID
const
&
productID
()
const
{
return
productID_
;}
39
bool
const
&
isPresent
()
const
{
return
isPresent_
;}
40
CreatorStatus
const
&
creatorStatus
()
const
{
return
status_
;}
41
std::vector<ProductID>
const
&
parents
()
const
{
return
parents_
;}
42
43
private
:
44
ProductID
productID_
;
45
46
// The EDProduct IDs of the parents
47
std::vector<ProductID>
parents_
;
48
49
// a single identifier that describes all the conditions used
50
unsigned
int
cid_
;
// frame ID?
51
52
// the last of these is not in the roadmap, but is on the board
53
54
// if modules can or will place an object in the event
55
// even though something not good occurred, like a timeout, then
56
// this may be useful - or if the I/O system makes blank or default
57
// constructed objects and we need to distinguish between zero
58
// things in a collection between nothing was found and the case
59
// where a failure caused nothing to be in the collection.
60
// Should a provenance be inserted even if a module fails to
61
// create the output it promised?
62
CreatorStatus
status_
;
63
64
// Is the object present in the event. This can be false if the object
65
// was never created (status != Success), or if the branch containing
66
// the product was dropped.
67
bool
isPresent_
;
68
69
};
70
}
71
#endif
edm::BranchEntryDescription::isPresent_
bool isPresent_
Definition:
BranchEntryDescription.h:67
edm::BranchEntryDescription::BranchEntryDescription
BranchEntryDescription()
Definition:
BranchEntryDescription.cc:9
edm::BranchEntryDescription::cid_
unsigned int cid_
Definition:
BranchEntryDescription.h:50
edm::BranchEntryDescription::parents
std::vector< ProductID > const & parents() const
Definition:
BranchEntryDescription.h:41
Success
Definition:
CMSexception.h:120
edm::BranchEntryDescription::~BranchEntryDescription
~BranchEntryDescription()
Definition:
BranchEntryDescription.cc:17
edm::BranchEntryDescription::isPresent
bool const & isPresent() const
Definition:
BranchEntryDescription.h:39
ProductID.h
edm::BranchEntryDescription
Definition:
BranchEntryDescription.h:28
edm::BranchEntryDescription::ApplicationFailure
Definition:
BranchEntryDescription.h:30
edm::BranchEntryDescription::creatorStatus
CreatorStatus const & creatorStatus() const
Definition:
BranchEntryDescription.h:40
edm::BranchEntryDescription::productID
ProductID const & productID() const
Definition:
BranchEntryDescription.h:38
edm::ProductID
Definition:
ProductID.h:27
edm::BranchEntryDescription::parents_
std::vector< ProductID > parents_
Definition:
BranchEntryDescription.h:47
edm::BranchEntryDescription::InfrastructureFailure
Definition:
BranchEntryDescription.h:31
edm::BranchEntryDescription::CreatorStatus
CreatorStatus
Definition:
BranchEntryDescription.h:29
edm::BranchEntryDescription::CreatorNotRun
Definition:
BranchEntryDescription.h:32
edm::BranchEntryDescription::productID_
ProductID productID_
Definition:
BranchEntryDescription.h:44
edm::BranchEntryDescription::status_
CreatorStatus status_
Definition:
BranchEntryDescription.h:62
Generated for CMSSW Reference Manual by
1.8.5