The Gaudi Framework
v26r3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IAlgContextSvc.h
Go to the documentation of this file.
1
// $Id: IAlgContextSvc.h,v 1.2 2007/05/24 13:48:50 hmd Exp $
2
// ============================================================================
3
// CVS tag $Name: $, version $Revision: 1.2 $
4
// ============================================================================
5
#ifndef GAUDIKERNEL_IALGCONTEXTSVC_H
6
#define GAUDIKERNEL_IALGCONTEXTSVC_H
7
// ============================================================================
8
// Include files:
9
// ============================================================================
10
// STD & STL
11
// ============================================================================
12
#include <vector>
13
// ============================================================================
14
// GaudiKernel
15
// ============================================================================
16
#include "GaudiKernel/IInterface.h"
17
// ============================================================================
18
// Forward declarations
19
// ============================================================================
20
class
IAlgorithm
;
21
// ============================================================================
28
class
GAUDI_API
IAlgContextSvc
:
virtual
public
IInterface
29
{
30
public
:
32
DeclareInterfaceID
(
IAlgContextSvc
,3,0);
34
typedef
std::vector<IAlgorithm*> Algorithms ;
35
public
:
37
virtual
StatusCode
setCurrentAlg (
IAlgorithm
* a ) = 0 ;
39
virtual
StatusCode
unSetCurrentAlg (
IAlgorithm
* a ) = 0 ;
41
virtual
IAlgorithm
* currentAlg ()
const
= 0 ;
43
virtual
const
Algorithms& algorithms ()
const
= 0 ;
44
protected
:
46
virtual
~
IAlgContextSvc
() ;
47
} ;
48
// ============================================================================
49
namespace
Gaudi
50
{
51
namespace
Utils
52
{
84
class
GAUDI_API
AlgContext
85
{
86
public
:
94
AlgContext
95
(
IAlgContextSvc
* svc ,
96
IAlgorithm
* alg ) ;
104
AlgContext
105
(
IAlgorithm
* alg ,
106
IAlgContextSvc
* svc ) ;
112
~AlgContext() ;
113
private
:
114
// default constructor is disabled
115
AlgContext() ;
116
// copy constructor is disabled
117
AlgContext (
const
AlgContext& right ) ;
118
// assignement operator is disabled
119
AlgContext& operator=(
const
AlgContext& right ) ;
120
private
:
121
IAlgContextSvc
* m_svc ;
122
IAlgorithm
* m_alg ;
123
};
124
}
// end of namespace Gaudi::Utils
125
}
// end of namespace Gaudi
126
// ============================================================================
127
// The END
128
// ============================================================================
129
#endif // GAUDIKERNEL_IALGCONTEXTSVC_H
130
// ============================================================================
131
132
GAUDI_API
#define GAUDI_API
Definition:
Kernel.h:108
StatusCode
This class is used for returning status codes from appropriate routines.
Definition:
StatusCode.h:30
IInterface
Definition of the basic interface.
Definition:
IInterface.h:160
DeclareInterfaceID
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition:
IInterface.h:23
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition:
IAlgorithm.h:20
IAlgContextSvc
An abstract interface for Algorithm Context Service.
Definition:
IAlgContextSvc.h:28
Gaudi
Helper functions to set/get the application return code.
Definition:
__init__.py:1
GaudiKernel
GaudiKernel
IAlgContextSvc.h
Generated on Tue Jul 21 2015 12:23:32 for The Gaudi Framework by
1.8.9.1