| The Gaudi Framework v32r1 (f65d50dc)

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
6 #include "GaudiKernel/HistoryObj.h"
7
8 #include "GaudiKernel/ClassID.h"
9 #include "GaudiKernel/StatusCode.h"
10 #include <iostream>
11 #include <string>
12 #include <vector>
13
14 class AlgorithmHistory;
15
23 class GAUDI_API DataHistory : public HistoryObj {
24
25 public:
26 class DataHistoryOrder final {
27 public:
28 bool operator()( const DataHistory& lhs, const DataHistory& rhs ) const {
29 return std::tie( lhs.m_dataClassID, lhs.m_dataKey, lhs.m_algHist ) <
30 std::tie( rhs.m_dataClassID, rhs.m_dataKey, rhs.m_algHist );
31 }
32 bool operator()( const DataHistory* lhs, const DataHistory* rhs ) const { return ( *this )( *lhs, *rhs ); }
33 };
34
35 DataHistory( const CLID& id, std::string key, AlgorithmHistory* alg );
36
37 const CLID& clID() const override { return DataHistory::classID(); }
38 static const CLID& classID();
39
40 std::string dataKey() const { return m_dataKey; }
41 const CLID& dataClassID() const { return m_dataClassID; }
42
43 AlgorithmHistory* algorithmHistory() const { return m_algHist; }
44
45 void dump( std::ostream&, const bool isXML = false, int indent = 0 ) const override;
46
47 private:
48 CLID m_dataClassID;
49 std::string m_dataKey;
50 AlgorithmHistory* m_algHist;
51 std::string m_dummy = "none";
52 };
53
54 GAUDI_API std::ostream& operator<<( std::ostream& lhs, const DataHistory& rhs );
55
56 #endif
DataHistory::dataClassID
const CLID & dataClassID() const
Definition: DataHistory.h:41
ClassID.h
ManySmallAlgs.alg
alg
Definition: ManySmallAlgs.py:69
std::tie
T tie(T... args)
DataHistory::algorithmHistory
AlgorithmHistory * algorithmHistory() const
Definition: DataHistory.h:43
HistoryObj::classID
static const CLID & classID()
Definition: HistoryObj.cpp:55
HistoryObj::dump
virtual void dump(std::ostream &, const bool isXML=false, int indent=0) const =0
AlgorithmHistory
AlgorithmHistory class definition.
Definition: AlgorithmHistory.h:28
HistoryObj
Base class for History Objects.
Definition: HistoryObj.h:21
HistoryObj.h
DataHistory::m_algHist
AlgorithmHistory * m_algHist
Definition: DataHistory.h:50
std::string
STL class.
DataHistory
DataHistory class definition.
Definition: DataHistory.h:23
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
operator<<
GAUDI_API std::ostream & operator<<(std::ostream &lhs, const DataHistory &rhs)
Definition: DataHistory.cpp:46
DataHistory::m_dataClassID
CLID m_dataClassID
Definition: DataHistory.h:48
DataHistory::DataHistoryOrder::operator()
bool operator()(const DataHistory &lhs, const DataHistory &rhs) const
Definition: DataHistory.h:28
DataHistory::DataHistoryOrder::operator()
bool operator()(const DataHistory *lhs, const DataHistory *rhs) const
Definition: DataHistory.h:32
DataHistory::m_dataKey
std::string m_dataKey
Definition: DataHistory.h:49
DataHistory::DataHistoryOrder
Definition: DataHistory.h:26
DataHistory::dataKey
std::string dataKey() const
Definition: DataHistory.h:40
StatusCode.h
DataHistory::classID
static const CLID & classID()
Definition: DataHistory.cpp:30
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
std::ostream
STL class.
DataHistory::clID
const CLID & clID() const override
Retrieve reference to class definition structure.
Definition: DataHistory.h:37