The Gaudi Framework  v30r3 (a5ef0a68)
AlgToolHistory.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ALGTOOLHISTORY_H
2 #define GAUDIKERNEL_ALGTOOLHISTORY_H
3 
6 
7 class AlgTool;
8 class JobHistory;
9 
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
23 {
24 
25 private: // data
26  // Algtool full type.
28 
29  // Algtool version.
31 
32  // Algtool name.
34 
35  // Pointer to the algtool
36  const AlgTool* m_tool;
37 
38  // Properties.
40 
41  // Link to jobHistory
43 
44 public:
45  AlgToolHistory( const AlgTool& alg, const JobHistory* job );
46 
47  AlgToolHistory( const std::string& algVersion, const std::string& algName, const std::string& algType,
48  const AlgTool* tool, const PropertyList& props, const JobHistory* job );
49 
50  // Class IDs
51  const CLID& clID() const override { return classID(); }
52  static const CLID& classID();
53 
54  // Return the algtool type.
55  const std::string& algtool_type() const { return m_type; }
56 
57  // Return the algtool version.
58  const std::string& algtool_version() const { return m_version; }
59 
60  // Return the algtool name.
61  const std::string& algtool_name() const { return m_name; }
62 
63  // Pointer to the algtool
64  const AlgTool* algtool_instance() const { return m_tool; }
65 
66  // Return the algorithm properties.
67  const PropertyList& properties() const override { return m_properties; }
68 
69  // Return the jobHistory
70  const JobHistory* jobHistory() const { return m_jobHistory; }
71 
72  void dump( std::ostream&, const bool isXML = false, int indent = 0 ) const override;
73 
74  const std::string& name() const override { return algtool_name(); }
75  const std::string& type() const override { return algtool_type(); }
76  const std::string& version() const override { return algtool_version(); }
77 };
78 
79 // Output stream.
81 
82 #endif
std::string m_version
const JobHistory * m_jobHistory
std::string m_name
PropertyList m_properties
const AlgTool * algtool_instance() const
static const CLID & classID()
Definition: HistoryObj.cpp:59
List of properties.
Definition: PropertyList.h:16
virtual void dump(std::ostream &, const bool isXML=false, int indent=0) const =0
Base class for History Objects.
Definition: HistoryObj.h:21
JobHistory class definition.
Definition: JobHistory.h:22
const JobHistory * jobHistory() const
const std::string & type() const override
const std::string & version() const override
std::string m_type
STL class.
unsigned char m_version
Version number.
Definition: DataObject.h:36
const AlgTool * m_tool
const PropertyList & properties() const override
const std::string & algtool_type() const
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
AlgToolHistory class definition.
friend std::ostream & operator<<(std::ostream &s, const DataObject &obj)
Output operator (ASCII)
Definition: DataObject.h:89
const CLID & clID() const override
Retrieve reference to class definition structure.
Base class from which all the concrete tool classes should be derived.
Definition: AlgTool.h:47
const std::string & name() const override
Properties m_properties
Collection of all declared properties.
Definition: PropertyMgr.h:138
const std::string & algtool_version() const
Interface for Versioned History Objects.
#define GAUDI_API
Definition: Kernel.h:104
STL class.
const std::string & algtool_name() const