ATLAS Offline Software
VP1SGAccessHelper.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Implementation of class VP1SGAccessHelper //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: March 2008 //
12 // //
14 
17 #include "VP1Base/IVP1System.h"
18 
19 //____________________________________________________________________
21 public:
22  Imp(IVP1System * sys,const bool detStore)
23  : sgcontents(sys,detStore),sg(sys?(detStore?sys->detectorStore():sys->storeGate()):0) {}
24  Imp(StoreGateSvc * the_sg)
25  : sgcontents(the_sg), sg(the_sg) {}
28 };
29 
30 
31 
32 //____________________________________________________________________
34  : VP1HelperClassBase(sys,"VP1SGAccessHelper"), m_d(new Imp(sys,detStore))
35 {
36  if (!sys)
37  message("ERROR: Received null system pointer (won't be able to get StoreGate pointer either)");
38  else if (!m_d->sg)
39  message("ERROR: Could not get "+QString(detStore?"storeGate":"detectorStore")+" pointer from system");
40 }
41 
42 
43 //____________________________________________________________________
45  : VP1HelperClassBase(0,"VP1SGContentsHelper"), m_d(new Imp(sg))
46 {
47  if (!sg)
48  message("ERROR: Received null storegate pointer");
49 }
50 
51 //____________________________________________________________________
53 {
54  delete m_d;
55 }
56 
57 //____________________________________________________________________
59 {
60  return m_d->sg;
61 }
62 
63 //____________________________________________________________________
64 bool VP1SGAccessHelper::contains(const CLID& id, const QString& key) const
65 {
66  return m_d->sgcontents.contains(id,key);
67 }
VP1SGAccessHelper::Imp::sg
StoreGateSvc * sg
Definition: VP1SGAccessHelper.cxx:27
VP1SGAccessHelper::storeGate
StoreGateSvc * storeGate() const
Definition: VP1SGAccessHelper.cxx:58
VP1SGAccessHelper::Imp::sgcontents
VP1SGContentsHelper sgcontents
Definition: VP1SGAccessHelper.cxx:26
VP1SGAccessHelper::Imp
Definition: VP1SGAccessHelper.cxx:20
VP1SGAccessHelper::~VP1SGAccessHelper
virtual ~VP1SGAccessHelper()
Definition: VP1SGAccessHelper.cxx:52
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
VP1SGAccessHelper::Imp::Imp
Imp(IVP1System *sys, const bool detStore)
Definition: VP1SGAccessHelper.cxx:22
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
IVP1System
Definition: IVP1System.h:36
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
VP1SGAccessHelper::m_d
Imp * m_d
Definition: VP1SGAccessHelper.h:57
VP1SGContentsHelper
Definition: VP1SGContentsHelper.h:26
VP1SGContentsHelper::contains
bool contains(const QString &key) const
Definition: VP1SGContentsHelper.h:61
VP1SGAccessHelper::Imp::Imp
Imp(StoreGateSvc *the_sg)
Definition: VP1SGAccessHelper.cxx:24
VP1SGAccessHelper::contains
bool contains(const CLID &id, const QString &) const
Definition: VP1SGAccessHelper.cxx:64
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
VP1SGAccessHelper.h
IVP1System.h
VP1SGContentsHelper.h
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
VP1SGAccessHelper::VP1SGAccessHelper
VP1SGAccessHelper(IVP1System *, const bool detStore=false)
Definition: VP1SGAccessHelper.cxx:33