Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Event::Relation< T1, T2 > Class Template Reference

#include <Relation.h>

Inheritance diagram for Event::Relation< T1, T2 >:

ContainedObject ContainedObject List of all members.

Public Member Functions

void addInfo (std::string inf)
 Add additional information (as a string) to the relation.
void addInfo (std::string inf)
 Add additional information (as a string) to the relation.
virtual const CLID & clID () const
virtual const CLID & clID () const
std::ostreamfillStream (std::ostream &s) const
 Fill the ASCII output stream.
std::ostreamfillStream (std::ostream &s) const
 Fill the ASCII output stream.
T1 * getFirst ()
const T1 * getFirst () const
T1 * getFirst ()
const T1 * getFirst () const
std::vector< std::string > getInfos () const
std::vector< std::string > getInfos () const
T2 * getSecond ()
const T2 * getSecond () const
T2 * getSecond ()
const T2 * getSecond () const
 Relation (T1 *obj1, T2 *obj2, std::vector< std::string > infos)
 Relation (T1 *obj1, T2 *obj2, std::string info)
 Relation (T1 *obj1, T2 *obj2)
 Relation (T1 *obj1, T2 *obj2, std::vector< std::string > infos)
 Relation (T1 *obj1, T2 *obj2, std::string info)
 Relation (T1 *obj1, T2 *obj2)

Static Public Member Functions

const CLID & classID ()
const CLID & classID ()

Private Member Functions

void setFirst (T1 *obj)
void setFirst (T1 *obj)
void setSecond (T2 *obj)
void setSecond (T2 *obj)

Private Attributes

RelKey< T1, T1, T2 > m_first
 Key associated to the first object to be related.
RelKey< T1, T1, T2 > m_first
 Key associated to the first object to be related.
std::vector< std::string > m_infos
 Additional information associated to the relation.
std::vector< std::string > m_infos
 Additional information associated to the relation.
RelKey< T2, T1, T2 > m_second
 Key associated to the second object to be related.
RelKey< T2, T1, T2 > m_second
 Key associated to the second object to be related.

Friends

class RelTable<T1,T2>

template<class T1, class T2>
class Event::Relation< T1, T2 >


Constructor & Destructor Documentation

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2
[inline]
 

00043 : m_first(obj1), m_second(obj2) {}

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2,
std::string  info
[inline]
 

00079                                                                   : 
00080   m_first(obj1), m_second(obj2), m_infos(1,info) {}

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2,
std::vector< std::string >  infos
[inline]
 

00084                                                                               : 
00085   m_first(obj1), m_second(obj2), m_infos(infos) {}

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2
[inline]
 

00043 : m_first(obj1), m_second(obj2) {}

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2,
std::string  info
 

template<class T1, class T2>
Event::Relation< T1, T2 >::Relation T1 *  obj1,
T2 *  obj2,
std::vector< std::string >  infos
 


Member Function Documentation

template<class T1, class T2>
void Event::Relation< T1, T2 >::addInfo std::string  inf  ) 
 

Add additional information (as a string) to the relation.

template<class T1, class T2>
void Event::Relation< T1, T2 >::addInfo std::string  inf  ) 
 

Add additional information (as a string) to the relation.

00090                                            {
00091     // Purpose and Method:  This routine add additional information to the relation.
00092     // Inputs:  inf is the information to be added.
00093     
00094   m_infos.push_back(inf);
00095 
00096 }

template<class T1, class T2>
const CLID& Event::Relation< T1, T2 >::classID  )  [inline, static]
 

Reimplemented in RecMdcHitOnTrack, and RecMdcHitOnTrack.

00040 { return CLID_Relation; }

template<class T1, class T2>
const CLID& Event::Relation< T1, T2 >::classID  )  [inline, static]
 

Reimplemented in RecMdcHitOnTrack, and RecMdcHitOnTrack.

00040 { return CLID_Relation; }

template<class T1, class T2>
virtual const CLID& Event::Relation< T1, T2 >::clID  )  const [inline, virtual]
 

Reimplemented in RecMdcHitOnTrack, and RecMdcHitOnTrack.

00039 { return Relation::classID(); }

template<class T1, class T2>
virtual const CLID& Event::Relation< T1, T2 >::clID  )  const [inline, virtual]
 

Reimplemented in RecMdcHitOnTrack, and RecMdcHitOnTrack.

