1 #ifndef __JCOMPASS_JMODEL__
2 #define __JCOMPASS_JMODEL__
79 const int N =
distance(__begin, __end);
85 for (T q = __begin, p = q++; q != __end; ++p, ++q) {
87 const double dz = q->getZ() - p->getZ();
94 Q.
mul(q->getQuaternion());
Maximum likelihood estimator (M-estimators).
Base class for data structures with artithmetic capabilities.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Data structure for unit quaternion in three dimensions.
JQuaternion3D & conjugate()
Conjugate quaternion.
const JQuaternion3D & getQuaternion() const
Get quaternion.
JQuaternion3D & pow(const double y)
Raise quaternion to given power.
JQuaternion3D & normalise()
Normalise quaternion.
JQuaternion3D & mul(const double factor)
Scale quaternion.
The template JSharedPointer class can be used to share a pointer to an object.
Exception for accessing a value in a collection that is outside of its range.
Auxiliary classes and methods for orientation calibration based on compasses.
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
double getAngle(const JQuaternion3D &first, const JQuaternion3D &second)
Get space angle between quanternions.
static const JVector3D JVector3Z_t(0, 0, 1)
unit z-vector
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values.
T pow(const T &x, const double y)
Power .
std::iterator_traits< T >::value_type getAverage(T __begin, T __end)
Get average.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for chi2 evaluation.
double operator()(const JModel &model, const JHit &hit) const
Fit function.
JChi2(const int type)
Constructor.
JLANG::JSharedPointer< JMEstimator > estimator
M-Estimator function.
double getSigma() const
Get resolution.
double getZ() const
Get z-position.
JModel & sub(const JModel &model)
Subtract model.
JModel & mul(const double factor)
Scale model.
JQuaternion3D operator()(const double z) const
Get quaternion at given z-position.
JModel(T __begin, T __end)
Constructor.
static const int NUMBER_OF_PARAMETERS
number of parameters of fit per quaternion
JModel & add(const JModel &model)
Add model.
JModel()
Default constructor.
JModel(const JQuaternion3D &Q0, const JQuaternion3D &Q1)
Constructor.
Interface for maximum likelihood estimator (M-estimator).
Auxiliary data structure for decomposition of quaternion in twist and swing quaternions.
JQuaternion3D twist
rotation around parallel axis
Auxiliary base class for aritmetic operations of derived class types.