The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
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
15
16class AlgTool;
17class JobHistory;
18
19#include <memory>
20#include <string>
21#include <vector>
22
30
32
33private: // 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
45
46 // Properties.
48
49 // Link to jobHistory
51
52public:
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};
unsigned int CLID
Class ID definition.
Definition ClassID.h:16
#define GAUDI_API
Definition Kernel.h:49
PropertyList m_properties
std::ostream & dump(std::ostream &, bool isXML, int indent) const override
std::string m_type
std::string m_version
const CLID & clID() const override
Retrieve reference to class definition structure.
const std::string & type() const override
const std::string & algtool_type() const
const JobHistory * m_jobHistory
const std::string & algtool_name() const
const std::string & version() const override
const AlgTool * m_tool
AlgToolHistory(const AlgTool &alg, const JobHistory *job)
std::string m_name
const PropertyList & properties() const override
const JobHistory * jobHistory() const
const std::string & name() const override
friend std::ostream & operator<<(std::ostream &lhs, const AlgToolHistory &rhs)
const std::string & algtool_version() const
const AlgTool * algtool_instance() const
Base class from which all the concrete tool classes should be derived.
Definition AlgTool.h:55
Base class for History Objects.
Definition HistoryObj.h:30
virtual std::ostream & dump(std::ostream &, bool isXML=false, int indent=0) const =0
static const CLID & classID()
Interface for Versioned History Objects.
std::vector< Gaudi::Details::PropertyBase * > PropertyList
JobHistory class definition.
Definition JobHistory.h:32