The Gaudi Framework  master (37c0b60a)
IHistorySvc.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 #ifndef GAUDIKERNEL_IHISTORYSVC_H
12 #define GAUDIKERNEL_IHISTORYSVC_H
13 
14 #include <GaudiKernel/ClassID.h>
15 #include <GaudiKernel/IService.h>
16 
17 #include <set>
18 #include <string>
19 
20 class JobHistory;
21 
22 class ServiceHistory;
23 class IService;
24 
25 namespace Gaudi {
26  class Algorithm;
27 }
28 class AlgorithmHistory;
29 
30 class IAlgTool;
31 class AlgToolHistory;
32 
33 class DataHistory;
34 class HistoryObj;
35 
43 class GAUDI_API IHistorySvc : virtual public IService {
44 public:
47 
48  // Job level objects
49  virtual StatusCode registerJob() = 0;
50  virtual StatusCode listProperties() const = 0;
51  virtual JobHistory* getJobHistory() const = 0;
52 
53  // Service level objects
54  virtual StatusCode registerSvc( const IService& ) = 0;
55  virtual StatusCode listProperties( const IService& ) const = 0;
56  virtual ServiceHistory* getServiceHistory( const IService& ) const = 0;
57  virtual void getServiceHistory( std::set<ServiceHistory*>& ) const = 0;
58 
59  // Algorithm level objects
60  virtual StatusCode registerAlg( const Gaudi::Algorithm& ) = 0;
61  virtual StatusCode listProperties( const Gaudi::Algorithm& ) const = 0;
62  virtual AlgorithmHistory* getAlgHistory( const Gaudi::Algorithm& ) const = 0;
63  virtual void getAlgHistory( std::set<AlgorithmHistory*>& ) const = 0;
64 
65  // AlgTool level objects
66  virtual StatusCode registerAlgTool( const IAlgTool& ) = 0;
67  virtual StatusCode listProperties( const IAlgTool& ) const = 0;
68  virtual AlgToolHistory* getAlgToolHistory( const IAlgTool& ) const = 0;
69  virtual void getAlgToolHistory( std::set<AlgToolHistory*>& ) const = 0;
70 
71  // DataObj level objects
72  virtual DataHistory* createDataHistoryObj( const CLID& id, const std::string& key, const std::string& storeName ) = 0;
73  virtual DataHistory* getDataHistory( const CLID& id, const std::string& key, const std::string& storeName ) const = 0;
74 };
75 
76 #endif // GAUDIKERNEL_IHISTORYSVC_H
IService
Definition: IService.h:28
IHistorySvc::registerAlgTool
virtual StatusCode registerAlgTool(const IAlgTool &)=0
IService.h
std::string
STL class.
IAlgTool
Definition: IAlgTool.h:33
IHistorySvc::listProperties
virtual StatusCode listProperties() const =0
IHistorySvc::listProperties
virtual StatusCode listProperties(const IService &) const =0
ClassID.h
Algorithm
Alias for backward compatibility.
Definition: Algorithm.h:58
IHistorySvc::registerJob
virtual StatusCode registerJob()=0
AlgToolHistory
Definition: AlgToolHistory.h:32
IHistorySvc::registerAlg
virtual StatusCode registerAlg(const Gaudi::Algorithm &)=0
IHistorySvc::createDataHistoryObj
virtual DataHistory * createDataHistoryObj(const CLID &id, const std::string &key, const std::string &storeName)=0
IHistorySvc::listProperties
virtual StatusCode listProperties(const Gaudi::Algorithm &) const =0
IHistorySvc::registerSvc
virtual StatusCode registerSvc(const IService &)=0
HistoryObj
Definition: HistoryObj.h:31
AlgorithmHistory
Definition: AlgorithmHistory.h:38
IHistorySvc
Definition: IHistorySvc.h:43
StatusCode
Definition: StatusCode.h:65
ServiceHistory
Definition: ServiceHistory.h:31
Gaudi::Algorithm
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:90
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
IHistorySvc::getAlgToolHistory
virtual void getAlgToolHistory(std::set< AlgToolHistory * > &) const =0
IHistorySvc::getServiceHistory
virtual ServiceHistory * getServiceHistory(const IService &) const =0
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
IHistorySvc::getDataHistory
virtual DataHistory * getDataHistory(const CLID &id, const std::string &key, const std::string &storeName) const =0
IHistorySvc::getAlgHistory
virtual AlgorithmHistory * getAlgHistory(const Gaudi::Algorithm &) const =0
JobHistory
Definition: JobHistory.h:33
DataHistory
Definition: DataHistory.h:33
IHistorySvc::getJobHistory
virtual JobHistory * getJobHistory() const =0
IHistorySvc::getAlgToolHistory
virtual AlgToolHistory * getAlgToolHistory(const IAlgTool &) const =0
IHistorySvc::getServiceHistory
virtual void getServiceHistory(std::set< ServiceHistory * > &) const =0
IHistorySvc::listProperties
virtual StatusCode listProperties(const IAlgTool &) const =0
ProduceConsume.key
key
Definition: ProduceConsume.py:84
IHistorySvc::DeclareInterfaceID
DeclareInterfaceID(IHistorySvc, 2, 0)
InterfaceID.
std::set
STL class.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
IHistorySvc::getAlgHistory
virtual void getAlgHistory(std::set< AlgorithmHistory * > &) const =0