Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AlgToolHistory.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/HistoryObj.h>
15 
16 class AlgTool;
17 class JobHistory;
18 
19 #include <memory>
20 #include <string>
21 #include <vector>
22 
32 
33 private: // data
34  // Algtool full type.
35  std::string m_type;
36 
37  // Algtool version.
38  std::string m_version;
39 
40  // Algtool name.
41  std::string m_name;
42 
43  // Pointer to the algtool
44  const AlgTool* m_tool;
45 
46  // Properties.
47  PropertyList m_properties;
48 
49  // Link to jobHistory
51 
52 public:
53  AlgToolHistory( const AlgTool& alg, const JobHistory* job );
54 
55  AlgToolHistory( std::string algVersion, std::string algName, std::string algType, const AlgTool* tool,
56  const PropertyList& props, const JobHistory* job );
57 
58  // Class IDs
59  const CLID& clID() const override { return classID(); }
60  static const CLID& classID();
61 
62  // Return the algtool type.
63  const std::string& algtool_type() const { return m_type; }
64 
65  // Return the algtool version.
66  const std::string& algtool_version() const { return m_version; }
67 
68  // Return the algtool name.
69  const std::string& algtool_name() const { return m_name; }
70 
71  // Pointer to the algtool
72  const AlgTool* algtool_instance() const { return m_tool; }
73 
74  // Return the algorithm properties.
75  const PropertyList& properties() const override { return m_properties; }
76 
77  // Return the jobHistory
78  const JobHistory* jobHistory() const { return m_jobHistory; }
79 
80  std::ostream& dump( std::ostream&, bool isXML, int indent ) const override;
81 
82  const std::string& name() const override { return algtool_name(); }
83  const std::string& type() const override { return algtool_type(); }
84  const std::string& version() const override { return algtool_version(); }
85 
86  friend std::ostream& operator<<( std::ostream& lhs, const AlgToolHistory& rhs ) { return rhs.dump( lhs, false, 0 ); }
87 };
HistoryObj::classID
static const CLID & classID()
Definition: HistoryObj.cpp:44
AlgToolHistory::jobHistory
const JobHistory * jobHistory() const
Definition: AlgToolHistory.h:78
AlgToolHistory::m_version
std::string m_version
Definition: AlgToolHistory.h:38
AlgToolHistory::operator<<
friend std::ostream & operator<<(std::ostream &lhs, const AlgToolHistory &rhs)
Definition: AlgToolHistory.h:86
AlgToolHistory::m_name
std::string m_name
Definition: AlgToolHistory.h:41
AlgToolHistory::name
const std::string & name() const override
Definition: AlgToolHistory.h:82
AlgToolHistory::properties
const PropertyList & properties() const override
Definition: AlgToolHistory.h:75
AlgToolHistory::algtool_version
const std::string & algtool_version() const
Definition: AlgToolHistory.h:66
AlgToolHistory::m_jobHistory
const JobHistory * m_jobHistory
Definition: AlgToolHistory.h:50
AlgToolHistory::m_properties
PropertyList m_properties
Definition: AlgToolHistory.h:47
check_ParticleID.props
props
Definition: check_ParticleID.py:21
AlgToolHistory::algtool_name
const std::string & algtool_name() const
Definition: AlgToolHistory.h:69
DataObject::m_version
unsigned char m_version
Version number.
Definition: DataObject.h:42
AlgToolHistory
Definition: AlgToolHistory.h:31
AlgToolHistory::algtool_instance
const AlgTool * algtool_instance() const
Definition: AlgToolHistory.h:72
ManySmallAlgs.alg
alg
Definition: ManySmallAlgs.py:81
HistoryObj
Definition: HistoryObj.h:30
bug_34121.tool
tool
Definition: bug_34121.py:18
AlgToolHistory::type
const std::string & type() const override
Definition: AlgToolHistory.h:83
AlgToolHistory::m_type
std::string m_type
Definition: AlgToolHistory.h:35
AlgToolHistory::m_tool
const AlgTool * m_tool
Definition: AlgToolHistory.h:44
IVersHistoryObj.h
AlgToolHistory::algtool_type
const std::string & algtool_type() const
Definition: AlgToolHistory.h:63
AlgToolHistory::version
const std::string & version() const override
Definition: AlgToolHistory.h:84
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:16
IVersHistoryObj
Definition: IVersHistoryObj.h:27
HistoryObj::dump
virtual std::ostream & dump(std::ostream &, bool isXML=false, int indent=0) const =0
AlgTool
Definition: AlgTool.h:55
HistoryObj.h
JobHistory
Definition: JobHistory.h:32
AlgToolHistory::dump
std::ostream & dump(std::ostream &, bool isXML, int indent) const override
Definition: AlgToolHistory.cpp:46
AlgToolHistory::clID
const CLID & clID() const override
Retrieve reference to class definition structure.
Definition: AlgToolHistory.h:59
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49