 |
Belle II Software
release-05-02-19
|
10 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCBFieldUtil.h>
12 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
14 #include <tracking/trackFindingCDC/numerics/ERotation.h>
15 #include <tracking/trackFindingCDC/numerics/ESign.h>
17 #include <framework/geometry/BFieldManager.h>
19 #include <framework/geometry/B2Vector3.h>
25 using namespace TrackFindingCDC;
31 double c_EarthMagneticField = 3.2e-5 *
Unit::T;
32 return not(b > 5 * c_EarthMagneticField);
55 if (pos3D.
hasNAN())
return NAN;
64 return 1.0 / (bField * TMath::C()) * 1E11;
96 return std::fmin(4440, absMom2D / (bZ * 0.00299792458));
115 return - charge * bZ * 0.00299792458 * std::fmax(0, 1 / absMom2D);
135 return std::fmin(20, std::fabs(bZ * 0.00299792458 / curvature));
static double getAlphaFromBField(double bField)
Translater from magnetic field strength in Tesla to the alpha value.
bool hasNAN() const
Checks if one of the coordinates is NAN.
static ERotation chargeToERotation(double charge)
Conversion help for charges to clockwise or counterclockwise travel.
HepGeom::Vector3D< double > Vector3D
3D Vector
static void getField(const double *pos, double *field)
return the magnetic field at a given position.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
ESign
Enumeration for the distinct sign values of floating point variables.
double x() const
Getter for the x coordinate.
static double absMom2DToCurvature(double absMom2D, double charge, double bZ)
Conversion helper for momenta to two dimensional curvature.
static ESign ccwInfoToChargeSign(ERotation ccwInfo)
Conversion helper from clockwise or counterclockwise travel to the charge sign.
static bool isOff()
Indicator if the magnetic field is off in the current geometry.
static ESign getBFieldZSign()
Getter for the sign of the magnetic field in z direction.
static double curvatureToAbsMom2D(double curvature, double bZ)
Conversion helper for two dimensional curvature to momenta.
static const double T
[tesla]
Abstract base class for different kinds of events.
A three dimensional vector.
double y() const
Getter for the y coordinate.
ERotation
Enumeration to represent the distinct possibilities of the right left passage information.
static double getBFieldZ()
Getter for the signed magnetic field stength in z direction at the origin ( in Tesla )
double z() const
Getter for the z coordinate.
static double getAlphaZ(const Vector2D &pos2D)
Getter for the signed alpha of the magnetic field in z direction.
static double absMom2DToBendRadius(double absMom2D, double bZ)
Conversion helper for momenta to two dimensional (absolute) bend radius.
static ERotation chargeSignToERotation(ESign chargeSign)
Conversion helper from the charge sign to clockwise or counterclockwise travel.