Gaudi Framework, version v25r2
Home
Generated: Wed Jun 4 2014
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
.cern.ch
sw
Gaudi
releases
GAUDI
GAUDI_v25r2
GaudiKernel
GaudiKernel
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
Generated at Wed Jun 4 2014 14:48:56 for Gaudi Framework, version v25r2 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004