| # Gaudi Framework, version v20r4
Generated: 8 Jan 2009

# AlgorithmHistory Class Reference

`#include <AlgorithmHistory.h>`

Inheritance diagram for AlgorithmHistory:

[legend]
Collaboration diagram for AlgorithmHistory:

[legend]

List of all members.

## Detailed Description

AlgorithmHistory class definition.

Author:
  : Charles Leggett

Definition at line 28 of file AlgorithmHistory.h.

## Public Types
typedef std::vector< Property * > | PropertyList
typedef std::vector< const AlgorithmHistory * > | HistoryList
## Public Member Functions
| AlgorithmHistory (const Algorithm &alg, const JobHistory *job)
| AlgorithmHistory (const std::string &algVersion, const std::string &algName, const std::string &algType, const PropertyList &props, const HistoryList &subHists)
virtual | ~AlgorithmHistory ()
virtual const CLID & | clID () const
| Retrieve reference to class definition structure.
const std::string & | algorithm_type () const
const std::string & | algorithm_version () const
const std::string & | algorithm_name () const
const Algorithm * | algorithm () const
const PropertyList & | properties () const
const HistoryList & | subalgorithm_histories () const
const JobHistory * | jobHistory () const
## Static Public Member Functions
static const CLID & | classID ()
| Retrieve reference to class definition structure (static access).
## Private Attributes
std::string | m_algorithm_type
std::string | m_algorithm_version
std::string | m_algorithm_name
const Algorithm * | m_algorithm
PropertyList | m_properties
HistoryList | m_subalgorithm_histories
const JobHistory * | m_jobHistory

## Member Typedef Documentation

typedef std::vector<Property*> AlgorithmHistory::PropertyList

Definition at line 33 of file AlgorithmHistory.h.

typedef std::vector<const AlgorithmHistory*> AlgorithmHistory::HistoryList

Definition at line 36 of file AlgorithmHistory.h.

## Constructor & Destructor Documentation

AlgorithmHistory::AlgorithmHistory | ( | const Algorithm & | alg,
|  | const JobHistory * | job |
| ) |  |  | `[explicit]`

Definition at line 32 of file AlgorithmHistory.cpp.

    00033 :
    00034   m_algorithm_type(System::typeinfoName(typeid(alg))),
    00035   m_algorithm_version(alg.version()),
    00036   m_algorithm_name(alg.name()),
    00037   m_algorithm( &alg ),
    00038   m_properties(alg.getProperties()),
    00039   m_jobHistory(job)
    00040 {
    00041   assert( alg.subAlgorithms() != 0 );
    00042
    00043   for ( vector<Algorithm*>::const_iterator
    00044         ialg=alg.subAlgorithms()->begin();
    00045         ialg!=alg.subAlgorithms()->end(); ++ ialg ) {
    00046     m_subalgorithm_histories.push_back(new AlgorithmHistory(**ialg, job));
    00047   }
    00048 }

AlgorithmHistory::AlgorithmHistory | ( | const std::string & | algVersion,
|  | const std::string & | algName,
|  | const std::string & | algType,
|  | const PropertyList & | props,
|  | const HistoryList & | subHists |
| ) |  |  | `[explicit]`

Definition at line 52 of file AlgorithmHistory.cpp.

    00056                                                                 :
    00057   m_algorithm_type(algType),   // FIXME type_info???
    00058   m_algorithm_version(algVersion),
    00059   m_algorithm_name(algName),
    00060   m_algorithm(0),
    00061   m_properties(props),
    00062   m_subalgorithm_histories(subHists) {}

AlgorithmHistory::~AlgorithmHistory | ( |  | ) | `[virtual]`

Definition at line 68 of file AlgorithmHistory.cpp.

    00068                                     {
    00069   for ( HistoryList::const_iterator
    00070         iphist=m_subalgorithm_histories.begin();
    00071         iphist!=m_subalgorithm_histories.end(); ++iphist ) {
    00072     delete *iphist;
    00073   }
    00074 }

## Member Function Documentation

virtual const CLID& AlgorithmHistory::clID | ( |  | ) | const`[inline, virtual]`

Retrieve reference to class definition structure.

Retrieve Pointer to class definition structure.

Reimplemented from HistoryObj.

Definition at line 76 of file AlgorithmHistory.h.

    00076 { return classID(); }

const CLID & AlgorithmHistory::classID | ( |  | ) | `[static]`

Retrieve reference to class definition structure (static access).

Retrieve Pointer to class definition structure.

Reimplemented from HistoryObj.

Definition at line 76 of file AlgorithmHistory.cpp.

    00076                                       {
    00077
    00078   static CLID CLID_AlgorithmHistory = 56809101;  //from `clid AlgorithmHistory`
    00079   return CLID_AlgorithmHistory;
    00080
    00081 }

const std::string& AlgorithmHistory::algorithm_type | ( |  | ) | const`[inline]`

Definition at line 80 of file AlgorithmHistory.h.

    00080 { return m_algorithm_type; }

const std::string& AlgorithmHistory::algorithm_version | ( |  | ) | const`[inline]`

Definition at line 83 of file AlgorithmHistory.h.

    00083 { return m_algorithm_version; }

const std::string& AlgorithmHistory::algorithm_name | ( |  | ) | const`[inline]`

Definition at line 86 of file AlgorithmHistory.h.

    00086 { return m_algorithm_name; }

const Algorithm* AlgorithmHistory::algorithm | ( |  | ) | const`[inline]`

Definition at line 89 of file AlgorithmHistory.h.

    00089 { return m_algorithm; }

const PropertyList& AlgorithmHistory::properties | ( |  | ) | const`[inline]`

Definition at line 92 of file AlgorithmHistory.h.

    00092 { return m_properties; }

const HistoryList& AlgorithmHistory::subalgorithm_histories | ( |  | ) | const`[inline]`

Definition at line 95 of file AlgorithmHistory.h.

    00096     { return m_subalgorithm_histories; }

const JobHistory* AlgorithmHistory::jobHistory | ( |  | ) | const`[inline]`

Definition at line 99 of file AlgorithmHistory.h.

    00099 { return m_jobHistory; }

## Member Data Documentation

std::string AlgorithmHistory::m_algorithm_type`[private]`

Definition at line 41 of file AlgorithmHistory.h.

std::string AlgorithmHistory::m_algorithm_version`[private]`

Definition at line 44 of file AlgorithmHistory.h.

std::string AlgorithmHistory::m_algorithm_name`[private]`

Definition at line 47 of file AlgorithmHistory.h.

const Algorithm* AlgorithmHistory::m_algorithm`[private]`

Definition at line 50 of file AlgorithmHistory.h.

PropertyList AlgorithmHistory::m_properties`[private]`

Definition at line 53 of file AlgorithmHistory.h.

HistoryList AlgorithmHistory::m_subalgorithm_histories`[private]`

Definition at line 56 of file AlgorithmHistory.h.

const JobHistory* AlgorithmHistory::m_jobHistory`[private]`

Definition at line 59 of file AlgorithmHistory.h.

The documentation for this class was generated from the following files:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r4/GaudiKernel/GaudiKernel/AlgorithmHistory.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v20r4/GaudiKernel/src/Lib/AlgorithmHistory.cpp