1 #ifndef __JFIT__JPOINT4DESTIMATOR__
2 #define __JFIT__JPOINT4DESTIMATOR__
15 namespace JPP {
using namespace JFIT; }
98 (*this)(__begin, __end);
111 void operator ()(
T __begin,
T __end)
118 if (
N >= NUMBER_OF_PARAMETERS) {
126 for (
T i = __begin; i != __end; ++i) {
147 double xi = j->getX() - getX();
148 double yi = j->getY() - getY();
149 double zi = j->getZ() - getZ();
154 if ((
done = (++j == __end))) {
158 double xj = j->getX() - getX();
159 double yj = j->getY() - getY();
160 double zj = j->getZ() - getZ();
168 const double y = ((xj + xi) * dx +
211 __x += V.a00 * y0 + V.a01 * y1 + V.a02 * y2 + V.a03 * y3;
212 __y += V.a10 * y0 + V.a11 * y1 + V.a12 * y2 + V.a13 * y3;
213 __z += V.a20 * y0 + V.a21 * y1 + V.a22 * y2 + V.a23 * y3;
214 __t = V.a30 * y0 + V.a31 * y1 + V.a32 * y2 + V.a33 * y3;
220 throw JValueOutOfRange(
"JEstimator<JPoint4D>::operator(): Not enough data points.");
224 static const int NUMBER_OF_PARAMETERS = 4;
JEstimator()
Fit constructor.
JMATH::JMatrix4S V
co-variance matrix of fit parameters
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
double getIndexOfRefraction()
Get average index of refraction of water corresponding to group velocity.
Data structure for vertex fit.
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
Template definition of linear fit.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JEstimator(T __begin, T __end)
Fit constructor.
const double getSpeedOfLight()
Get speed of light.
const double getInverseSpeedOfLight()
Get inverse speed of light.
Exception for accessing a value in a collection that is outside of its range.
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP/tmp/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done