/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RelTable/RelTable-00-00-02/RelTable/RelKey.h

Go to the documentation of this file.
00001 
00002 #ifndef RELKEY_H
00003 #define RELKEY_H
00004 
00005 
00006 #include "GaudiKernel/SmartRef.h"
00007 #include <iostream>
00008 
00025 namespace Event {
00026 
00027 template <class T1, class T2>
00028 class Relation;
00029 
00030 template <class T1, class T2, class T3>
00031 class RelKey {
00032     
00033 public:
00034     
00035     RelKey() {}
00036     RelKey(T1* obj): m_data(obj) {}
00037     
00038     ~RelKey() {}
00039     
00040     void setData(T1* obj) {m_data = obj;}  
00041     const T1* getData() const { return m_data;}
00042     T1* getData() {return m_data;}
00043 
00044     void setPrev(Relation<T2,T3>* rel) {m_prev = rel;}
00045     Relation<T2,T3>* getPrev() {return m_prev;}
00046 
00047     void setSame(Relation<T2,T3>* rel) {m_same = rel;}
00048     Relation<T2,T3>* getSame() {return m_same;}
00049 
00050     void setFirst(Relation<T2,T3>* rel) {m_first = rel;}
00051     Relation<T2,T3>* getFirst() {return m_first;}
00052 
00054     void toStream(std::ostream& s) const;
00055 
00056 private:
00057     
00059     SmartRef<T1> m_data;
00061     SmartRef< Relation<T2,T3> > m_prev;
00063     SmartRef< Relation<T2,T3> > m_same;
00065     SmartRef< Relation<T2,T3> > m_first;
00066         
00067 };
00068 
00069 
00070 template <class T1, class T2, class T3>
00071 inline void RelKey<T1,T2,T3>::toStream(std::ostream& s) const
00072 {
00074   s  << "\n        Data                    = " << m_data
00075      << "\n        Previous Relation       = " << m_prev
00076      << "\n        Next Relation           = " << m_same
00077      << "\n        First Different Data    = " << m_first;
00078 }
00079 
00080 }
00081 
00082 #endif // RELKEY_H 

Generated on Tue Nov 29 22:58:37 2016 for BOSS_7.0.2 by  doxygen 1.4.7