00039 { return Relation::classID(); }

template<class T1, class T2>
std::ostream& Event::Relation< T1, T2 >::fillStream std::ostream s  )  const
 

Fill the ASCII output stream.

template<class T1, class T2>
std::ostream & Event::Relation< T1, T2 >::fillStream std::ostream s  )  const [inline]
 

Fill the ASCII output stream.

00109                                                                     {
00110   // Fill the ASCII output stream
00111   s << "      Base class Relation"
00112     << "\n        First Column: ";
00113   m_first.toStream(s);
00114   s << "\n        Second Column: "; 
00115   m_second.toStream(s);
00116   s << "\n        Additional Information: ";
00117   
00118   std::vector<std::string>::const_iterator i;
00119   for(i = m_infos.begin(); i != m_infos.end(); i++)
00120     {
00121       s << "\n          " << *i;
00122     }
00123   return s;
00124 }

template<class T1, class T2>
T1* Event::Relation< T1, T2 >::getFirst  )  [inline]
 

00048 { return m_first.getData();}

template<class T1, class T2>
const T1* Event::Relation< T1, T2 >::getFirst  )  const [inline]
 

00047 {return m_first.getData();} 

template<class T1, class T2>
T1* Event::Relation< T1, T2 >::getFirst  )  [inline]
 

00048 { return m_first.getData();}

template<class T1, class T2>
const T1* Event::Relation< T1, T2 >::getFirst  )  const [inline]
 

00047 {return m_first.getData();} 

template<class T1, class T2>
std::vector<std::string> Event::Relation< T1, T2 >::getInfos  )  const
 

template<class T1, class T2>
std::vector< std::string > Event::Relation< T1, T2 >::getInfos  )  const
 

00099                                                      {
00100     // Purpose and Method: This routine get the additional information
00101     // associated to the relation. 
00102     // Outputs: a vector of strings
00103 
00104     return m_infos;
00105 }

template<class T1, class T2>
T2* Event::Relation< T1, T2 >::getSecond  )  [inline]
 

00051 { return m_second.getData();}    

template<class T1, class T2>
const T2* Event::Relation< T1, T2 >::getSecond  )  const [inline]
 

00050 {return m_second.getData();} 

template<class T1, class T2>
T2* Event::Relation< T1, T2 >::getSecond  )  [inline]
 

00051 { return m_second.getData();}    

template<class T1, class T2>
const T2* Event::Relation< T1, T2 >::getSecond  )  const [inline]
 

00050 {return m_second.getData();} 

template<class T1, class T2>
void Event::Relation< T1, T2 >::setFirst T1 *  obj  )  [inline, private]
 

00071 {m_first.setData(obj);}

template<class T1, class T2>
void Event::Relation< T1, T2 >::setFirst T1 *  obj  )  [inline, private]
 

00071 {m_first.setData(obj);}

template<class T1, class T2>
void Event::Relation< T1, T2 >::setSecond T2 *  obj  )  [inline, private]
 

00072 {m_second.setData(obj);}

template<class T1, class T2>
void Event::Relation< T1, T2 >::setSecond T2 *  obj  )  [inline, private]
 

00072 {m_second.setData(obj);}


Friends And Related Function Documentation

template<class T1, class T2>
RelTable<T1,T2> [friend]
 


Member Data Documentation

template<class T1, class T2>
RelKey<T1,T1,T2> Event::Relation< T1, T2 >::m_first [private]
 

Key associated to the first object to be related.

template<class T1, class T2>
RelKey<T1,T1,T2> Event::Relation< T1, T2 >::m_first [private]
 

Key associated to the first object to be related.

template<class T1, class T2>
std::vector<std::string> Event::Relation< T1, T2 >::m_infos [private]
 

Additional information associated to the relation.

template<class T1, class T2>
std::vector<std::string> Event::Relation< T1, T2 >::m_infos [private]
 

Additional information associated to the relation.

template<class T1, class T2>
RelKey<T2,T1,T2> Event::Relation< T1, T2 >::m_second [private]
 

Key associated to the second object to be related.

template<class T1, class T2>
RelKey<T2,T1,T2> Event::Relation< T1, T2 >::m_second [private]
 

Key associated to the second object to be related.


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:20:55 2011 for BOSS6.5.5 by  doxygen 1.3.9.1