BOSS 7.0.3
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/TrkReco/TrkReco/TMDCWireHitMC.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TMDCWireHitMC.h,v 1.6 2010/03/31 09:58:59 liucy Exp $
3//-----------------------------------------------------------------------------
4// Filename : TMDCWireHitMC.h
5// Section : Tracking MDC
6// Owner : Yoshi Iwasaki
7// Email : [email protected]
8//-----------------------------------------------------------------------------
9// Description : A class to represent a MC wire hit in MDC.
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TMDCWireHitMC_FLAG_
14#define TMDCWireHitMC_FLAG_
15
16#ifdef TRKRECO_DEBUG_DETAIL
17#ifndef TRKRECO_DEBUG
18#define TRKRECO_DEBUG
19#endif
20#endif
21
22#include <string>
23
24#define HEP_SHORT_NAMES
25#include "CLHEP/Alist/AList.h"
26#include "CLHEP/Vector/ThreeVector.h"
27#ifndef CLHEP_POINT3D_H
28#include "CLHEP/Geometry/Point3D.h"
29#endif
30#ifndef ENABLE_BACKWARDS_COMPATIBILITY
32#endif
33#include "CLHEP/Geometry/Vector3D.h"
34#ifndef ENABLE_BACKWARDS_COMPATIBILITY
36#endif
37using namespace CLHEP;
38class TMDC;
39class TMDCWire;
40class TMDCWireHit;
41class TTrackHEP;
42//struct datcdc_mcwirhit;
43class MdcDat_mcwirhit;
44
45/// A class to represent a MC wire hit in MDC.
47
48 public:
49 /// Constructor.
51
52 /// Destructor
53 virtual ~TMDCWireHitMC();
54
55 public:// Selectors
56 /// returns drift distance.
57 float distance(void) const;
58
59 /// returns hit position.
60 const HepPoint3D & hitPosition(void) const;
61
62 /// returns an entrance point.
63 const HepPoint3D & entrance(void) const;
64
65 /// returns vector from entrance to exit point.
66 const HepVector3D & direction(void) const;
67
68 /// returns momentum vector at the entrance.
69 const Hep3Vector & momentum(void) const;
70
71 /// returns left or right.
72 int leftRight(void) const;
73
74 /// returns a pointer to DATMDC_MCWIRHIT.
75 MdcDat_mcwirhit * datcdc(void) const;
76
77 /// returns a pointer to a TMDCWire.
78 const TMDCWire * const wire(void) const;
79
80 /// returns a pointer to a GEN_HEPEVT.
81 const TTrackHEP * const hep(void) const;
82
83 /// returns a pointer to a TMDCWireHit.
84 const TMDCWireHit * const hit(void) const;
85
86 public:// Modifiers
87
88 private:
89 const TMDCWire * _wire;
90 const TMDCWireHit * _hit;
91 HepPoint3D _position;
92 HepPoint3D _entrance;
93 HepVector3D _direction;
94 Hep3Vector _momentum;
95 float _distance;
96 float _energy;
97 int _leftRight;
98 MdcDat_mcwirhit * _datcdc;
99 const TTrackHEP * _hep;
100
101 friend class TMDC;
102};
103
104//-----------------------------------------------------------------------------
105
106#ifdef TMDCWireHitMC_NO_INLINE
107#define inline
108#else
109#undef inline
110#define TMDCWireHitMC_INLINE_DEFINE_HERE
111#endif
112
113#ifdef TMDCWireHitMC_INLINE_DEFINE_HERE
114
115inline
116float
118 return _distance;
119}
120
121inline
122const HepPoint3D &
124 return _position;
125}
126
127inline
128const HepPoint3D &
130 return _entrance;
131}
132
133inline
134const HepVector3D &
136 return _direction;
137}
138
139inline
140int
142 return _leftRight;
143}
144
145inline
148 return _datcdc;
149}
150
151inline
152const TMDCWire * const
154 return _wire;
155}
156
157inline
158const TTrackHEP * const
160 return _hep;
161}
162
163inline
164const TMDCWireHit * const
166 return _hit;
167}
168
169inline
170const Hep3Vector &
172 return _momentum;
173}
174
175#endif
176
177#undef inline
178
179#endif /* TMDCWireHitMC_FLAG_ */
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
A class to represent a MC wire hit in MDC.
const HepPoint3D & hitPosition(void) const
returns hit position.
const Hep3Vector & momentum(void) const
returns momentum vector at the entrance.
const TTrackHEP *const hep(void) const
returns a pointer to a GEN_HEPEVT.
MdcDat_mcwirhit * datcdc(void) const
returns a pointer to DATMDC_MCWIRHIT.
const HepVector3D & direction(void) const
returns vector from entrance to exit point.
const TMDCWire *const wire(void) const
returns a pointer to a TMDCWire.
float distance(void) const
returns drift distance.
virtual ~TMDCWireHitMC()
Destructor.
const HepPoint3D & entrance(void) const
returns an entrance point.
const TMDCWireHit *const hit(void) const
returns a pointer to a TMDCWireHit.
int leftRight(void) const
returns left or right.
A class to represent a wire in MDC.
A class to represent a GEN_HEPEVT particle in tracking.