|
Jpp 20.0.0-rc.3
the software that should make you happy
|
Linear fit of bright point (position and time) between hits (objects with position and time). More...
#include <JPoint4DEstimator.hh>
Public Types | |
| typedef double JPoint4D::* | parameter_type |
Public Member Functions | |
| JEstimator () | |
| Fit constructor. | |
| template<class T > | |
| JEstimator (T __begin, T __end) | |
| Fit constructor. | |
| template<class T > | |
| void | operator() (T __begin, T __end) |
| Fit function. | |
| const JVertex3D & | getVertex () const |
| Get vertex. | |
| JVertex3D & | negate () |
| Prefix unary minus. | |
| JVertex3D & | add (const JVertex3D &value) |
| Addition operator. | |
| JTime & | add (const JTime &value) |
| Addition operator. | |
| JVector3D & | add (const JVector3D &vector) |
| Add vector. | |
| JVertex3D & | sub (const JVertex3D &value) |
| Subtraction operator. | |
| JTime & | sub (const JTime &value) |
| Subtraction operator. | |
| JVector3D & | sub (const JVector3D &vector) |
| Subtract vector. | |
| JVertex3D & | mul (const double value) |
| Multiplication operator. | |
| JFirst_t & | mul (const JSecond_t &object) |
| Multiply with object. | |
| JFirst_t & | mul (const JSecond_t &object) |
| Multiply with object. | |
| JVertex3D & | div (const double value) |
| Division operator. | |
| double | getT (const JVector3D &pos) const |
| Get arrival time of Cherenkov light at given position. | |
| double | getT () const |
| Get time. | |
| JVersor3D | getDirection (const JVector3D &pos) const |
| Get photon direction of Cherenkov light on PMT. | |
| double | getDot (const JAxis3D &axis) const |
| Get cosine angle of impact of Cherenkov light on PMT. | |
| double | getDot (const JAngle3D &angle) const |
| Get dot product. | |
| double | getDot (const JVersor3D &dir) const |
| Get dot product. | |
| double | getDot (const JVersor3Z &dir) const |
| Get dot product. | |
| double | getDot (const JVector3D &vector) const |
| Get dot product. | |
| const JPosition3D & | getPosition () const |
| Get position. | |
| JPosition3D & | getPosition () |
| Get position. | |
| void | setPosition (const JVector3D &pos) |
| Set position. | |
| operator JAngle3D () const | |
| Type conversion operator. | |
| operator JVersor3D () const | |
| Type conversion operator. | |
| JPosition3D & | rotate (const JRotation3D &R) |
| Rotate. | |
| JPosition3D & | rotate (const JRotation3X &R) |
| Rotate around X-axis. | |
| JPosition3D & | rotate (const JRotation3Y &R) |
| Rotate around Y-axis. | |
| JPosition3D & | rotate (const JRotation3Z &R) |
| Rotate around Z-axis. | |
| JPosition3D & | rotate (const JQuaternion3D &Q) |
| Rotate. | |
| JPosition3D & | rotate_back (const JRotation3D &R) |
| Rotate back. | |
| JPosition3D & | rotate_back (const JRotation3X &R) |
| Rotate back around X-axis. | |
| JPosition3D & | rotate_back (const JRotation3Y &R) |
| Rotate back around Y-axis. | |
| JPosition3D & | rotate_back (const JRotation3Z &R) |
| Rotate back around Z-axis. | |
| JPosition3D & | rotate_back (const JQuaternion3D &Q) |
| Rotate back. | |
| void | transform (const JRotation3D &R, const JVector3D &pos) |
| Transform position. | |
| JVector3D & | transform (const JMatrix3D &T) |
| Transform. | |
| void | transform_back (const JRotation3D &R, const JVector3D &pos) |
| Transform back position. | |
| operator JVector2D () const | |
| Type conversion operator. | |
| double | getX () const |
| Get x position. | |
| double | getY () const |
| Get y position. | |
| double | getZ () const |
| Get z position. | |
| bool | equals (const JVector3D &vector, const double precision=std::numeric_limits< double >::min()) const |
| Check equality. | |
| double | getLengthSquared () const |
| Get length squared. | |
| double | getLength () const |
| Get length. | |
| double | getDistanceSquared (const JVector3D &pos) const |
| Get squared of distance to point. | |
| double | getDistance (const JVector3D &pos) const |
| Get distance to point. | |
| JVector3D & | getCross (const JVector3D &first, const JVector3D &second) |
| Get cross product. | |
| void | setT (const double time) |
| Set time. | |
Static Public Member Functions | |
| static parameter_type | pX () |
| static parameter_type | pY () |
| static parameter_type | pZ () |
| static parameter_type | pT () |
Public Attributes | |
| JMATH::JMatrix4S | V |
| co-variance matrix of fit parameters | |
Static Public Attributes | |
| static const int | NUMBER_OF_PARAMETERS = 4 |
| number of parameters of fit | |
Protected Attributes | |
| double | __x |
| double | __y |
| double | __z |
| double | __t |
Linear fit of bright point (position and time) between hits (objects with position and time).
![\begin{center}\setlength{\unitlength}{0.6cm}\begin{picture}(12,7)
\put( 6.0, 1.0){\circle*{0.3}}
\put( 6.0, 0.0){\makebox(0,0)[b]{$(x_{0},y_{0},z_{0})$}}
\multiput(6.0, 1.0)(-0.5, 0.5){10}{\qbezier(0.0,0.0)(+0.1,0.35)(-0.25,0.25)\qbezier(-0.25,0.25)(-0.6,0.15)(-0.5,0.5)}
\put( 1.0, 6.0){\circle*{0.2}}
\put( 1.0, 6.5){\makebox(0,0)[b]{$(x_i,y_i,z_i,t_i)$}}
\multiput(6.0, 1.0)( 0.5, 0.5){10}{\qbezier(0.0,0.0)(0.35,-0.1)( 0.25,0.25)\qbezier( 0.25,0.25)(0.15, 0.6)( 0.5,0.5)}
\put(11.0, 6.0){\circle*{0.2}}
\put(11.0, 6.5){\makebox(0,0)[b]{$(x_j,y_j,z_j,t_j)$}}
\end{picture}
\end{center}](form_40.png)
![\[
t_j = t_0 + \frac{c}{n} \times \sqrt((x_j - x_0)^2 + (y_j - y_0)^2 + (z_j - z_0)^2)
\]](form_41.png)
where:

