 |
Belle II Software
release-05-01-25
|
14 #ifndef TRGCDCHelix_FLAG_
15 #define TRGCDCHelix_FLAG_
18 #include "CLHEP/Matrix/Vector.h"
19 #include "CLHEP/Matrix/SymMatrix.h"
20 #include "CLHEP/Vector/ThreeVector.h"
21 #include "CLHEP/Vector/LorentzVector.h"
22 #include "CLHEP/Geometry/Point3D.h"
24 #ifdef TRGCDC_SHORT_NAMES
25 #define TCHelix TRGCDCHelix
40 const CLHEP::HepVector&
a,
41 const CLHEP::HepSymMatrix&
Ea);
45 const CLHEP::HepVector&
a);
70 double*
x(
double dPhi,
double p[3])
const;
76 CLHEP::Hep3Vector
direction(
double dPhi = 0.)
const;
79 CLHEP::Hep3Vector
momentum(
double dPhi = 0.)
const;
82 CLHEP::Hep3Vector
momentum(
double dPhi, CLHEP::HepSymMatrix& Em)
const;
85 CLHEP::HepLorentzVector
momentum(
double dPhi,
double mass)
const;
88 CLHEP::HepLorentzVector
momentum(
double dPhi,
double mass, CLHEP::HepSymMatrix& Em)
const;
96 double dr(
void)
const;
99 double phi0(
void)
const;
102 double kappa(
void)
const;
105 double dz(
void)
const;
108 double tanl(
void)
const;
111 double curv(
void)
const;
120 const CLHEP::HepVector&
a(
void)
const;
123 const CLHEP::HepSymMatrix&
Ea(
void)
const;
127 const CLHEP::HepVector&
a(
const CLHEP::HepVector& newA);
130 const CLHEP::HepSymMatrix&
Ea(
const CLHEP::HepSymMatrix& newdA);
137 const CLHEP::HepVector&
a,
138 const CLHEP::HepSymMatrix&
Ea);
150 static void set_limits(
const CLHEP::HepVector& a_min,
151 const CLHEP::HepVector& a_max);
178 CLHEP::HepMatrix
delApDelA(
const CLHEP::HepVector& ap)
const;
180 CLHEP::HepMatrix
delXDelA(
double phi)
const;
182 CLHEP::HepMatrix
delMDelA(
double phi)
const;
184 CLHEP::HepMatrix
del4MDelA(
double phi,
double mass)
const;
186 CLHEP::HepMatrix
del4MXDelA(
double phi,
double mass)
const;
310 const CLHEP::HepVector&
317 const CLHEP::HepSymMatrix&
324 const CLHEP::HepVector&
327 if (i.num_row() == 5) {
336 const CLHEP::HepSymMatrix&
double m_alpha
alpha parameter
double phi0(void) const
returns phi0.
const CLHEP::HepSymMatrix & Ea(void) const
returns error matrix.
const HepGeom::Point3D< double > & center(void) const
returns position of helix center(z = 0.);
static bool ms_throw_exception
throw exception or not
static const double ConstantAlpha
Constant alpha for uniform field.
HepGeom::Point3D< double > m_center
caches
double sinPhi0(void) const
returns sin(phi0).
static void set_limits(const CLHEP::HepVector &a_min, const CLHEP::HepVector &a_max)
set limits for helix parameters
void checkValid(void)
check validity
virtual ~TRGCDCHelix()
Destructor.
double kappa(void) const
returns kappa.
CLHEP::Hep3Vector momentum(double dPhi=0.) const
returns momentum vector after rotating angle dPhi in phi direction.
static bool ms_check_range
range in checked or not
void updateCache(void)
update Caches
CLHEP::HepSymMatrix m_Ea
Ea HepSymMatrix parameter.
static bool set_exception(bool)
set to throw exception or not
TRGCDCHelix parameter class.
TRGCDCHelix & operator=(const TRGCDCHelix &)
Copy operator.
double radius(void) const
returns radious of helix.
static bool ms_print_debug
print debug info or not
CLHEP::HepMatrix delMDelA(double phi) const
Mathmatical functions.
TRGCDCHelix(const HepGeom::Point3D< double > &pivot, const CLHEP::HepVector &a, const CLHEP::HepSymMatrix &Ea)
Constructor with pivot, helix parameter a, and its error matrix.
Abstract base class for different kinds of events.
double cosPhi0(void) const
return cos(phi0).
double m_bField
magnetic field
static bool set_print(bool)
set to print debug info or not
void debugPrint(void) const
print debug info
bool m_helixValid
helix validity
double dr(void) const
returns dr.
double curv(void) const
returns curvurture.
static CLHEP::HepVector ms_amin
limits for helix parameters
CLHEP::HepMatrix delApDelA(const CLHEP::HepVector &ap) const
Mathmatical functions.
double tanl(void) const
returns tanl.
double bFieldZ(void) const
returns z componet of the magnetic field.
double dz(void) const
returns dz.
CLHEP::HepMatrix del4MXDelA(double phi, double mass) const
Mathmatical functions.
void debugTRGCDCHelix(void) const
function not defined
CLHEP::HepVector m_a
a HepVector parameter
HepGeom::Point3D< double > x(double dPhi=0.) const
returns position after rotating angle dPhi in phi direction.
static CLHEP::HepVector ms_amax
limits for helix parameters
CLHEP::HepMatrix delXDelA(double phi) const
Mathmatical functions.
const CLHEP::HepVector & a(void) const
returns helix parameters.
static const std::string invalidhelix
string of invalid helix
CLHEP::Hep3Vector direction(double dPhi=0.) const
returns direction vector after rotating angle dPhi in phi direction.
CLHEP::HepMatrix del4MDelA(double phi, double mass) const
Mathmatical functions.
void set(const HepGeom::Point3D< double > &pivot, const CLHEP::HepVector &a, const CLHEP::HepSymMatrix &Ea)
sets helix pivot position, parameters, and error matrix.
HepGeom::Point3D< double > m_pivot
pivot
const HepGeom::Point3D< double > & pivot(void) const
returns pivot position.
void ignoreErrorMatrix(void)
unsets error matrix. Error calculations will be ignored after this function call until an error matri...
bool m_matrixValid
matrix validity