Belle II Software  release-05-02-19
CDCTrajectory2D.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
13 
14 #include <tracking/trackFindingCDC/geometry/UncertainPerigeeCircle.h>
15 #include <tracking/trackFindingCDC/geometry/PerigeeCircle.h>
16 #include <tracking/trackFindingCDC/geometry/PerigeeParameters.h>
17 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
18 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
19 
20 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
21 #include <tracking/trackFindingCDC/numerics/ERightLeft.h>
22 #include <tracking/trackFindingCDC/numerics/ESign.h>
23 
24 #include <TMath.h>
25 #include <cmath>
26 #include <cstddef>
27 #include <iosfwd>
28 
29 namespace Belle2 {
34  namespace TrackFindingCDC {
35  class WireLine;
36 
38  class CDCTrajectory2D {
39 
40  public:
43 
49  explicit CDCTrajectory2D(const UncertainPerigeeCircle& perigeeCircle);
50 
58  CDCTrajectory2D(const Vector2D& localOrigin,
59  const UncertainPerigeeCircle& localPerigeeCircle,
60  double flightTime = NAN);
61 
66  CDCTrajectory2D(const Vector2D& pos2D,
67  double time,
68  const Vector2D& mom2D,
69  double charge,
70  double bZ);
71 
74  CDCTrajectory2D(const Vector2D& pos2D, double time, const Vector2D& mom2D, double charge);
75 
76  public:
78  bool isFitted() const;
79 
81  void clear();
82 
83  public:
85  void reverse();
86 
88  CDCTrajectory2D reversed() const;
89 
90  public:
100  std::array<double, 2> reconstructBothZ(const WireLine& wireLine, double distance = 0.0, double z = 0) const;
101 
112  double reconstructZ(const WireLine& wireLine, double distance = 0.0, double z = 0) const;
113 
123  std::array<Vector3D, 2> reconstructBoth3D(const WireLine& wireLine, double distance = 0.0, double z = 0) const;
124 
137  Vector3D reconstruct3D(const WireLine& wireLine, double distance = 0.0, double z = 0) const;
138 
140  Vector2D getClosest(const Vector2D& point) const;
141 
142  private:
147  ISuperLayer getISuperLayerAfter(ISuperLayer iSuperLayer, bool movingOutward) const;
148 
153  ISuperLayer getISuperLayerAfterStart(bool movingOutward) const;
154 
159  ISuperLayer getISuperLayerAfterStart(EForwardBackward forwardBackwardInfo) const;
160 
166  ISuperLayer getAxialISuperLayerAfterStart(EForwardBackward forwardBackwardInfo) const;
167 
168  public:
171  ISuperLayer getNextISuperLayer() const;
172 
175  ISuperLayer getPreviousISuperLayer() const;
176 
179  ISuperLayer getNextAxialISuperLayer() const;
180 
183  ISuperLayer getPreviousAxialISuperLayer() const;
184 
186  ISuperLayer getMaximalISuperLayer() const;
187 
189  ISuperLayer getStartISuperLayer() const;
190 
192  ISuperLayer getMinimalISuperLayer() const;
193 
194  public:
201  template <class AHits>
202  EForwardBackward isForwardOrBackwardTo(const AHits& hits) const
203  {
204  return static_cast<EForwardBackward>(sign(getTotalArcLength2D(hits)));
205  }
206 
211  template <class AFromHits, class AToHits>
212  double getArcLength2DGap(const AFromHits& fromHits, const AToHits& toHits) const
213  {
214  const Vector2D& fromRecoPos2D = fromHits.back().getRecoPos2D();
215  const Vector2D& toRecoPos2D = toHits.front().getRecoPos2D();
216  return calcArcLength2DBetween(fromRecoPos2D, toRecoPos2D);
217  }
218 
223  template <class AFromHits, class AToHits>
224  double getArcLength2DFrontOffset(const AFromHits& fromHits, const AToHits& toHits) const
225  {
226  const Vector2D& fromRecoPos2D = fromHits.front().getRecoPos2D();
227  const Vector2D& toRecoPos2D = toHits.front().getRecoPos2D();
228  return calcArcLength2DBetween(fromRecoPos2D, toRecoPos2D);
229  }
230 
235  template <class AFromHits, class AToHits>
236  double getArcLength2DBackOffset(const AFromHits& fromHits, const AToHits& toHits) const
237  {
238  const Vector2D& fromRecoPos2D = fromHits.back().getRecoPos2D();
239  const Vector2D& toRecoPos2D = toHits.back().getRecoPos2D();
240  return calcArcLength2DBetween(fromRecoPos2D, toRecoPos2D);
241  }
242 
245  template <class AHits>
246  double getTotalArcLength2D(const AHits& hits) const
247  {
248  Vector2D frontRecoPos2D = hits.front().getRecoPos2D();
249  Vector2D backRecoPos2D = hits.back().getRecoPos2D();
250  return calcArcLength2DBetween(frontRecoPos2D, backRecoPos2D);
251  }
252 
262  double calcArcLength2D(const Vector2D& point) const
263  {
264  return getLocalCircle()->arcLengthBetween(Vector2D(0.0, 0.0), point - getLocalOrigin());
265  }
266 
275  double calcArcLength2DBetween(const Vector2D& fromPoint, const Vector2D& toPoint) const
276  {
277  return getLocalCircle()->arcLengthBetween(fromPoint - getLocalOrigin(),
278  toPoint - getLocalOrigin());
279  }
281  double getArcLength2DPeriod() const
282  {
284  }
285 
286  public:
288  void setPosMom2D(const Vector2D& pos2D, const Vector2D& mom2D, double charge);
289 
291  ESign getChargeSign() const;
292 
294  double getAbsMom2D(double bZ) const;
295 
297  double getAbsMom2D() const;
298 
300  Vector2D getMom2DAtSupport(const double bZ) const
301  {
303  }
304 
307  {
309  }
310 
312  Vector2D getFlightDirection2D(const Vector2D& point) const
313  {
315  }
316 
319  {
321  }
322 
325  bool isMovingOutward() const
326  {
328  }
329 
331  Vector2D getPos2DAtArcLength2D(double arcLength2D)
332  {
333  return getLocalOrigin() + getLocalCircle()->atArcLength(arcLength2D);
334  }
335 
337  Vector2D getSupport() const
338  {
340  }
341 
343  Vector2D getGlobalPerigee() const
344  {
346  }
347 
349  Vector2D getGlobalCenter() const
350  {
352  }
353 
362  Vector2D getOuterExit(double factor = 1) const;
363 
371  Vector2D getInnerExit() const;
372 
381  Vector2D getExit() const;
382 
385  bool isCurler(double factor = 1) const;
386 
389  bool isOriginer(double factor = 1) const;
390 
392  double getMaximalCylindricalR() const
393  {
394  return std::fabs(getGlobalImpact() + 2 * getLocalCircle()->radius());
395  }
396 
399  double getMinimalCylindricalR() const
400  {
401  return std::fabs(getGlobalImpact());
402  }
403 
405  double getGlobalImpact() const
406  {
408  }
409 
411  double getDist2D(const Vector2D& point) const
412  {
413  return getLocalCircle()->distance(point - getLocalOrigin());
414  }
415 
417  ERightLeft isRightOrLeft(const Vector2D& point) const
418  {
420  }
421 
422  public:
424  double getCurvature() const
425  {
426  return getLocalCircle()->curvature();
427  }
428 
431  {
432  return getLocalCircle().covariance(iRow, iCol);
433  }
434 
437  double getLocalVariance(EPerigeeParameter i) const
438  {
439  return getLocalCircle().variance(i);
440  }
441 
444  {
446  result.passiveMoveBy(-getLocalOrigin());
447  return result;
448  }
449 
451  void setGlobalCircle(const UncertainPerigeeCircle& perigeeCircle)
452  {
453  m_localPerigeeCircle = perigeeCircle;
455  }
456 
459  {
460  return m_localPerigeeCircle;
461  }
462 
464  double getPValue() const
465  {
466  return TMath::Prob(getChi2(), getNDF());
467  }
468 
470  double getChi2() const
471  {
472  return getLocalCircle().chi2();
473  }
474 
476  void setChi2(const double chi2)
477  {
479  }
480 
482  size_t getNDF() const
483  {
484  return getLocalCircle().ndf();
485  }
486 
488  void setNDF(std::size_t ndf)
489  {
491  }
492 
494  void setLocalCircle(const UncertainPerigeeCircle& localPerigeeCircle)
495  {
496  m_localPerigeeCircle = localPerigeeCircle;
497  }
498 
500  const Vector2D& getLocalOrigin() const
501  {
503  }
504 
521  double setLocalOrigin(const Vector2D& localOrigin);
522 
524  double getFlightTime() const
525  {
526  return m_flightTime;
527  }
528 
530  void setFlightTime(double flightTime)
531  {
532  m_flightTime = flightTime;
533  }
534 
535  private:
538 
541 
543  double m_flightTime = NAN;
544  };
545 
547  std::ostream& operator<<(std::ostream& output, const CDCTrajectory2D& trajectory2D);
548  }
550 }
Belle2::TrackFindingCDC::CDCTrajectory2D::getAxialISuperLayerAfterStart
ISuperLayer getAxialISuperLayerAfterStart(EForwardBackward forwardBackwardInfo) const
Indicates which axial superlayer is traversed after the one, where the start point of the trajectory ...
Definition: CDCTrajectory2D.cc:220
Belle2::TrackFindingCDC::CDCTrajectory2D::getGlobalPerigee
Vector2D getGlobalPerigee() const
Getter for the closest approach on the trajectory to the global origin.
Definition: CDCTrajectory2D.h:351
Belle2::TrackFindingCDC::CDCTrajectory2D::isOriginer
bool isOriginer(double factor=1) const
Checks if the trajectory intersects with the inner radius of the CDC time the given tolerance factor.
Definition: CDCTrajectory2D.cc:273
Belle2::TrackFindingCDC::CDCTrajectory2D::getAbsMom2D
double getAbsMom2D() const
Get the estimation for the absolute value of the transvers momentum.
Definition: CDCTrajectory2D.cc:290
Belle2::TrackFindingCDC::CDCTrajectory2D::getPValue
double getPValue() const
Getter for p-value.
Definition: CDCTrajectory2D.h:472
Belle2::TrackFindingCDC::CDCTrajectory2D::getArcLength2DFrontOffset
double getArcLength2DFrontOffset(const AFromHits &fromHits, const AToHits &toHits) const
Calculates the perpendicular travel distance from the first position of the fromHits to the first pos...
Definition: CDCTrajectory2D.h:232
Belle2::TrackFindingCDC::CDCTrajectory2D::getTotalArcLength2D
double getTotalArcLength2D(const AHits &hits) const
Calculates the perpendicular travel distance from the first position of the hits to the last position...
Definition: CDCTrajectory2D.h:254
Belle2::TrackFindingCDC::PerigeeCircle::tangential
Vector2D tangential(const Vector2D &point) const
Tangential vector to the circle near the given position.
Definition: PerigeeCircle.h:290
Belle2::Vector3D
HepGeom::Vector3D< double > Vector3D
3D Vector
Definition: Cell.h:35
Belle2::TrackFindingCDC::CDCTrajectory2D::setFlightTime
void setFlightTime(double flightTime)
Setter for the time when the particle reached the support point position.
Definition: CDCTrajectory2D.h:538
Belle2::TrackFindingCDC::UncertainPerigeeCircle::setChi2
void setChi2(const double chi2)
Setter for the chi square value of the circle fit.
Definition: UncertainPerigeeCircle.h:190
Belle2::operator<<
std::ostream & operator<<(std::ostream &output, const IntervalOfValidity &iov)
Definition: IntervalOfValidity.cc:196
Belle2::TrackFindingCDC::CDCTrajectory2D::getMaximalCylindricalR
double getMaximalCylindricalR() const
Getter for the maximal distance from the origin.
Definition: CDCTrajectory2D.h:400
Belle2::TrackFindingCDC::CDCTrajectory2D::getOuterExit
Vector2D getOuterExit(double factor=1) const
Calculates the point where the trajectory meets the outer wall of the CDC.
Definition: CDCTrajectory2D.cc:316
Belle2::TrackFindingCDC::CDCTrajectory2D::getGlobalImpact
double getGlobalImpact() const
Getter for the signed impact parameter of the trajectory.
Definition: CDCTrajectory2D.h:413
Belle2::TrackFindingCDC::CDCTrajectory2D::getMinimalISuperLayer
ISuperLayer getMinimalISuperLayer() const
Indicates the minimal superlayer the trajectory traverses.
Definition: CDCTrajectory2D.cc:261
Belle2::TrackFindingCDC::CDCTrajectory2D::getNDF
size_t getNDF() const
Getter for the number of degrees of freedom of the circle fit.
Definition: CDCTrajectory2D.h:490
Belle2::TrackFindingCDC::NPerigeeParameterIndices::EPerigeeParameter
EPerigeeParameter
Enumeration to address the individual perigee parameters in a vector or matrix.
Definition: PerigeeParameters.h:34
Belle2::TrackFindingCDC::Vector2D
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
Definition: Vector2D.h:37
Belle2::TrackFindingCDC::CDCTrajectory2D::getLocalCircle
const UncertainPerigeeCircle & getLocalCircle() const
Getter for the cirlce in local coordinates.
Definition: CDCTrajectory2D.h:466
Belle2::TrackFindingCDC::CDCTrajectory2D::getNextISuperLayer
ISuperLayer getNextISuperLayer() const
Indicates which superlayer the trajectory traverses after the one, where the start point of the traje...
Definition: CDCTrajectory2D.cc:210
Belle2::TrackFindingCDC::UncertainPerigeeCircle::ndf
std::size_t ndf() const
Getter for the number of degrees of freediom used in the circle fit.
Definition: UncertainPerigeeCircle.h:196
Belle2::TrackFindingCDC::CDCTrajectory2D::reverse
void reverse()
Reverses the trajectory in place.
Definition: CDCTrajectory2D.cc:97
Belle2::TrackFindingCDC::PerigeeCircle::atArcLength
Vector2D atArcLength(double arcLength) const
Calculates the point, which lies at the give perpendicular travel distance (counted from the perigee)
Definition: PerigeeCircle.cc:118
Belle2::TrackFindingCDC::CDCTrajectory2D::getChargeSign
ESign getChargeSign() const
Gets the charge sign of the trajectory.
Definition: CDCTrajectory2D.cc:280
Belle2::TrackFindingCDC::CDCTrajectory2D::reversed
CDCTrajectory2D reversed() const
Returns the reverse trajectory as a copy.
Definition: CDCTrajectory2D.cc:104
Belle2::TrackFindingCDC::CDCTrajectory2D::getMom2DAtSupport
Vector2D getMom2DAtSupport() const
Get the momentum at the support point of the trajectory.
Definition: CDCTrajectory2D.h:314
Belle2::TrackFindingCDC::CDCTrajectory2D::getStartISuperLayer
ISuperLayer getStartISuperLayer() const
Indicates the superlayer the trajectory starts in.
Definition: CDCTrajectory2D.cc:255
Belle2::TrackFindingCDC::CDCTrajectory2D::setLocalOrigin
double setLocalOrigin(const Vector2D &localOrigin)
Setter for the origin of the local coordinate system.
Definition: CDCTrajectory2D.cc:357
Belle2::TrackFindingCDC::PerigeeCircle::arcLengthBetween
double arcLengthBetween(const Vector2D &from, const Vector2D &to) const
Calculates the arc length between two points of closest approach on the circle.
Definition: PerigeeCircle.cc:246
Belle2::TrackFindingCDC::CDCTrajectory2D::getCurvature
double getCurvature() const
Getter for the curvature as seen from the xy projection.
Definition: CDCTrajectory2D.h:432
Belle2::TrackFindingCDC::CDCTrajectory2D::getSupport
Vector2D getSupport() const
Get the support point of the trajectory in global coordinates.
Definition: CDCTrajectory2D.h:345
Belle2::TrackFindingCDC::ESignUtil::ESign
ESign
Enumeration for the distinct sign values of floating point variables.
Definition: ESign.h:37
Belle2::TrackFindingCDC::CDCTrajectory2D::getLocalCovariance
double getLocalCovariance(EPerigeeParameter iRow, EPerigeeParameter iCol) const
Getter for an individual element of the covariance matrix of the local helix parameters.
Definition: CDCTrajectory2D.h:438
Belle2::TrackFindingCDC::CDCTrajectory2D::setChi2
void setChi2(const double chi2)
Setter for the chi square value of the circle fit.
Definition: CDCTrajectory2D.h:484
Belle2::TrackFindingCDC::UncertainPerigeeCircle::covariance
double covariance(const EPerigeeParameter &iRow, const EPerigeeParameter &iCol) const
Getter for individual elements of the covariance matrix.
Definition: UncertainPerigeeCircle.h:172
Belle2::TrackFindingCDC::NForwardBackward::EForwardBackward
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Definition: EForwardBackward.h:35
Belle2::TrackFindingCDC::CDCTrajectory2D::getClosest
Vector2D getClosest(const Vector2D &point) const
Calculates the closest approach on the trajectory to the given point.
Definition: CDCTrajectory2D.cc:173
Belle2::TrackFindingCDC::CDCTrajectory2D::setGlobalCircle
void setGlobalCircle(const UncertainPerigeeCircle &perigeeCircle)
Setter for the generalized circle that describes the trajectory.
Definition: CDCTrajectory2D.h:459
Belle2::TrackFindingCDC::CDCTrajectory2D::isCurler
bool isCurler(double factor=1) const
Checks if the trajectory leaves the outer radius of the CDC times the given tolerance factor.
Definition: CDCTrajectory2D.cc:267
Belle2::TrackFindingCDC::CDCTrajectory2D::reconstructBoth3D
std::array< Vector3D, 2 > reconstructBoth3D(const WireLine &wireLine, double distance=0.0, double z=0) const
Gives the two three dimensional points where the drift circle touches the wire line.
Definition: CDCTrajectory2D.cc:151
Belle2::TrackFindingCDC::CDCTrajectory2D::getLocalVariance
double getLocalVariance(EPerigeeParameter i) const
Getter for an individual diagonal element of the covariance matrix of the local helix parameters.
Definition: CDCTrajectory2D.h:445
Belle2::TrackFindingCDC::CDCTrajectory2D::getArcLength2DPeriod
double getArcLength2DPeriod() const
Getter for the arc length for one round trip around the trajectory.
Definition: CDCTrajectory2D.h:289
Belle2::TrackFindingCDC::Vector2D::dot
double dot(const Vector2D &rhs) const
Calculates the two dimensional dot product.
Definition: Vector2D.h:172
Belle2::TrackFindingCDC::CDCTrajectory2D::getChi2
double getChi2() const
Getter for the chi2 value of the circle fit.
Definition: CDCTrajectory2D.h:478
Belle2::TrackFindingCDC::CDCTrajectory2D
Particle trajectory as it is seen in xy projection represented as a circle.
Definition: CDCTrajectory2D.h:46
Belle2::TrackFindingCDC::CDCTrajectory2D::getISuperLayerAfter
ISuperLayer getISuperLayerAfter(ISuperLayer iSuperLayer, bool movingOutward) const
Returns which superlayer is traversed after the current one following the trajectory outward or inwar...
Definition: CDCTrajectory2D.cc:178
Belle2::TrackFindingCDC::CDCTrajectory2D::getMinimalCylindricalR
double getMinimalCylindricalR() const
Getter for the minimal distance from the origin - same as absolute value of the impact parameter.
Definition: CDCTrajectory2D.h:407
Belle2::TrackFindingCDC::CDCTrajectory2D::getMaximalISuperLayer
ISuperLayer getMaximalISuperLayer() const
Indicates the maximal superlayer the trajectory traverses.
Definition: CDCTrajectory2D.cc:249
Belle2::TrackFindingCDC::CDCTrajectory2D::setNDF
void setNDF(std::size_t ndf)
Setter for the number of degrees of freedom of the circle fit.
Definition: CDCTrajectory2D.h:496
Belle2::TrackFindingCDC::CDCTrajectory2D::setLocalCircle
void setLocalCircle(const UncertainPerigeeCircle &localPerigeeCircle)
Setter for the generalized circle that describes the trajectory.
Definition: CDCTrajectory2D.h:502
Belle2::TrackFindingCDC::UncertainPerigeeCircle::passiveMoveBy
void passiveMoveBy(const Vector2D &by)
Moves the coordinate system by the vector by and calculates the new perigee and its covariance matrix...
Definition: UncertainPerigeeCircle.h:238
Belle2::TrackFindingCDC::CDCTrajectory2D::getLocalOrigin
const Vector2D & getLocalOrigin() const
Getter for the origin of the local coordinate system.
Definition: CDCTrajectory2D.h:508
Belle2::TrackFindingCDC::CDCTrajectory2D::getFlightTime
double getFlightTime() const
Getter for the time when the particle reached the support point position.
Definition: CDCTrajectory2D.h:532
Belle2::TrackFindingCDC::CDCTrajectory2D::m_localOrigin
Vector2D m_localOrigin
Memory for local coordinate origin of the circle representing the trajectory in global coordinates.
Definition: CDCTrajectory2D.h:545
Belle2::TrackFindingCDC::UncertainPerigeeCircle
Adds an uncertainty matrix to the circle in perigee parameterisation.
Definition: UncertainPerigeeCircle.h:39
Belle2::TrackFindingCDC::PerigeeCircle::perigee
Vector2D perigee() const
Getter for the perigee point.
Definition: PerigeeCircle.h:302
Belle2::TrackFindingCDC::CDCTrajectory2D::isRightOrLeft
ERightLeft isRightOrLeft(const Vector2D &point) const
Checks if the given point is to the right or to the left of the trajectory.
Definition: CDCTrajectory2D.h:425
Belle2::TrackFindingCDC::UncertainPerigeeCircle::chi2
double chi2() const
Getter for the chi square value of the circle fit.
Definition: UncertainPerigeeCircle.h:184
Belle2::TrackFindingCDC::CDCTrajectory2D::calcArcLength2DBetween
double calcArcLength2DBetween(const Vector2D &fromPoint, const Vector2D &toPoint) const
Calculate the travel distance between the two given positions Returns the travel distance on the traj...
Definition: CDCTrajectory2D.h:283
Belle2::TrackFindingCDC::PerigeeCircle::center
Vector2D center() const
Getter for the center of the circle. If it was a line both components will be infinity.
Definition: PerigeeCircle.h:308
Belle2::TrackFindingCDC::CDCTrajectory2D::getNextAxialISuperLayer
ISuperLayer getNextAxialISuperLayer() const
Indicates which axial superlayer the trajectory traverses after the one, where the start point of the...
Definition: CDCTrajectory2D.cc:239
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::CDCTrajectory2D::getISuperLayerAfterStart
ISuperLayer getISuperLayerAfterStart(bool movingOutward) const
Returns which superlayer is traversed after the current one following the trajectory outward or inwar...
Definition: CDCTrajectory2D.cc:195
Belle2::TrackFindingCDC::CDCTrajectory2D::getFlightDirection2D
Vector2D getFlightDirection2D(const Vector2D &point) const
Get the unit direction of flight at the given point, where arcLength2D = 0.
Definition: CDCTrajectory2D.h:320
Belle2::TrackFindingCDC::CDCTrajectory2D::m_flightTime
double m_flightTime
Memory for the estimation of the time at which the particle arrived at the support point.
Definition: CDCTrajectory2D.h:551
Belle2::TrackFindingCDC::CDCTrajectory2D::reconstruct3D
Vector3D reconstruct3D(const WireLine &wireLine, double distance=0.0, double z=0) const
Gives the one three dimensional postions within the CDC closest to the given z where the given drift ...
Definition: CDCTrajectory2D.cc:164
Belle2::TrackFindingCDC::UncertainPerigeeCircle::setNDF
void setNDF(std::size_t ndf)
Setter for the number of degrees of freediom used in the circle fit.
Definition: UncertainPerigeeCircle.h:202
Belle2::TrackFindingCDC::UncertainPerigeeCircle::variance
double variance(const EPerigeeParameter &i) const
Getter for individual diagonal elements of the covariance matrix.
Definition: UncertainPerigeeCircle.h:178
Belle2::TrackFindingCDC::PerigeeCircle
Extension of the generalized circle also caching the perigee coordinates.
Definition: PerigeeCircle.h:46
Belle2::TrackFindingCDC::NRightLeft::ERightLeft
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
Definition: ERightLeft.h:35
Belle2::TrackFindingCDC::CDCTrajectory2D::getFlightDirection2DAtSupport
Vector2D getFlightDirection2DAtSupport() const
Get the unit direction of flight at the support point, where arcLength2D = 0.
Definition: CDCTrajectory2D.h:326
Belle2::TrackFindingCDC::CDCTrajectory2D::getInnerExit
Vector2D getInnerExit() const
Calculates the point where the trajectory meets the inner wall of the CDC.
Definition: CDCTrajectory2D.cc:296
Belle2::TrackFindingCDC::CDCTrajectory2D::reconstructZ
double reconstructZ(const WireLine &wireLine, double distance=0.0, double z=0) const
Gives the one z postions within the CDC closest to the given z where the given drift circle on the wi...
Definition: CDCTrajectory2D.cc:134
Belle2::TrackFindingCDC::CDCTrajectory2D::isFitted
bool isFitted() const
Checks if the circle is already set to a valid value.
Definition: CDCTrajectory2D.cc:85
Belle2::TrackFindingCDC::CDCTrajectory2D::reconstructBothZ
std::array< double, 2 > reconstructBothZ(const WireLine &wireLine, double distance=0.0, double z=0) const
Gives the two z postions where the given drift circle on the wire line touches the trajectory.
Definition: CDCTrajectory2D.cc:111
Belle2::TrackFindingCDC::CDCTrajectory2D::getGlobalCenter
Vector2D getGlobalCenter() const
Getter for the center of the trajectory in global coordinates.
Definition: CDCTrajectory2D.h:357
Belle2::TrackFindingCDC::CDCTrajectory2D::getArcLength2DGap
double getArcLength2DGap(const AFromHits &fromHits, const AToHits &toHits) const
Calculates the perpendicular travel distance from the last position of the fromHits to the first posi...
Definition: CDCTrajectory2D.h:220
Belle2::TrackFindingCDC::CDCTrajectory2D::getPreviousAxialISuperLayer
ISuperLayer getPreviousAxialISuperLayer() const
Indicates which axial superlayer the trajectory traverses before the one, where the start point of th...
Definition: CDCTrajectory2D.cc:244
Belle2::TrackFindingCDC::PerigeeCircle::closest
Vector2D closest(const Vector2D &point) const
Calculates the point of closest approach on the circle to the given point.
Definition: PerigeeCircle.cc:317
Belle2::TrackFindingCDC::CDCTrajectory2D::setPosMom2D
void setPosMom2D(const Vector2D &pos2D, const Vector2D &mom2D, double charge)
Setter for start point and momentum at the start point subjected to the charge sign.
Definition: CDCTrajectory2D.cc:346
Belle2::TrackFindingCDC::CDCTrajectory2D::getDist2D
double getDist2D(const Vector2D &point) const
Calculates the distance from the point to the trajectory as seen from the xy projection.
Definition: CDCTrajectory2D.h:419
Belle2::TrackFindingCDC::CDCTrajectory2D::isMovingOutward
bool isMovingOutward() const
Indicates if the trajectory is moving outwards or inwards (to or away from the origin) from the start...
Definition: CDCTrajectory2D.h:333
Belle2::TrackFindingCDC::CDCTrajectory2D::isForwardOrBackwardTo
EForwardBackward isForwardOrBackwardTo(const AHits &hits) const
Calculates if this trajectory and the hits are coaligned Returns:
Definition: CDCTrajectory2D.h:210
Belle2::TrackFindingCDC::CDCTrajectory2D::getArcLength2DBackOffset
double getArcLength2DBackOffset(const AFromHits &fromHits, const AToHits &toHits) const
Calculates the perpendicular travel distance from the last position of the fromHits to the last posit...
Definition: CDCTrajectory2D.h:244
Belle2::TrackFindingCDC::CDCTrajectory2D::getExit
Vector2D getExit() const
Calculates the point where the trajectory leaves the CDC.
Definition: CDCTrajectory2D.cc:336
Belle2::TrackFindingCDC::CDCTrajectory2D::getPos2DAtArcLength2D
Vector2D getPos2DAtArcLength2D(double arcLength2D)
Getter for the position at a given two dimensional arc length.
Definition: CDCTrajectory2D.h:339
Belle2::TrackFindingCDC::PerigeeCircle::isRightOrLeft
ERightLeft isRightOrLeft(const Vector2D &point) const
Indicates if the point is on the right or left side of the circle.
Definition: PerigeeCircle.h:254
Belle2::TrackFindingCDC::PerigeeCircle::distance
double distance(const Vector2D &point) const
Getter for the proper signed distance of the point to the circle.
Definition: PerigeeCircle.h:220
Belle2::TrackFindingCDC::PerigeeCircle::curvature
double curvature() const
Getter for the signed curvature.
Definition: PerigeeCircle.h:426
Belle2::TrackFindingCDC::CDCTrajectory2D::m_localPerigeeCircle
UncertainPerigeeCircle m_localPerigeeCircle
Memory for the generalized circle describing the trajectory in coordinates from the local origin.
Definition: CDCTrajectory2D.h:548
Belle2::TrackFindingCDC::CDCTrajectory2D::calcArcLength2D
double calcArcLength2D(const Vector2D &point) const
Calculate the travel distance from the start position of the trajectory.
Definition: CDCTrajectory2D.h:270
Belle2::TrackFindingCDC::PerigeeCircle::arcLengthPeriod
double arcLengthPeriod() const
Getter for the arc length for a full round of the circle.
Definition: PerigeeCircle.h:332
Belle2::TrackFindingCDC::CDCTrajectory2D::clear
void clear()
Clears all information from this trajectoy.
Definition: CDCTrajectory2D.cc:90
Belle2::TrackFindingCDC::CDCTrajectory2D::getGlobalCircle
PerigeeCircle getGlobalCircle() const
Getter for the circle in global coordinates.
Definition: CDCTrajectory2D.h:451
Belle2::TrackFindingCDC::CDCTrajectory2D::getPreviousISuperLayer
ISuperLayer getPreviousISuperLayer() const
Indicates which superlayer the trajectory traverses before the one, where the start point of the traj...
Definition: CDCTrajectory2D.cc:215
Belle2::TrackFindingCDC::CDCTrajectory2D::CDCTrajectory2D
CDCTrajectory2D()
Default constructor for ROOT compatibility.
Definition: CDCTrajectory2D.cc:39