The Gaudi Framework  v30r3 (a5ef0a68)
DataHistory.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_DATAHISTORY_H
2 #define GAUDIKERNEL_DATAHISTORY_H
3 
4 // History for an event data object.
5 
7 
8 #include "GaudiKernel/ClassID.h"
10 #include <iostream>
11 #include <string>
12 #include <vector>
13 
14 class AlgorithmHistory;
15 
24 {
25 
26 public:
27  class DataHistoryOrder final
28  {
29  public:
30  bool operator()( const DataHistory& lhs, const DataHistory& rhs ) const
31  {
32  return std::tie( lhs.m_dataClassID, lhs.m_dataKey, lhs.m_algHist ) <
33  std::tie( rhs.m_dataClassID, rhs.m_dataKey, rhs.m_algHist );
34  }
35  bool operator()( const DataHistory* lhs, const DataHistory* rhs ) const { return ( *this )( *lhs, *rhs ); }
36  };
37 
38  DataHistory( const CLID& id, std::string key, AlgorithmHistory* alg );
39 
40  const CLID& clID() const override { return DataHistory::classID(); }
41  static const CLID& classID();
42 
43  std::string dataKey() const { return m_dataKey; }
44  const CLID& dataClassID() const { return m_dataClassID; }
45 
46  AlgorithmHistory* algorithmHistory() const { return m_algHist; }
47 
48  void dump( std::ostream&, const bool isXML = false, int indent = 0 ) const override;
49 
50 private:
54  std::string m_dummy = "none";
55 };
56 
58 
59 #endif
T tie(T...args)
AlgorithmHistory * algorithmHistory() const
Definition: DataHistory.h:46
AlgorithmHistory class definition.
Base class for History Objects.
Definition: HistoryObj.h:21
AlgorithmHistory * m_algHist
Definition: DataHistory.h:53
STL class.
DataHistory class definition.
Definition: DataHistory.h:23
bool operator()(const DataHistory *lhs, const DataHistory *rhs) const
Definition: DataHistory.h:35
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
GAUDI_API std::ostream & operator<<(std::ostream &lhs, const DataHistory &rhs)
Definition: DataHistory.cpp:50
std::string dataKey() const
Definition: DataHistory.h:43
CLID m_dataClassID
Definition: DataHistory.h:51
const CLID & clID() const override
Retrieve reference to class definition structure.
Definition: DataHistory.h:40
std::string m_dataKey
Definition: DataHistory.h:52
bool operator()(const DataHistory &lhs, const DataHistory &rhs) const
Definition: DataHistory.h:30
static const CLID & classID()
Definition: DataHistory.cpp:32
#define GAUDI_API
Definition: Kernel.h:104
STL class.
const CLID & dataClassID() const
Definition: DataHistory.h:44