6 constexpr
double dNaN = std::numeric_limits<double>::quiet_NaN();
16 thePosAvailable(
false),
17 theTimeAvailable(
false),
18 theErrAvailable(
false),
19 theWeightAvailable(
false),
20 theWeightTimesPosAvailable(
false),
26 const double& weightInMix)
32 theWeightInMix(weightInMix),
33 thePosAvailable(
true),
34 theTimeAvailable(
false),
35 theErrAvailable(
true),
36 theWeightAvailable(
false),
37 theWeightTimesPosAvailable(
false),
43 const double& weightInMix)
49 theWeightInMix(weightInMix),
50 thePosAvailable(
true),
51 theTimeAvailable(
false),
52 theErrAvailable(
false),
53 theWeightAvailable(
true),
54 theWeightTimesPosAvailable(
false),
60 const double& weightInMix)
65 theWeightTimesPos(weightTimesPosition[0], weightTimesPosition[1], weightTimesPosition[2], 0),
66 theWeightInMix(weightInMix),
67 thePosAvailable(
false),
68 theTimeAvailable(
false),
69 theErrAvailable(
false),
70 theWeightAvailable(
true),
71 theWeightTimesPosAvailable(
true),
80 const double& weightInMix)
86 theWeightInMix(weightInMix),
87 thePosAvailable(
true),
88 theTimeAvailable(
true),
89 theErrAvailable(
true),
90 theWeightAvailable(
false),
91 theWeightTimesPosAvailable(
false),
95 GlobalError timeErrMat(0., 0., 0., 0., 0., 0., 0., 0., 0., timeErr * timeErr);
102 const double timeWeight,
103 const double& weightInMix)
107 theWeight(posWeight),
109 theWeightInMix(weightInMix),
110 thePosAvailable(
true),
111 theTimeAvailable(
true),
112 theErrAvailable(
false),
113 theWeightAvailable(
true),
114 theWeightTimesPosAvailable(
false),
117 GlobalWeight timeWeightMat(0., 0., 0., 0., 0., 0., 0., 0., 0., timeWeight);
123 const double weightTimesTime,
124 const double timeWeight,
125 const double& weightInMix)
129 theWeight(posWeight),
130 theWeightTimesPos(weightTimesPosition[0], weightTimesPosition[1], weightTimesPosition[2], weightTimesTime),
131 theWeightInMix(weightInMix),
132 thePosAvailable(
false),
133 theTimeAvailable(
false),
134 theErrAvailable(
false),
135 theWeightAvailable(
true),
136 theWeightTimesPosAvailable(
true),
139 GlobalWeight timeWeightMat(0., 0., 0., 0., 0., 0., 0., 0., 0., timeWeight);
147 const double& weightInMix)
153 theWeightInMix(weightInMix),
154 thePosAvailable(
true),
155 theTimeAvailable(
true),
156 theErrAvailable(
true),
157 theWeightAvailable(
false),
158 theWeightTimesPosAvailable(
false),
165 const double& weightInMix)
169 theWeight(posTimeWeight),
171 theWeightInMix(weightInMix),
172 thePosAvailable(
true),
173 theTimeAvailable(
true),
174 theErrAvailable(
false),
175 theWeightAvailable(
true),
176 theWeightTimesPosAvailable(
false),
182 const double& weightInMix)
186 theWeight(posWeight),
187 theWeightTimesPos(weightTimesPosition),
188 theWeightInMix(weightInMix),
189 thePosAvailable(
false),
190 theTimeAvailable(
false),
191 theErrAvailable(
false),
192 theWeightAvailable(
true),
193 theWeightTimesPosAvailable(
true),
255 throw VertexException(
"BasicSingleVertexState::weightTimesPosition::invalid");
263 throw VertexException(
"BasicSingleVertexState::weightTimesPosition4D::invalid");
271 throw VertexException(
"BasicSingleVertexState::weightInMixture::invalid");
282 throw VertexException(
"BasicSingleVertexState::computePosition::invalid");
292 throw VertexException(
"BasicSingleVertexState::computeError::invalid");
297 throw VertexException(
"BasicSingleVertexState::could not invert weight matrix");
301 throw VertexException(
"BasicSingleVertexState::could not invert weight matrix");
308 throw VertexException(
"BasicSingleVertexState::computeWeight::invalid");
313 throw VertexException(
"BasicSingleVertexState::could not invert error matrix");
317 throw VertexException(
"BasicSingleVertexState::could not invert error matrix");
324 throw VertexException(
"BasicSingleVertexState::computeWeightTimesPos::invalid");
const AlgebraicSymMatrix33 matrix() const
Global3DPoint GlobalPoint
GlobalErrorBase< double, ErrorMatrixTag > GlobalError
void computeWeight() const
double time() const override
const AlgebraicSymMatrix44 & matrix4D() const
void computePosition() const
GlobalError error() const override
GlobalPoint position() const override
double timeError() const override
ROOT::Math::SMatrix< double, 4, 4, ROOT::Math::MatRepSym< double, 4 > > AlgebraicSymMatrix44
ROOT::Math::SVector< double, 4 > AlgebraicVector4
AlgebraicVector4 weightTimesPosition4D() const override
AlgebraicVector3 weightTimesPosition() const override
void computeError() const
GlobalErrorBase< double, WeightMatrixTag > GlobalWeight
bool theWeightTimesPosAvailable
GlobalError error4D() const override
double weightInMixture() const override
ROOT::Math::SVector< double, 3 > AlgebraicVector3
GlobalWeight weight() const override
GlobalWeight weight4D() const override
void computeWeightTimesPos() const
AlgebraicVector4 theWeightTimesPos