ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
StoreGate
StoreGate
ThinningHandleBase.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
4
*/
11
12
13
#ifndef STOREGATE_THINNINGHANDLEBASE_H
14
#define STOREGATE_THINNINGHANDLEBASE_H
15
16
17
#include "
StoreGate/ThinningHandleKey.h
"
18
#include "
StoreGate/WriteHandle.h
"
19
#include "
AthContainers/ThinningDecision.h
"
20
21
22
namespace
SG
{
23
24
31
class
ThinningHandleBase
32
{
33
public
:
34
using
Op
=
ThinningDecision::Op
;
35
36
43
explicit
ThinningHandleBase
(
const
WriteHandleKey<ThinningDecision>
& dkey,
44
const
std::string& sgkey,
45
const
EventContext& ctx);
46
52
~ThinningHandleBase
();
53
54
59
void
thin
(
size_t
ndx);
60
61
67
void
keep
(
size_t
ndx);
68
69
79
void
thin
(
const
std::vector<bool>& v,
Op
op = Op::Set);
80
81
91
void
keep
(
const
std::vector<bool>& v,
Op
op = Op::Set);
92
93
103
void
thin
(
const
ThinningDecisionBase
& other,
Op
op = Op::Set);
104
105
115
void
keep
(
const
ThinningDecisionBase
& other,
Op
op = Op::Set);
116
117
121
void
thinAll
();
122
123
127
void
keepAll
();
128
129
133
const
ThinningDecision
&
decision
()
const
;
134
135
136
private
:
138
WriteHandle<ThinningDecision>
m_decisionHandle
;
139
141
std::unique_ptr<ThinningDecision>
m_decision
;
142
};
143
144
145
}
// namespace SG
146
147
148
#endif
// not STOREGATE_THINNINGHANDLEBASE_H
WriteHandle.h
Handle class for recording to StoreGate.
ThinningDecision.h
Hold thinning decisions for one container.
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
SG::ThinningDecisionBase
Hold thinning decisions for one container.
Definition
ThinningDecisionBase.h:39
SG::ThinningDecisionBase::Op
Op
Definition
ThinningDecisionBase.h:44
SG::ThinningDecision
Hold thinning decisions for one container.
Definition
ThinningDecision.h:40
SG::ThinningHandleBase::thin
void thin(size_t ndx)
Mark that index ndx in the container should be thinned away.
Definition
ThinningHandleBase.cxx:64
SG::ThinningHandleBase::ThinningHandleBase
ThinningHandleBase(const WriteHandleKey< ThinningDecision > &dkey, const std::string &sgkey, const EventContext &ctx)
Constructor.
Definition
ThinningHandleBase.cxx:27
SG::ThinningHandleBase::thinAll
void thinAll()
Mark that all elements should be thinned away.
Definition
ThinningHandleBase.cxx:143
SG::ThinningHandleBase::decision
const ThinningDecision & decision() const
Return the thinning object we're building.
Definition
ThinningHandleBase.cxx:161
SG::ThinningHandleBase::keepAll
void keepAll()
Mark that all elements should be kept (not thinned).
Definition
ThinningHandleBase.cxx:152
SG::ThinningHandleBase::m_decision
std::unique_ptr< ThinningDecision > m_decision
The thinning object we're building.
Definition
ThinningHandleBase.h:141
SG::ThinningHandleBase::keep
void keep(size_t ndx)
Mark that index ndx in the container should be kept (not thinned away).
Definition
ThinningHandleBase.cxx:75
SG::ThinningHandleBase::m_decisionHandle
WriteHandle< ThinningDecision > m_decisionHandle
Handle for writing the decision object.
Definition
ThinningHandleBase.h:138
SG::ThinningHandleBase::Op
ThinningDecision::Op Op
Definition
ThinningHandleBase.h:34
SG::ThinningHandleBase::~ThinningHandleBase
~ThinningHandleBase()
Destructor.
Definition
ThinningHandleBase.cxx:41
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
Generated on
for ATLAS Offline Software by
1.17.0