| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

AlgorithmHistory.h

Go to the documentation of this file.
00001 // $Id: AlgorithmHistory.h,v 1.1 2006/11/09 10:24:04 mato Exp $
00002 
00003 #ifndef GAUDIKERNEL_ALGORITHMHISTORY_H
00004 #define GAUDIKERNEL_ALGORITHMHISTORY_H
00005 
00006 // An object of this class carries the history information
00007 // which is specific to a Gaudi algorithm.
00008 
00009 #include "GaudiKernel/HistoryObj.h"
00010 
00011 #include <iosfwd>
00012 #include <string>
00013 #include <typeinfo>
00014 #include <vector>
00015 
00016 class Algorithm;
00017 class Property;
00018 class JobHistory;
00019 
00028 class AlgorithmHistory: public HistoryObj {
00029 
00030 public:  // typedefs
00031 
00032   // List of properties. This may change.
00033   typedef std::vector<Property*> PropertyList;
00034  
00035   // List of subalgorithm histories. This may change.
00036   typedef std::vector<const AlgorithmHistory*> HistoryList;
00037 
00038 private:  // data
00039 
00040   // Algorithm full type.
00041   std::string m_algorithm_type;
00042 
00043   // Algorithm version.
00044   std::string m_algorithm_version;
00045 
00046   // Algorithm name.
00047   std::string m_algorithm_name;
00048 
00049   // Algorithm
00050   const Algorithm* m_algorithm;
00051 
00052   // Properties.
00053   PropertyList m_properties;
00054 
00055   // Subalgorithm histories.
00056   HistoryList m_subalgorithm_histories;
00057 
00058   // Link to jobHistory
00059   const JobHistory *m_jobHistory;
00060 
00061 public:  // functions
00062 
00063   // Constructor from the algorithm.
00064   explicit AlgorithmHistory(const Algorithm& alg, const JobHistory* job);
00065 
00066   // All-fields Constructor for persistency
00067   explicit AlgorithmHistory(const std::string& algVersion,
00068                             const std::string& algName,
00069                             const std::string& algType,
00070                             const PropertyList& props,
00071                             const HistoryList& subHists);
00072   // Destructor.
00073   virtual ~AlgorithmHistory();
00074 
00075   // Class IDs
00076   virtual const CLID& clID() const { return classID(); }
00077   static const CLID& classID();
00078 
00079   // Return the algorithm type.
00080   const std::string& algorithm_type() const { return m_algorithm_type; }
00081 
00082   // Return the algorithm version.
00083   const std::string& algorithm_version() const { return m_algorithm_version; }
00084 
00085   // Return the algorithm name.
00086   const std::string& algorithm_name() const { return m_algorithm_name; }
00087 
00088   // The actual algorithm
00089   const Algorithm* algorithm() const { return m_algorithm; }
00090 
00091   // Return the algorithm properties.
00092   const PropertyList& properties() const { return m_properties; }
00093 
00094   // Return the subalgorithm histories.
00095   const HistoryList& subalgorithm_histories() const
00096     { return m_subalgorithm_histories; }
00097 
00098   // Return the jobHistory
00099   const JobHistory* jobHistory() const { return m_jobHistory; }
00100 
00101 };
00102 
00103 // Output stream.
00104 std::ostream& operator<<(std::ostream& lhs, const AlgorithmHistory& rhs);
00105 
00106 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7