ATLAS Offline Software
graphics
VP1
VP1Utils
VP1Utils
VP1ToolAccessHelper.h
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
// Header file for class VP1ToolAccessHelper //
9
// //
10
// Description: For safe retrieval of tools //
11
// //
12
// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13
// Initial version: February 2008 //
14
// //
16
17
#ifndef VP1TOOLACCESSHELPER_H
18
#define VP1TOOLACCESSHELPER_H
19
20
#include "
VP1Base/VP1HelperClassBase.h
"
21
#include "GaudiKernel/IToolSvc.h"
22
#include "GaudiKernel/ToolHandle.h"
23
#include <QString>
24
#include <map>
25
#include <stdexcept>
26
27
class
IVP1System
;
28
29
class
VP1ToolAccessHelper
:
public
VP1HelperClassBase
{
30
public
:
31
32
VP1ToolAccessHelper
( IToolSvc* );
//Use this to get error messages output to stdout.
33
VP1ToolAccessHelper
(
IVP1System
* );
//Use this to also error messages output in VP1 message area.
34
~VP1ToolAccessHelper
() {}
//Fixme: We should release tools in destructor.
35
36
//NB: toolname should be in the form "ConcreteToolType/ToolInstanceName"
37
template
<
class
toolT>
38
toolT *
getToolPointer
(
const
QString&
toolname
,
bool
silent
=
false
,
39
bool
createIfNotExists =
false
);
//Returns 0 if tool does not exist or in case of errors.
40
//It never attempts to create the tool.
41
//If silent is set, problems are only output as verbose messages
42
43
private
:
44
VP1ToolAccessHelper
(
const
VP1ToolAccessHelper
& );
45
VP1ToolAccessHelper
&
operator=
(
const
VP1ToolAccessHelper
& );
46
IToolSvc *
m_toolsvc
;
47
std::map<std::pair<QString,QString>, IAlgTool*>
m_toolname2pointer
;
//key is <toolname, typeinfo>
48
};
49
50
#include "
VP1Utils/VP1ToolAccessHelper.icc
"
51
52
#endif
VP1ToolAccessHelper::~VP1ToolAccessHelper
~VP1ToolAccessHelper()
Definition:
VP1ToolAccessHelper.h:34
VP1ToolAccessHelper::operator=
VP1ToolAccessHelper & operator=(const VP1ToolAccessHelper &)
VP1ToolAccessHelper::VP1ToolAccessHelper
VP1ToolAccessHelper(IToolSvc *)
Definition:
VP1ToolAccessHelper.cxx:19
VP1ToolAccessHelper.icc
IVP1System
Definition:
IVP1System.h:36
VP1ToolAccessHelper::m_toolname2pointer
std::map< std::pair< QString, QString >, IAlgTool * > m_toolname2pointer
Definition:
VP1ToolAccessHelper.h:47
VP1ToolAccessHelper::m_toolsvc
IToolSvc * m_toolsvc
Definition:
VP1ToolAccessHelper.h:46
VP1HelperClassBase
Definition:
VP1HelperClassBase.h:28
python.hypoToolDisplay.toolname
def toolname(tool)
Definition:
hypoToolDisplay.py:13
VP1ToolAccessHelper::VP1ToolAccessHelper
VP1ToolAccessHelper(const VP1ToolAccessHelper &)
VP1HelperClassBase.h
python.trfDecorators.silent
def silent(func)
Redirect stdout/err to /dev/null Useful wrapper to get rid of ROOT verbosity...
Definition:
trfDecorators.py:24
VP1ToolAccessHelper
Definition:
VP1ToolAccessHelper.h:29
VP1ToolAccessHelper::getToolPointer
toolT * getToolPointer(const QString &toolname, bool silent=false, bool createIfNotExists=false)
Generated on Fri Jul 5 2024 21:32:48 for ATLAS Offline Software by
1.8.18