Go to the documentation of this file.00001
00002
00003 #ifndef GAUDIKERNEL_ALGTOOLHISTORY_H
00004 #define GAUDIKERNEL_ALGTOOLHISTORY_H
00005
00006 #include "GaudiKernel/HistoryObj.h"
00007 #include "GaudiKernel/IVersHistoryObj.h"
00008
00009 class Property;
00010 class AlgTool;
00011 class JobHistory;
00012
00013 #include <string>
00014 #include <vector>
00015
00024 class GAUDI_API AlgToolHistory: public HistoryObj, virtual public IVersHistoryObj {
00025
00026 private:
00027
00028
00029 std::string m_type;
00030
00031
00032 std::string m_version;
00033
00034
00035 std::string m_name;
00036
00037
00038 const AlgTool *m_tool;
00039
00040
00041 PropertyList m_properties;
00042
00043
00044 const JobHistory *m_jobHistory;
00045
00046 public:
00047
00048 AlgToolHistory(const AlgTool& alg, const JobHistory* job);
00049
00050 AlgToolHistory(const std::string& algVersion,
00051 const std::string& algName,
00052 const std::string& algType,
00053 const AlgTool* tool,
00054 const PropertyList& props,
00055 const JobHistory* job);
00056
00057
00058 virtual ~AlgToolHistory() {};
00059
00060
00061 virtual const CLID& clID() const { return classID(); }
00062 static const CLID& classID();
00063
00064
00065 const std::string& algtool_type() const { return m_type; }
00066
00067
00068 const std::string& algtool_version() const { return m_version; }
00069
00070
00071 const std::string& algtool_name() const { return m_name; }
00072
00073
00074 const AlgTool* algtool_instance() const { return m_tool; }
00075
00076
00077 const PropertyList& properties() const { return m_properties; }
00078
00079 void dump(std::ostream &, const bool isXML=false, int indent=0) const;
00080
00081 const std::string& name() const { return algtool_name(); }
00082 const std::string& type() const { return algtool_type(); }
00083 const std::string& version() const { return algtool_version(); }
00084
00085
00086 };
00087
00088
00089 GAUDI_API std::ostream& operator<<(std::ostream& lhs, const AlgToolHistory& rhs);
00090
00091 #endif
00092