The Gaudi Framework  master (d98a2936)
IHistorySvc.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 
13 #include <GaudiKernel/ClassID.h>
14 #include <GaudiKernel/IService.h>
15 
16 #include <set>
17 #include <string>
18 
19 class JobHistory;
20 
21 class ServiceHistory;
22 class IService;
23 
24 namespace Gaudi {
25  class Algorithm;
26 }
27 class AlgorithmHistory;
28 
29 class IAlgTool;
30 class AlgToolHistory;
31 
32 class DataHistory;
33 class HistoryObj;
34 
42 class GAUDI_API IHistorySvc : virtual public IService {
43 public:
46 
47  // Job level objects
48  virtual StatusCode registerJob() = 0;
49  virtual StatusCode listProperties() const = 0;
50  virtual JobHistory* getJobHistory() const = 0;
51 
52  // Service level objects
53  virtual StatusCode registerSvc( const IService& ) = 0;
54  virtual StatusCode listProperties( const IService& ) const = 0;
55  virtual ServiceHistory* getServiceHistory( const IService& ) const = 0;
56  virtual void getServiceHistory( std::set<ServiceHistory*>& ) const = 0;
57 
58  // Algorithm level objects
59  virtual StatusCode registerAlg( const Gaudi::Algorithm& ) = 0;
60  virtual StatusCode listProperties( const Gaudi::Algorithm& ) const = 0;
61  virtual AlgorithmHistory* getAlgHistory( const Gaudi::Algorithm& ) const = 0;
62  virtual void getAlgHistory( std::set<AlgorithmHistory*>& ) const = 0;
63 
64  // AlgTool level objects
65  virtual StatusCode registerAlgTool( const IAlgTool& ) = 0;
66  virtual StatusCode listProperties( const IAlgTool& ) const = 0;
67  virtual AlgToolHistory* getAlgToolHistory( const IAlgTool& ) const = 0;
68  virtual void getAlgToolHistory( std::set<AlgToolHistory*>& ) const = 0;
69 
70  // DataObj level objects
71  virtual DataHistory* createDataHistoryObj( const CLID& id, const std::string& key, const std::string& storeName ) = 0;
72  virtual DataHistory* getDataHistory( const CLID& id, const std::string& key, const std::string& storeName ) const = 0;
73 };
IService
Definition: IService.h:26
IHistorySvc::registerAlgTool
virtual StatusCode registerAlgTool(const IAlgTool &)=0
IService.h
IAlgTool
Definition: IAlgTool.h:29
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:31
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:30
AlgorithmHistory
Definition: AlgorithmHistory.h:37
IHistorySvc
Definition: IHistorySvc.h:42
StatusCode
Definition: StatusCode.h:64
ServiceHistory
Definition: ServiceHistory.h:30
Gaudi::Algorithm
Base class from which all concrete algorithm classes should be derived.
Definition: Algorithm.h:87
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:16
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:32
DataHistory
Definition: DataHistory.h:32
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.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
IHistorySvc::getAlgHistory
virtual void getAlgHistory(std::set< AlgorithmHistory * > &) const =0