Main Page
Namespaces
Classes
Package Documentation
FWCore
Utilities
interface
InputTag.h
Go to the documentation of this file.
1
#ifndef FWCore_Utilities_InputTag_h
2
#define FWCore_Utilities_InputTag_h
3
4
#include <atomic>
5
#include <iosfwd>
6
#include <string>
7
8
#include "
FWCore/Utilities/interface/TypeID.h
"
9
#include "
FWCore/Utilities/interface/BranchType.h
"
10
#include "
FWCore/Utilities/interface/ProductResolverIndex.h
"
11
#include "
FWCore/Utilities/interface/thread_safety_macros.h
"
12
13
namespace
edm
{
14
15
class
InputTag
{
16
public
:
17
InputTag
();
18
InputTag
(
std::string
const
&
label
,
std::string
const
&
instance
,
std::string
const
&
processName
=
""
);
19
InputTag
(
char
const
* label,
char
const
* instance,
char
const
*
processName
=
""
);
24
InputTag
(
std::string
const
&
s
);
25
~InputTag
();
26
27
InputTag
(
InputTag
const
&
other
);
28
29
InputTag
(
InputTag
&& other);
30
InputTag
&
operator=
(
InputTag
const
& other);
31
32
InputTag
&
operator=
(
InputTag
&& other);
33
34
std::string
encode
()
const
;
35
36
std::string
const
&
label
()
const
{
return
label_
; }
37
std::string
const
&
instance
()
const
{
return
instance_
; }
40
std::string
const
&
process
()
const
{
return
process_
; }
41
42
bool
willSkipCurrentProcess
()
const
{
return
skipCurrentProcess_
; }
43
44
bool
operator==
(
InputTag
const
&
tag
)
const
;
45
46
ProductResolverIndex
indexFor
(
TypeID
const
& typeID,
BranchType
branchType
,
void
const
* productRegistry)
const
;
47
48
void
tryToCacheIndex
(
ProductResolverIndex
index
,
49
TypeID
const
& typeID,
50
BranchType
branchType,
51
void
const
* productRegistry)
const
;
52
53
static
const
std::string
kSkipCurrentProcess
;
54
static
const
std::string
kCurrentProcess
;
55
56
private
:
57
bool
calcSkipCurrentProcess
()
const
;
58
59
std::string
label_
;
60
std::string
instance_
;
61
std::string
process_
;
62
63
CMS_THREAD_GUARD
(
index_
) mutable
TypeID
typeID_
;
64
CMS_THREAD_GUARD
(
index_
) mutable
void
const*
productRegistry_
;
65
66
mutable
std
::atomic<
unsigned
int
>
index_
;
67
68
CMS_THREAD_GUARD
(index_) mutable
char
branchType_
;
69
70
bool
skipCurrentProcess_
;
71
};
72
73
std
::ostream&
operator
<<(
std
::ostream& ost,
InputTag
const& tag);
74
}
// namespace edm
75
#endif
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition:
GlobalPosition_Frontier_DevDB_cff.py:11
edm::ProductResolverIndex
unsigned int ProductResolverIndex
Definition:
ProductResolverIndex.h:8
edm::InputTag::operator=
InputTag & operator=(InputTag const &other)
Definition:
InputTag.cc:103
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
edm::InputTag::~InputTag
~InputTag()
Definition:
InputTag.cc:65
edm::InputTag::instance_
std::string instance_
Definition:
InputTag.h:60
thread_safety_macros.h
std
Definition:
JetResolutionObject.h:80
edm::TypeID
Definition:
TypeID.h:22
edm::InputTag::encode
std::string encode() const
Definition:
InputTag.cc:159
edm::BranchType
BranchType
Definition:
BranchType.h:11
edm::InputTag::indexFor
ProductResolverIndex indexFor(TypeID const &typeID, BranchType branchType, void const *productRegistry) const
Definition:
InputTag.cc:177
edm::InputTag::tryToCacheIndex
void tryToCacheIndex(ProductResolverIndex index, TypeID const &typeID, BranchType branchType, void const *productRegistry) const
Definition:
InputTag.cc:193
AlignmentPI::index
index
Definition:
AlignmentPayloadInspectorHelper.h:36
Utilities.operator
operator
Definition:
Utilities.py:24
trackingPlots.other
other
Definition:
trackingPlots.py:1453
edm::InputTag::kSkipCurrentProcess
static const std::string kSkipCurrentProcess
Definition:
InputTag.h:53
CMS_THREAD_GUARD
#define CMS_THREAD_GUARD(_var_)
ProductResolverIndex.h
edm::InputTag::kCurrentProcess
static const std::string kCurrentProcess
Definition:
InputTag.h:54
edm::InputTag::process_
std::string process_
Definition:
InputTag.h:61
edm::InputTag::calcSkipCurrentProcess
bool calcSkipCurrentProcess() const
Definition:
InputTag.cc:149
edm::InputTag::InputTag
InputTag()
Definition:
InputTag.cc:11
edm::InputTag::label_
std::string label_
Definition:
InputTag.h:59
modifiedElectrons_cfi.processName
processName
Definition:
modifiedElectrons_cfi.py:5
edm::InputTag::productRegistry_
void const * productRegistry_
Definition:
InputTag.h:64
BranchType.h
edm::InputTag::willSkipCurrentProcess
bool willSkipCurrentProcess() const
Definition:
InputTag.h:42
edm::InputTag::operator==
bool operator==(InputTag const &tag) const
Definition:
InputTag.cc:173
TypeID.h
edm::InputTag::label
std::string const & label() const
Definition:
InputTag.h:36
edm::InputTag::process
std::string const & process() const
Definition:
InputTag.h:40
edm::InputTag::skipCurrentProcess_
bool skipCurrentProcess_
Definition:
InputTag.h:70
edm
HLT enums.
Definition:
AlignableModifier.h:17
edm::InputTag
Definition:
InputTag.h:15
edm::InputTag::branchType_
char branchType_
Definition:
InputTag.h:68
edm::InputTag::instance
std::string const & instance() const
Definition:
InputTag.h:37
edm::InputTag::index_
std::atomic< unsigned int > index_
Definition:
InputTag.h:66
revisionDML.branchType
def branchType(schema, name)
Definition:
revisionDML.py:114
edm::InputTag::typeID_
TypeID typeID_
Definition:
InputTag.h:63
Generated for CMSSW Reference Manual by
1.8.11