Go to the documentation of this file. 1 #ifndef PixelTrackFitting_RZLine_H
2 #define PixelTrackFitting_RZLine_H
28 template <
typename P,
typename E,
typename B>
34 for (
size_t i = 0;
i <
n; ++
i) {
40 float simpleCot2 =
sqr((
z[
n - 1] -
z[0]) / (
r[
n - 1] -
r[0]));
41 for (
size_t i = 0;
i <
n; ++
i) {
51 RZLine(
const std::vector<float>&
r,
const std::vector<float>&
z,
const std::vector<float>&
errZ) {
52 const size_t n =
errZ.size();
54 for (
size_t i = 0;
i <
n; ++
i)
63 RZLine(
const std::array<float, N>&
r,
const std::array<float, N>&
z,
const std::array<float, N>&
errZ) {
64 std::array<float, N> errZ2;
65 for (
size_t i = 0;
i <
N; ++
i)
97 template <
typename R,
typename Z,
typename E>
99 const size_t n =
r.size();
102 for (
size_t i = 0;
i <
n; ++
i) {
107 template <
typename T>
void calculate(const R &r, const Z &z, const E &errZ2)
void linearFit(T const *__restrict__ x, T const *__restrict__ y, int ndat, T const *__restrict__ sigy2, T &slope, T &intercept, T &covss, T &covii, T &covsi)
#define declareDynArray(T, n, x)
RZLine(const std::vector< float > &r, const std::vector< float > &z, const std::vector< float > &errZ)
RZLine(const P &points, const E &errors, const B &isBarrel)
RZLine(const std::array< float, N > &r, const std::array< float, N > &z, const std::array< float, N > &errZ)
static const std::string B
RZLine(const T &r, const T &z, const T &errZ2, ErrZ2_tag)
std::pair< OmniClusterRef, TrackingParticleRef > P