1#ifndef __JFIT__JMATRIXNZ__
2#define __JFIT__JMATRIXNZ__
16namespace JPP {
using namespace JFIT; }
66 set(pos, __begin, __end, alpha, sigma);
95 const int N =
distance(__begin, __end);
100 const double ta = alpha * PI / 180.0;
101 const double ct = cos(ta);
102 const double st = sin(ta);
107 for (T i = __begin; i != __end; ++i) {
109 const double dx = i->getX() - pos.
getX();
110 const double dy = i->getY() - pos.
getY();
111 const double dz = i->getZ() - pos.
getZ();
113 const double R = sqrt(dx*dx + dy*dy);
115 double x = ta * getKappaC() * getInverseSpeedOfLight();
116 double y = ta * getKappaC() * getInverseSpeedOfLight();
117 double v = ta * getInverseSpeedOfLight();
118 double w = ta * getInverseSpeedOfLight();
125 x *= (dz*ct - dx*st);
126 y *= (dz*ct - dy*st);
127 v *= -(dx*ct + dz*st);
128 w *= -(dy*ct + dz*st);
133 for (
int i = 0; i != N; ++i) {
135 for (
int j = 0; j != i; ++j) {
137 (*this)(j, i) = (*
this)(i, j);
198 return (first.
x * second.
x +
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Determination of the co-variance matrix of hits for a track along z-axis (JFIT::JLine1Z).
std::vector< variance > buffer
void set(const JVector3D &pos, T __begin, T __end, const double alpha, const double sigma)
Set co-variance matrix.
static double getDot(const variance &first, const variance &second)
Get dot product.
JMatrixNZ(const JVector3D &pos, T __begin, T __end, const double alpha, const double sigma)
Constructor.
JMatrixNZ()
Default contructor.
Data structure for vector in three dimensions.
double getY() const
Get y position.
double getZ() const
Get z position.
double getX() const
Get x position.
Auxiliary classes and methods for linear and iterative data regression.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for co-variance calculation.
variance(const double __x, const double __y, const double __v, const double __w)
Constructor.
variance()
Default constructor.
double getDot(const JVectorND &v) const
Get dot product.