Belle II Software  release-05-01-25
WireHitMC.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : WireHitMC.h
5 // Section : TRG CDC
6 // Owner : Yoshihito Iwasaki
7 // Email : yoshihito.iwasaki@kek.jp
8 //-----------------------------------------------------------------------------
9 // Description : A class to represent a MC wire hit in CDC.
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCWireHitMC_FLAG_
15 #define TRGCDCWireHitMC_FLAG_
16 
17 #include "CLHEP/Geometry/Point3D.h"
18 #include "CLHEP/Geometry/Vector3D.h"
19 
20 #ifdef TRGCDC_SHORT_NAMES
21 #define TCWHitMC TRGCDCWireHitMC
22 #endif
23 
24 namespace Belle2 {
30  class TRGCDCWire;
31  class TRGCDCWireHit;
32  class TRGCDCTrackMC;
33 
36 
37  public:
40 
42  virtual ~TRGCDCWireHitMC();
43 
44  public:// Selectors
46  float distance(void) const;
47 
49  const HepGeom::Point3D<double>& hitPosition(void) const;
50 
52  const HepGeom::Point3D<double>& entrance(void) const;
53 
55  const HepGeom::Vector3D<double>& direction(void) const;
56 
58  const CLHEP::Hep3Vector& momentum(void) const;
59 
61  int leftRight(void) const;
62 
64  const TRGCDCWire* wire(void) const;
65 
67  const TRGCDCTrackMC* hep(void) const;
68 
70  const TRGCDCWireHit* hit(void) const;
71 
72  private:
74  const TRGCDCWire* _wire;
82  HepGeom::Vector3D<double> _direction;
84  CLHEP::Hep3Vector _momentum;
86  float _distance;
88  float _energy;
93 
94  friend class TRGCDC;
95  };
96 
97 //-----------------------------------------------------------------------------
98 
99  inline
100  float
102  {
103  return _distance;
104  }
105 
106  inline
109  {
110  return _position;
111  }
112 
113  inline
116  {
117  return _entrance;
118  }
119 
120  inline
121  const HepGeom::Vector3D<double>&
123  {
124  return _direction;
125  }
126 
127  inline
128  int
130  {
131  return _leftRight;
132  }
133 
134  inline
135  const TRGCDCWire*
137  {
138  return _wire;
139  }
140 
141  inline
142  const TRGCDCTrackMC*
144  {
145  return _hep;
146  }
147 
148  inline
149  const TRGCDCWireHit*
151  {
152  return _hit;
153  }
154 
155  inline
156  const CLHEP::Hep3Vector&
158  {
159  return _momentum;
160  }
161 
163 } // namespace Belle2
164 
165 #endif /* TRGCDCWireHitMC_FLAG_ */
Belle2::TRGCDCWireHitMC::_wire
const TRGCDCWire * _wire
pointer to TRGCDCWire
Definition: WireHitMC.h:74
Belle2::TRGCDCWireHitMC::hitPosition
const HepGeom::Point3D< double > & hitPosition(void) const
returns hit position.
Definition: WireHitMC.h:108
Belle2::TRGCDCWireHitMC::_position
HepGeom::Point3D< double > _position
position vector
Definition: WireHitMC.h:78
Belle2::TRGCDCTrackMC
A class to represent a GEN_HEPEVT particle in tracking.
Definition: TrackMC.h:33
Belle2::TRGCDCWireHitMC::_hep
const TRGCDCTrackMC * _hep
pointer to TRGCDCTrackMC
Definition: WireHitMC.h:90
Belle2::TRGCDCWireHitMC::_direction
HepGeom::Vector3D< double > _direction
direction vector
Definition: WireHitMC.h:82
Belle2::TRGCDCWireHitMC
A class to represent a MC wire hit in CDC.
Definition: WireHitMC.h:35
Belle2::TRGCDCWire
A class to represent a wire in CDC.
Definition: Wire.h:57
Belle2::TRGCDCWireHitMC::direction
const HepGeom::Vector3D< double > & direction(void) const
returns vector from entrance to exit point.
Definition: WireHitMC.h:122
Belle2::TRGCDCWireHitMC::_momentum
CLHEP::Hep3Vector _momentum
momentum
Definition: WireHitMC.h:84
Belle2::TRGCDCWireHitMC::_hit
const TRGCDCWireHit * _hit
pointer to TRGCDCWireHit
Definition: WireHitMC.h:76
Belle2::TRGCDCWireHitMC::_energy
float _energy
energy
Definition: WireHitMC.h:88
Belle2::TRGCDCWireHitMC::leftRight
int leftRight(void) const
returns left or right.
Definition: WireHitMC.h:129
Belle2::TRGCDCWireHitMC::momentum
const CLHEP::Hep3Vector & momentum(void) const
returns momentum vector at the entrance.
Definition: WireHitMC.h:157
Belle2::TRGCDCWireHitMC::_distance
float _distance
distance
Definition: WireHitMC.h:86
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCWireHit
A class to represent a wire hit in CDC.
Definition: WireHit.h:34
Belle2::TRGCDCWireHitMC::hit
const TRGCDCWireHit * hit(void) const
returns a pointer to a TRGCDCWireHit.
Definition: WireHitMC.h:150
Belle2::TRGCDC
The instance of TRGCDC is a singleton.
Definition: TRGCDC.h:70
Belle2::TRGCDCWireHitMC::~TRGCDCWireHitMC
virtual ~TRGCDCWireHitMC()
Destructor.
Definition: WireHitMC.cc:33
Belle2::TRGCDCWireHitMC::distance
float distance(void) const
returns drift distance.
Definition: WireHitMC.h:101
Belle2::TRGCDCWireHitMC::_entrance
HepGeom::Point3D< double > _entrance
entrance vector
Definition: WireHitMC.h:80
Belle2::TRGCDCWireHitMC::TRGCDCWireHitMC
TRGCDCWireHitMC(const TRGCDCWire *, const TRGCDCWireHit *)
Constructor.
Definition: WireHitMC.cc:22
HepGeom::Point3D< double >
Belle2::TRGCDCWireHitMC::_leftRight
int _leftRight
leftright info
Definition: WireHitMC.h:92
Belle2::TRGCDCWireHitMC::entrance
const HepGeom::Point3D< double > & entrance(void) const
returns an entrance point.
Definition: WireHitMC.h:115
Belle2::TRGCDCWireHitMC::hep
const TRGCDCTrackMC * hep(void) const
returns a pointer to a GEN_HEPEVT.
Definition: WireHitMC.h:143
Belle2::TRGCDCWireHitMC::wire
const TRGCDCWire * wire(void) const
returns a pointer to a TRGCDCWire.
Definition: WireHitMC.h:136