The Gaudi Framework
master (37c0b60a)
GaudiEnv.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
#include <
GaudiKernel/Bootstrap.h
>
13
#include <
GaudiKernel/IAppMgrUI.h
>
14
#include <
GaudiKernel/IProperty.h
>
15
#include <
GaudiKernel/ISvcLocator.h
>
16
#include <
GaudiKernel/ISvcManager.h
>
17
#include <
GaudiKernel/IToolSvc.h
>
18
#include <
GaudiKernel/SmartIF.h
>
19
#include <sstream>
20
#include <stdexcept>
21
namespace
GaudiTesting
{
22
void
throwConditionFailed
(
bool
condition,
const
std::string
& file_name,
int
line_no,
23
const
std::string
& condition_string );
24
}
25
26
#define Ensures( a ) GaudiTesting::throwConditionFailed( a, __FILE__, __LINE__, #a )
27
#ifndef NDEBUG
28
# define DEBUG_TRACE( a ) \
29
do { a; } while ( false )
30
#else
31
# define DEBUG_TRACE( a ) \
32
do { \
33
} while ( false )
34
#endif
35
36
namespace
GaudiTesting
{
37
class
GaudiEnv
{
38
public
:
39
GaudiEnv
()
40
:
m_iface
{
Gaudi::createApplicationMgr
() }
41
,
m_svcMgr
(
m_iface
)
42
,
m_appMgr
(
m_iface
)
43
,
m_propMgr
(
m_iface
)
44
,
m_svcLoc
(
m_iface
) {
45
Ensures
(
m_iface
!=
nullptr
);
46
Ensures
(
m_svcMgr
.
isValid
() );
47
Ensures
(
m_appMgr
.
isValid
() );
48
Ensures
(
m_propMgr
.
isValid
() );
49
Ensures
(
m_svcLoc
.
isValid
() );
50
m_toolSvc
=
m_svcLoc
->service(
"ToolSvc"
);
51
Ensures
(
m_toolSvc
.
isValid
() );
52
m_propMgr
->setProperty(
"EvtSel"
,
"NONE"
).ignore();
53
m_propMgr
->setProperty(
"JobOptionsType"
,
"NONE"
).ignore();
54
Ensures
( (
m_appMgr
->configure().isSuccess() ) );
55
Ensures
( (
m_appMgr
->initialize().isSuccess() ) );
56
}
57
IInterface
*
m_iface
;
58
SmartIF<ISvcManager>
m_svcMgr
;
59
SmartIF<IAppMgrUI>
m_appMgr
;
60
SmartIF<IProperty>
m_propMgr
;
61
SmartIF<ISvcLocator>
m_svcLoc
;
62
SmartIF<IToolSvc>
m_toolSvc
;
63
};
64
}
// namespace GaudiTesting
GaudiTesting::GaudiEnv::GaudiEnv
GaudiEnv()
Definition:
GaudiEnv.h:39
GaudiTesting::GaudiEnv::m_iface
IInterface * m_iface
Definition:
GaudiEnv.h:57
Gaudi::createApplicationMgr
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)
std::string
STL class.
GaudiTesting::GaudiEnv::m_toolSvc
SmartIF< IToolSvc > m_toolSvc
Definition:
GaudiEnv.h:62
GaudiTesting::GaudiEnv
Definition:
GaudiEnv.h:37
GaudiTesting
Definition:
__init__.py:1
IAppMgrUI.h
GaudiTesting::GaudiEnv::m_appMgr
SmartIF< IAppMgrUI > m_appMgr
Definition:
GaudiEnv.h:59
IToolSvc.h
SmartIF.h
SmartIF::isValid
bool isValid() const
Allow for check if smart pointer is valid.
Definition:
SmartIF.h:72
GaudiTesting::GaudiEnv::m_svcLoc
SmartIF< ISvcLocator > m_svcLoc
Definition:
GaudiEnv.h:61
SmartIF< ISvcManager >
GaudiTesting::GaudiEnv::m_svcMgr
SmartIF< ISvcManager > m_svcMgr
Definition:
GaudiEnv.h:58
GaudiTesting::throwConditionFailed
void throwConditionFailed(bool condition, const std::string &file_name, int line_no, const std::string &condition_string)
Definition:
ToolVisitorTestLib.cpp:25
IInterface
Definition:
IInterface.h:239
Bootstrap.h
IProperty.h
ISvcLocator.h
Ensures
#define Ensures(a)
Definition:
GaudiEnv.h:26
GaudiTesting::GaudiEnv::m_propMgr
SmartIF< IProperty > m_propMgr
Definition:
GaudiEnv.h:60
ISvcManager.h
GaudiTestSuite
src
ToolVisitorTest
GaudiEnv.h
Generated on Thu Dec 19 2024 15:35:07 for The Gaudi Framework by
1.8.18