Defining:

![\[
\Rightarrow (t_j' - t_0')^2 = (x_j - x_0)^2 + (y_j - y_0)^2 + (z_j - z_0)^2
\]](form_44.png)
The parameters 




Definition at line 69 of file JPoint4DEstimator.hh.
|
inherited |
Definition at line 56 of file JPoint4D.hh.
|
inline |
|
inline |
Fit constructor.
The template argument T refers to an iterator of a data structure which should have the following member methods:
| __begin | begin of data |
| __end | end of data |
Definition at line 95 of file JPoint4DEstimator.hh.
|
inline |
Fit function.
This method is used to find the vertex of a given set of hits
| __begin | begin of data |
| __end | end of data |
Definition at line 110 of file JPoint4DEstimator.hh.
|
inlinestaticinherited |
Definition at line 58 of file JPoint4D.hh.
|
inlinestaticinherited |
Definition at line 59 of file JPoint4D.hh.
|
inlinestaticinherited |
Definition at line 60 of file JPoint4D.hh.
|
inlinestaticinherited |
Definition at line 61 of file JPoint4D.hh.
|
inlineinherited |
|
inlineinherited |
Prefix unary minus.
Definition at line 86 of file JVertex3D.hh.
Addition operator.
| value | vertex |
Definition at line 100 of file JVertex3D.hh.
Addition operator.
| value | time |
Definition at line 68 of file JGeometry3D/JTime.hh.
Subtraction operator.
| value | vertex |
Definition at line 115 of file JVertex3D.hh.
Subtraction operator.
| value | time |
Definition at line 82 of file JGeometry3D/JTime.hh.
Subtract vector.
| vector | vector |
Definition at line 158 of file JVector3D.hh.
|
inlineinherited |
Multiplication operator.
| value | multiplication factor |
Definition at line 130 of file JVertex3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Division operator.
| value | multiplication factor |
Definition at line 145 of file JVertex3D.hh.
|
inlineinherited |
Get arrival time of Cherenkov light at given position.
| pos | position [m] |
Definition at line 160 of file JVertex3D.hh.
|
inlineinherited |
Get photon direction of Cherenkov light on PMT.
| pos | PMT position |
Definition at line 174 of file JVertex3D.hh.
|
inlineinherited |
Get cosine angle of impact of Cherenkov light on PMT.
| axis | PMT axis |
Definition at line 190 of file JVertex3D.hh.
|
inlineinherited |
Get dot product.
| angle | angle |
Definition at line 378 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
| dir | direction |
Definition at line 393 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
| dir | direction |
Definition at line 408 of file JPosition3D.hh.
|
inlineinherited |
Get dot product.
| vector | vector |
Definition at line 282 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Rotate.
| R | rotation matrix |
Definition at line 186 of file JPosition3D.hh.
|
inlineinherited |
Rotate around X-axis.
| R | rotation matrix |
Definition at line 214 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Y-axis.
| R | rotation matrix |
Definition at line 242 of file JPosition3D.hh.
|
inlineinherited |
Rotate around Z-axis.
| R | rotation matrix |
Definition at line 270 of file JPosition3D.hh.
|
inlineinherited |
|
inlineinherited |
Rotate back.
| R | rotation matrix |
Definition at line 200 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around X-axis.
| R | rotation matrix |
Definition at line 228 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Y-axis.
| R | rotation matrix |
Definition at line 256 of file JPosition3D.hh.
|
inlineinherited |
Rotate back around Z-axis.
| R | rotation matrix |
Definition at line 284 of file JPosition3D.hh.
|
inlineinherited |
Rotate back.
| Q | quaternion |
Definition at line 312 of file JPosition3D.hh.
|
inlineinherited |
Transform position.
The final position is obtained as follows:
| R | rotation matrix |
| pos | position of origin (after rotation) |
Definition at line 331 of file JPosition3D.hh.
|
inlineinherited |
Transform back position.
The final position is obtained as follows:
| R | rotation matrix |
| pos | position of origin (before rotation) |
Definition at line 359 of file JPosition3D.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Check equality.
| vector | vector |
| precision | precision |
Definition at line 221 of file JVector3D.hh.
|
inlineinherited |
|
inlineinherited |
Get length.
Definition at line 246 of file JVector3D.hh.
|
inlineinherited |
Get squared of distance to point.
| pos | position |
Definition at line 258 of file JVector3D.hh.
|
inlineinherited |
Get distance to point.
| pos | position |
Definition at line 270 of file JVector3D.hh.
|
inlineinherited |
Get cross product.
Note that this vector should not overlap with the first or second vector,
| first | first vector |
| second | second vector |
Definition at line 299 of file JVector3D.hh.
|
inlineinherited |
|
static |
number of parameters of fit
Definition at line 223 of file JPoint4DEstimator.hh.
co-variance matrix of fit parameters
Definition at line 224 of file JPoint4DEstimator.hh.
|
protectedinherited |
Definition at line 310 of file JVector3D.hh.
|
protectedinherited |
Definition at line 311 of file JVector3D.hh.
|
protectedinherited |
Definition at line 312 of file JVector3D.hh.
|
protectedinherited |
Definition at line 203 of file JGeometry3D/JTime.hh.