ATLAS Offline Software
Loading...
Searching...
No Matches
ThinningHandle.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-2025 CERN for the benefit of the ATLAS collaboration
4*/
11
12
13#ifndef STOREGATE_THINNINGHANDLE_H
14#define STOREGATE_THINNINGHANDLE_H
15
16
20#include "GaudiKernel/ThreadLocalContext.h"
21
22
23namespace SG {
24
25
81template <class T>
83 : public ReadHandle<T>, public ThinningHandleBase
84{
85public:
87
88
97 : ThinningHandle (key, Gaudi::Hive::currentContext())
98 {
99 }
100
101
114 const EventContext& ctx)
115 : ReadHandle<T> (key, ctx),
116 ThinningHandleBase (key.decisionHandleKey(), key.key(), ctx)
117 {
118 }
119
120 // Disallow initialization from a temporary Key object.
121 explicit ThinningHandle (SG::ThinningHandleKey<T>&& key) = delete; // Not allowed from a temporary.
123 const EventContext& ctx) = delete; // Not allowed from a temporary.
124};
125
126
134template <class T>
139
140
152template <class T>
154 const EventContext& ctx)
155{
156 return ThinningHandle<T> (key, ctx);
157}
158
159
160} // namespace SG
161
162
163#endif // not STOREGATE_THINNINGHANDLE_H
Handle class for reading from StoreGate.
Handle for requesting thinning: factor out type-independent code.
HandleKey object for adding thinning to an object.
ThinningHandleBase(const WriteHandleKey< ThinningDecision > &dkey, const std::string &sgkey, const EventContext &ctx)
Constructor.
HandleKey object for adding thinning to an object.
Handle for requesting thinning for a data object.
ThinningHandle(SG::ThinningHandleKey< T > &&key)=delete
ThinningDecision::Op Op
ThinningHandle(const ThinningHandleKey< T > &key)
Constructor from a ThinningHandleKey.
ThinningHandle(const ThinningHandleKey< T > &key, const EventContext &ctx)
Constructor from a ThinningHandleKey and an explicit event context.
ThinningHandle(SG::ThinningHandleKey< T > &&key, const EventContext &ctx)=delete
=============================================================================
Forward declaration.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())