Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
art
art
Framework
Principal
ProductInfo.h
Go to the documentation of this file.
1
#ifndef art_Framework_Principal_ProductInfo_h
2
#define art_Framework_Principal_ProductInfo_h
3
// vim: set sw=2 expandtab :
4
5
#include "
art/Framework/Principal/ProcessTag.h
"
6
#include "
canvas/Utilities/TypeID.h
"
7
8
#include <iosfwd>
9
#include <string>
10
11
namespace
art
{
12
13
class
ProductInfo
{
14
public
:
// TYPES
15
enum class
ConsumableType
{
Product
= 0,
ViewElement
= 1,
Many
= 2 };
16
17
~
ProductInfo
();
18
explicit
ProductInfo
(
ConsumableType
,
TypeID
const
&);
19
explicit
ProductInfo
(
ConsumableType
,
std::string
const
&
friendlyName
);
20
21
explicit
ProductInfo
(
ConsumableType
,
22
TypeID
const
&,
23
std::string
const
&
label
,
24
std::string
const
&
instance
,
25
ProcessTag
const
&
process
);
26
27
explicit
ProductInfo
(
ConsumableType
,
28
std::string
const
& friendlyName,
29
std::string
const
& label,
30
std::string
const
& instance,
31
ProcessTag
const
& process);
32
33
// Future need: We need a way to tell whether consumes* or
34
// mayConsume* was called.
35
36
// Which kind of the DataViewImpl::get* functions we validate.
37
ConsumableType
consumableType{};
38
39
// Data product class type. Part 1 of branch name. The friendly
40
// class name is member is for testing reasons, where the type is
41
// specified in string form. In principle, this should be a
42
// variant object instead of two separate ones.
43
TypeID
typeID{};
44
std::string
friendlyClassName{};
45
46
// Data product module label. Part 2 of branch name.
47
std::string
label{};
48
49
// Data product instance name. Part 3 of branch name.
50
std::string
instance{};
51
52
// Data product process name. Part 4 of branch name.
53
ProcessTag
process{};
54
};
55
56
bool
operator<
(
ProductInfo
const
&
a
,
ProductInfo
const
&
b
);
57
std::ostream&
operator<<
(std::ostream& os,
58
ProductInfo::ConsumableType
const
ct);
59
std::ostream&
operator<<
(std::ostream& os,
ProductInfo
const
&
info
);
60
61
}
// namespace art
62
63
#endif
/* art_Framework_Principal_ProductInfo_h */
64
65
// Local Variables:
66
// mode: c++
67
// End:
art::ProcessTag
Definition:
ProcessTag.h:7
string
std::string string
Definition:
nybbler.cc:12
instance
const std::string instance
Definition:
BlipMaker_module.cc:35
test_nxdot.label
label
Definition:
test_nxdot.py:6
art::ProductInfo::ConsumableType
ConsumableType
Definition:
ProductInfo.h:15
art::ProductInfo::ConsumableType::ViewElement
search.process
def process(f, kind)
Definition:
search.py:254
art::operator<<
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
Definition:
GroupSelector.cc:62
art::operator<
bool operator<(ProductInfo const &a, ProductInfo const &b)
Definition:
ProductInfo.cc:51
art::ProductInfo::ConsumableType::Product
a
const double a
Definition:
gUpMuFluxGen.cxx:164
art::ProductInfo::ConsumableType::Many
generate_datataset.info
info
Definition:
generate_datataset.py:142
art::detail::ProductInfo
Definition:
FileDumperOutput_module.cc:27
art::friendlyname::friendlyName
std::string friendlyName(std::string const &iFullName)
Definition:
FriendlyName.cc:143
TypeID.h
b
static bool * b
Definition:
config.cpp:1043
art
Definition:
BasicOptionsHandler.h:9
art::TypeID
Definition:
TypeID.h:20
ProcessTag.h
Generated by
1.8.11