All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AlgToolHistory.h
Go to the documentation of this file.
1 // $Id: AlgToolHistory.h,v 1.1 2006/11/09 10:24:04 mato Exp $
2 
3 #ifndef GAUDIKERNEL_ALGTOOLHISTORY_H
4 #define GAUDIKERNEL_ALGTOOLHISTORY_H
5 
8 
9 class Property;
10 class AlgTool;
11 class JobHistory;
12 
13 #include <string>
14 #include <vector>
15 
25 
26 private: // data
27 
28  // Algtool full type.
29  std::string m_type;
30 
31  // Algtool version.
32  std::string m_version;
33 
34  // Algtool name.
35  std::string m_name;
36 
37  // Pointer to the algtool
38  const AlgTool *m_tool;
39 
40  // Properties.
42 
43  // Link to jobHistory
45 
46 public:
47 
48  AlgToolHistory(const AlgTool& alg, const JobHistory* job);
49 
50  AlgToolHistory(const std::string& algVersion,
51  const std::string& algName,
52  const std::string& algType,
53  const AlgTool* tool,
54  const PropertyList& props,
55  const JobHistory* job);
56 
57  // Destructor.
58  virtual ~AlgToolHistory() {};
59 
60  // Class IDs
61  virtual const CLID& clID() const { return classID(); }
62  static const CLID& classID();
63 
64  // Return the algtool type.
65  const std::string& algtool_type() const { return m_type; }
66 
67  // Return the algtool version.
68  const std::string& algtool_version() const { return m_version; }
69 
70  // Return the algtool name.
71  const std::string& algtool_name() const { return m_name; }
72 
73  // Pointer to the algtool
74  const AlgTool* algtool_instance() const { return m_tool; }
75 
76  // Return the algorithm properties.
77  const PropertyList& properties() const { return m_properties; }
78 
79  // Return the jobHistory
80  const JobHistory* jobHistory() const { return m_jobHistory; }
81 
82  void dump(std::ostream &, const bool isXML=false, int indent=0) const;
83 
84  const std::string& name() const { return algtool_name(); }
85  const std::string& type() const { return algtool_type(); }
86  const std::string& version() const { return algtool_version(); }
87 
88 
89 };
90 
91 // Output stream.
92 GAUDI_API std::ostream& operator<<(std::ostream& lhs, const AlgToolHistory& rhs);
93 
94 #endif
95 
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:62
virtual void dump(std::ostream &, const bool isXML=false, int indent=0) const =0
std::vector< Property * > PropertyList
Base class for History Objects.
Definition: HistoryObj.h:24
GAUDI_API std::ostream & operator<<(std::ostream &lhs, const AlgToolHistory &rhs)
JobHistory class definition.
Definition: JobHistory.h:25
const std::string & name() const
const JobHistory * jobHistory() const
virtual ~AlgToolHistory()
std::string m_type
unsigned char m_version
Version number.
Definition: DataObject.h:36
const std::string & type() const
const AlgTool * m_tool
const PropertyList & properties() const
const std::string & algtool_type() const
virtual const CLID & clID() const
Retrieve reference to class definition structure.
unsigned int CLID
Class ID definition.
Definition: ClassID.h:9
AlgToolHistory class definition.
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:43
Base class from which all the concrete tool classes should be derived.
Definition: AlgTool.h:34
const std::string & algtool_version() const
Interface for Versioned History Objects.
#define GAUDI_API
Definition: Kernel.h:108
const std::string & version() const
const std::string & algtool_name() const