The Gaudi Framework  v29r0 (ff2e7097)
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 <string>
11 #include <vector>
12 
22 {
23 
24 private: // data
25  // Algtool full type.
27 
28  // Algtool version.
30 
31  // Algtool name.
33 
34  // Pointer to the algtool
35  const AlgTool* m_tool;
36 
37  // Properties.
39 
40  // Link to jobHistory
42 
43 public:
44  AlgToolHistory( const AlgTool& alg, const JobHistory* job );
45 
46  AlgToolHistory( const std::string& algVersion, const std::string& algName, const std::string& algType,
47  const AlgTool* tool, const PropertyList& props, const JobHistory* job );
48 
49  // Destructor.
50  virtual ~AlgToolHistory() override {}
51 
52  // Class IDs
53  const CLID& clID() const override { return classID(); }
54  static const CLID& classID();
55 
56  // Return the algtool type.
57  const std::string& algtool_type() const { return m_type; }
58 
59  // Return the algtool version.
60  const std::string& algtool_version() const { return m_version; }
61 
62  // Return the algtool name.
63  const std::string& algtool_name() const { return m_name; }
64 
65  // Pointer to the algtool
66  const AlgTool* algtool_instance() const { return m_tool; }
67 
68  // Return the algorithm properties.
69  const PropertyList& properties() const override { return m_properties; }
70 
71  // Return the jobHistory
72  const JobHistory* jobHistory() const { return m_jobHistory; }
73 
74  void dump( std::ostream&, const bool isXML = false, int indent = 0 ) const override;
75 
76  const std::string& name() const override { return algtool_name(); }
77  const std::string& type() const override { return algtool_type(); }
78  const std::string& version() const override { return algtool_version(); }
79 };
80 
81 // Output stream.
83 
84 #endif
virtual ~AlgToolHistory() override
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:35
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:88
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:48
const std::string & name() const override
Properties m_properties
Collection of all declared properties.
Definition: PropertyMgr.h:139
const std::string & algtool_version() const
Interface for Versioned History Objects.
#define GAUDI_API
Definition: Kernel.h:110
STL class.
const std::string & algtool_name() const