FWCore
Framework
interface
limited
OutputModule.h
Go to the documentation of this file.
1
#ifndef FWCore_Framework_limited_OutputModule_h
2
#define FWCore_Framework_limited_OutputModule_h
3
// -*- C++ -*-
4
//
5
// Package: FWCore/Framework
6
// Class : edm::limited::OutputModule
7
//
16
//
17
//
18
19
// system include files
20
21
// user include files
22
#include "
FWCore/Framework/interface/limited/outputmoduleAbilityToImplementor.h
"
23
24
// forward declarations
25
namespace
edm
{
26
namespace
limited {
27
template
<
typename
...
T
>
28
class
OutputModule
:
public
virtual
OutputModuleBase
,
public
outputmodule::AbilityToImplementor
<T>
::Type
... {
29
public
:
30
OutputModule
(
edm::ParameterSet
const
& iPSet)
31
:
OutputModuleBase
(iPSet), outputmodule::
AbilityToImplementor
<
T
>::
Type
(iPSet)... {}
32
// Required to work around ICC bug, but possible source of bloat in gcc.
33
// We do this only in the case of the intel compiler as this might end up
34
// creating a lot of code bloat due to inline symbols being generated in
35
// each DSO which uses this header.
36
#ifdef __INTEL_COMPILER
37
virtual
~
OutputModule
() =
default
;
38
#endif
39
40
// ---------- const member functions ---------------------
41
bool
wantsProcessBlocks
()
const
final {
return
WantsProcessBlockTransitions
<
T
...>
::value
; }
42
bool
wantsInputProcessBlocks
()
const
final {
return
WantsInputProcessBlockTransitions
<
T
...>
::value
; }
43
bool
wantsStreamRuns
()
const
final {
return
WantsStreamRunTransitions
<
T
...>
::value
; }
44
bool
wantsStreamLuminosityBlocks
()
const
final {
return
WantsStreamLuminosityBlockTransitions
<
T
...>
::value
; }
45
46
// ---------- static member functions --------------------
47
48
// ---------- member functions ---------------------------
49
50
private
:
51
OutputModule
(
const
OutputModule
&) =
delete
;
// stop default
52
53
const
OutputModule
&
operator=
(
const
OutputModule
&) =
delete
;
// stop default
54
55
// ---------- member data --------------------------------
56
};
57
}
// namespace limited
58
}
// namespace edm
59
60
#endif
edm::limited::OutputModule::wantsInputProcessBlocks
bool wantsInputProcessBlocks() const final
Definition:
OutputModule.h:42
AbilityToImplementor
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::limited::OutputModule::OutputModule
OutputModule(edm::ParameterSet const &iPSet)
Definition:
OutputModule.h:30
edm::limited::OutputModule::wantsStreamLuminosityBlocks
bool wantsStreamLuminosityBlocks() const final
Definition:
OutputModule.h:44
watchdog.const
const
Definition:
watchdog.py:83
edm::limited::OutputModule::wantsProcessBlocks
bool wantsProcessBlocks() const final
Definition:
OutputModule.h:41
susybsm::HSCParticleType::Type
Type
Definition:
HSCParticle.h:20
edm::WantsInputProcessBlockTransitions
Definition:
moduleAbilities.h:154
edm::limited::OutputModule::operator=
const OutputModule & operator=(const OutputModule &)=delete
outputmoduleAbilityToImplementor.h
edm::ParameterSet
Definition:
ParameterSet.h:47
edm::WantsStreamLuminosityBlockTransitions
Definition:
moduleAbilities.h:181
edm::WantsProcessBlockTransitions
Definition:
moduleAbilities.h:147
edm::limited::OutputModuleBase
Definition:
OutputModuleBase.h:65
edm::WantsStreamRunTransitions
Definition:
moduleAbilities.h:175
T
long double T
Definition:
Basic3DVectorLD.h:48
edm::limited::outputmodule::AbilityToImplementor
Definition:
outputmoduleAbilityToImplementor.h:102
relativeConstraints.value
value
Definition:
relativeConstraints.py:53
edm::limited::OutputModule
Definition:
OutputModule.h:28
edm::limited::OutputModule::wantsStreamRuns
bool wantsStreamRuns() const final
Definition:
OutputModule.h:43
Generated for CMSSW Reference Manual by
1.8.16