ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Utils
VP1Utils
VP1SGAccessHelper.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
7
// //
8
// Header file for class VP1SGAccessHelper //
9
// //
10
// Description: Helper class for safe StoreGate retrieval //
11
// //
12
// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13
// Initial version: March 2008 //
14
// //
16
17
#ifndef VP1SGACCESSHELPER_H
18
#define VP1SGACCESSHELPER_H
19
20
#include "
VP1Base/VP1HelperClassBase.h
"
21
#include "
StoreGate/StoreGateSvc.h
"
22
#include <stdexcept>
23
class
VP1SGContentsHelper
;
24
25
class
VP1SGAccessHelper
:
public
VP1HelperClassBase
{
26
public
:
27
28
VP1SGAccessHelper
(
IVP1System
*,
const
bool
detStore =
false
);
//For messages in gui (detStore=true takes detector rather than event store)
29
VP1SGAccessHelper
(
StoreGateSvc
* );
30
virtual
~VP1SGAccessHelper
();
31
33
//Retrieve objects by type and key:
34
template
<
typename
T>
35
bool
retrieve
(
const
T* &,
const
QString& key )
const
;
//returns false and sets to null pointer in case of errors
36
37
template
<
typename
T>
38
const
T*
retrieve
(
const
QString& key )
const
;
//returns a null pointer in case of errors
39
40
42
// Retrieve all objects of type T
43
template
<
typename
T>
44
bool
retrieve
(
SG::ConstIterator<T>
& begin,
SG::ConstIterator<T>
& end,
bool
silent =
false
);
//Returns false in case of errors.
45
//silent = true means all output will be redirected to verbose level
46
// -> NB: This SG retrieval is something we should avoid in VP1!!!
47
// -> If you absolutely need to use it (due to bad implementations
48
// -> in upstream data providers), please use VP1SGContentsHelper
49
// -> to check that there is not more than one collection of the
50
// -> type you re trying to retrieve. If there is, abort!
51
52
private
:
53
54
VP1SGAccessHelper
(
const
VP1SGAccessHelper
& );
55
VP1SGAccessHelper
&
operator=
(
const
VP1SGAccessHelper
& );
56
57
class
Imp
;
58
Imp
*
m_d
;
59
60
StoreGateSvc
*
storeGate
()
const
;
61
bool
contains
(
const
CLID
&
id
,
const
QString&)
const
;
62
};
63
64
#include "
VP1Utils/VP1SGAccessHelper.icc
"
65
66
#endif
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
StoreGateSvc.h
VP1HelperClassBase.h
VP1SGAccessHelper.icc
IVP1System
Definition
IVP1System.h:36
SG::ConstIterator
a const_iterator facade to DataHandle.
Definition
SGIterator.h:164
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Definition
VP1HelperClassBase.cxx:28
VP1SGAccessHelper::Imp
Definition
VP1SGAccessHelper.cxx:20
VP1SGAccessHelper::retrieve
bool retrieve(SG::ConstIterator< T > &begin, SG::ConstIterator< T > &end, bool silent=false)
VP1SGAccessHelper::storeGate
StoreGateSvc * storeGate() const
Definition
VP1SGAccessHelper.cxx:58
VP1SGAccessHelper::operator=
VP1SGAccessHelper & operator=(const VP1SGAccessHelper &)
VP1SGAccessHelper::retrieve
bool retrieve(const T *&, const QString &key) const
VP1SGAccessHelper::contains
bool contains(const CLID &id, const QString &) const
Definition
VP1SGAccessHelper.cxx:64
VP1SGAccessHelper::VP1SGAccessHelper
VP1SGAccessHelper(const VP1SGAccessHelper &)
VP1SGAccessHelper::~VP1SGAccessHelper
virtual ~VP1SGAccessHelper()
Definition
VP1SGAccessHelper.cxx:52
VP1SGAccessHelper::m_d
Imp * m_d
Definition
VP1SGAccessHelper.h:58
VP1SGAccessHelper::VP1SGAccessHelper
VP1SGAccessHelper(IVP1System *, const bool detStore=false)
Definition
VP1SGAccessHelper.cxx:33
VP1SGAccessHelper::retrieve
const T * retrieve(const QString &key) const
VP1SGContentsHelper
Definition
VP1SGContentsHelper.h:26
Generated on
for ATLAS Offline Software by
1.17.0