FEDRA emulsion software from the OPERA Collaboration
VtRelation.hh
Go to the documentation of this file.
1#ifndef __VTRELATION_HH
2#define __VTRELATION_HH
3// *****************************************************************************
4//
5// source:
6//
7// type: source code
8//
9// created: 21. Aug 2000
10//
11// author: Thorsten Glebe
12// HERA-B Collaboration
13// Max-Planck-Institut fuer Kernphysik
14// Saupfercheckweg 1
15// 69117 Heidelberg
16// Germany
17// E-mail: T.Glebe@mpi-hd.mpg.de
18//
19// Description: Relation class
20//
21// changes:
22// 21 Aug 2000 (TG) creation
23// 13 Sep 2000 (TG) added MassC member
24// 20 Okt 2000 (TG) #include VtVassC_list.hh added, changed type of massc
25// from MassC* to MassC_v
26// 14 Nov 2000 (TG) added getTrack(), getVertex(), getKalman() member functions,
27// hide reference members in case of CINT (CINT limitation)
28//
29// *****************************************************************************
30
31#include <iosfwd>
32#include "vt++/VtMassC_list.hh"
33
34#ifdef WIN32
35# include "Rtypes.h"
36#endif
37
38namespace VERTEX {
39
40 class Track;
41 class Vertex;
42 class Kalman;
43 class Relation;
44
48 //============================================================================
49 // Class Relation - class for Vertex-Track-Kalman relations
50 //============================================================================
51 class Relation {
52 public:
55 Relation(Track& ttrack, Vertex& vvertex);
57 ~Relation();
58
61 void print( std::ostream& os ) const;
62
64 inline Track& getTrack() { return track; }
66 inline Vertex& getVertex() { return vertex; }
68 inline Kalman& getKalman() { return kalman; }
69
70 //#ifndef __CINT__
71 // reference members are currently a CINT limitation
72 Track& track; // reference to track
73 Vertex& vertex; // reference to vertex
74 Kalman& kalman; // reference to Kalman-object
75 //#endif
76 MassC_v massc; // vector of mass-constraint objects
77
78#ifdef WIN32
79 ClassDef(Relation,0)
80#endif
81 };
82
83 //==============================================================================
84 // operator <<
85 //==============================================================================
86 inline std::ostream& operator<< ( std::ostream& os, const Relation& r ) {
87 r.print(os);
88 return os;
89 }
90
91} // end of namespace VERTEX
92#endif
Definition: Track.h:10
Definition: VtKalman.hh:70
Definition: VtRelation.hh:51
Track & getTrack()
Definition: VtRelation.hh:64
void print(std::ostream &os) const
Definition: VtRelation.C:44
Kalman & getKalman()
Definition: VtRelation.hh:68
Relation(Track &ttrack, Vertex &vvertex)
Definition: VtRelation.C:34
Vertex & vertex
Definition: VtRelation.hh:73
Vertex & getVertex()
Definition: VtRelation.hh:66
MassC_v massc
Definition: VtRelation.hh:76
Track & track
Definition: VtRelation.hh:72
~Relation()
Definition: VtRelation.C:39
Kalman & kalman
Definition: VtRelation.hh:74
Definition: VtTrack.hh:64
Definition: VtVertex.hh:88
Definition: VtDistance.hh:30
std::ostream & operator<<(std::ostream &os, const VtIni &t)
Definition: VtIni.hh:83
std::list< MassC * > MassC_v
Definition: VtMassC_list.hh:28
void r(int rid=2)
Definition: test.C:201