| Jpp
    15.0.1
    the software that should make you happy | 
Linear fit of straight line parallel to z-axis to set of hits (objects with position and time). More...
#include <JLine1ZEstimator.hh>
 
  
 | Public Types | |
| typedef double JLine1Z::* | parameter_type | 
| Public Member Functions | |
| JEstimator () | |
| Default constructor.  More... | |
| template<class T > | |
| JEstimator (T __begin, T __end) | |
| Constructor.  More... | |
| template<class T > | |
| const JEstimator< JLine1Z > & | operator() (T __begin, T __end) | 
| Fit.  More... | |
| template<class T > | |
| void | update (T __begin, T __end, const JMatrixNZ &A) | 
| Update track parameters using updated co-variance matrix (e.g. matrix with one hit switched off).  More... | |
| void | move (const double step, const double velocity) | 
| Move vertex along this line with given velocity.  More... | |
| void | setZ (const double z, const double velocity) | 
| Set z-position of vertex.  More... | |
| double | getDistanceSquared (const JVector3D &pos) const | 
| Get distance squared.  More... | |
| double | getDistance (const JVector3D &pos) const | 
| Get distance.  More... | |
| double | getT (const JVector3D &pos) const | 
| Get arrival time of Cherenkov light at given position.  More... | |
| double | getT () const | 
| Get time.  More... | |
| double | getZ (const JPosition3D &pos) const | 
| Get point of emission of Cherenkov light along muon path.  More... | |
| double | getZ () const | 
| Get z position.  More... | |
| JVersor3D | getDirection (const JVector3D &pos) const | 
| Get photon direction of Cherenkov light on PMT.  More... | |
| double | getDot (const JAxis3D &axis) const | 
| Get cosine angle of impact of Cherenkov light on PMT.  More... | |
| double | getDot (const JAngle3D &angle) const | 
| Get dot product.  More... | |
| double | getDot (const JVersor3D &dir) const | 
| Get dot product.  More... | |
| double | getDot (const JVersor3Z &dir) const | 
| Get dot product.  More... | |
| double | getDot (const JVector3D &vector) const | 
| Get dot product.  More... | |
| JVertex3D & | negate () | 
| Prefix unary minus.  More... | |
| JVertex3D & | add (const JVertex3D &value) | 
| Addition operator.  More... | |
| JVector3D & | add (const JVector3D &vector) | 
| Add vector.  More... | |
| JTime & | add (const JTime &value) | 
| Addition operator.  More... | |
| JVertex3D & | sub (const JVertex3D &value) | 
| Subtraction operator.  More... | |
| JVector3D & | sub (const JVector3D &vector) | 
| Subtract vector.  More... | |
| JTime & | sub (const JTime &value) | 
| Subtraction operator.  More... | |
| JVertex3D & | mul (const double value) | 
| Multiplication operator.  More... | |
| JFirst_t & | mul (const JSecond_t &object) | 
| Multiply with object.  More... | |
| JFirst_t & | mul (const JSecond_t &object) | 
| Multiply with object.  More... | |
| JVertex3D & | div (const double value) | 
| Division operator.  More... | |
| const JPosition3D & | getPosition () const | 
| Get position.  More... | |
| JPosition3D & | getPosition () | 
| Get position.  More... | |
| void | setPosition (const JVector3D &pos) | 
| Set position.  More... | |
| operator JAngle3D () const | |
| Type conversion operator.  More... | |
| operator JVersor3D () const | |
| Type conversion operator.  More... | |
| JPosition3D & | rotate (const JRotation3D &R) | 
| Rotate.  More... | |
| JPosition3D & | rotate (const JRotation3X &R) | 
| Rotate around X-axis.  More... | |
| JPosition3D & | rotate (const JRotation3Y &R) | 
| Rotate around Y-axis.  More... | |
| JPosition3D & | rotate (const JRotation3Z &R) | 
| Rotate around Z-axis.  More... | |
| JPosition3D & | rotate (const JQuaternion3D &Q) | 
| Rotate.  More... | |
| JPosition3D & | rotate_back (const JRotation3D &R) | 
| Rotate back.  More... | |
| JPosition3D & | rotate_back (const JRotation3X &R) | 
| Rotate back around X-axis.  More... | |
| JPosition3D & | rotate_back (const JRotation3Y &R) | 
| Rotate back around Y-axis.  More... | |
| JPosition3D & | rotate_back (const JRotation3Z &R) | 
| Rotate back around Z-axis.  More... | |
| JPosition3D & | rotate_back (const JQuaternion3D &Q) | 
| Rotate back.  More... | |
| void | transform (const JRotation3D &R, const JVector3D &pos) | 
| Transform position.  More... | |
| JVector3D & | transform (const JMatrix3D &T) | 
| Transform.  More... | |
| void | transform_back (const JRotation3D &R, const JVector3D &pos) | 
| Transform back position.  More... | |
| operator JVector2D () const | |
| Type conversion operator.  More... | |
| double | getX () const | 
| Get x position.  More... | |
| double | getY () const | 
| Get y position.  More... | |
| bool | equals (const JVector3D &vector, const double precision=std::numeric_limits< double >::min()) const | 
| Check equality.  More... | |
| double | getLengthSquared () const | 
| Get length squared.  More... | |
| double | getLength () const | 
| Get length.  More... | |
| JVector3D & | getCross (const JVector3D &first, const JVector3D &second) | 
| Get cross product.  More... | |
| Static Public Member Functions | |
| static parameter_type | pX () | 
| static parameter_type | pY () | 
| static parameter_type | pT () | 
| Public Attributes | |
| JMATH::JMatrix3S | V | 
| co-variance matrix of fit parameters  More... | |
| Static Public Attributes | |
| static const int | NUMBER_OF_PARAMETERS = 3 | 
| number of parameters of fit  More... | |
| Protected Attributes | |
| double | __x | 
| double | __y | 
| double | __z | 
| double | __t | 
Linear fit of straight line parallel to z-axis to set of hits (objects with position and time).
![\begin{center}\setlength{\unitlength}{0.7cm}\begin{picture}(8,12) \put( 1.0, 0.5){\vector(0,1){9}} \put( 1.0,10.0){\makebox(0,0){$z$}} \put( 1.0, 0.0){\makebox(0,0){muon}} \put( 1.0, 8.0){\line(1,0){6}} \put( 4.0, 8.5){\makebox(0,0)[c]{$R$}} \multiput( 1.0, 2.0)(0.5, 0.5){12}{\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( 4.5, 4.5){\makebox(0,0)[l]{photon}} \put( 1.0, 2.0){\circle*{0.2}} \put( 0.5, 2.0){\makebox(0,0)[r]{$(x_{0},y_{0},z_{0},t_{0})$}} \put( 1.0, 8.0){\circle*{0.2}} \put( 0.5, 8.0){\makebox(0,0)[r]{$(x_{0},y_{0},z_{j})$}} \put( 7.0, 8.0){\circle*{0.2}} \put( 7.0, 9.0){\makebox(0,0)[c]{PMT}} \put( 7.5, 8.0){\makebox(0,0)[l]{$(x_{j},y_{j},z_{j},t_{j})$}} \put( 1.1, 2.1){ \put(0.0,1.00){\vector(-1,0){0.1}} \qbezier(0.0,1.0)(0.25,1.0)(0.5,0.75) \put(0.5,0.75){\vector(1,-1){0.1}} \put(0.4,1.5){\makebox(0,0){$\theta_{c}$}} } \end{picture} \end{center}](form_7.png) 
![\[ ct_j = ct_0 + (z_j - z_0) + \tan(\theta_{c}) \sqrt((x_j - x_0)^2 + (y_j - y_0)^2) \]](form_8.png) 
where:
 
Defining:
 
![\[ \Rightarrow (t_j' - t_0')^2 = (x_j - x_0)^2 + (y_j - y_0)^2 \]](form_11.png) 
The parameters  are estimated in the constructor of this class based on consecutive pairs of equations by which the quadratic terms in
 are estimated in the constructor of this class based on consecutive pairs of equations by which the quadratic terms in  ,
,  and
 and  are eliminated.
 are eliminated. 
Definition at line 88 of file JLine1ZEstimator.hh.
| 
 | inherited | 
Definition at line 178 of file JLine1Z.hh.
| 
 | inline | 
| 
 | inline | 
Constructor.
| __begin | begin of data | 
| __end | end of data | 
Definition at line 107 of file JLine1ZEstimator.hh.
| 
 | inline | 
Fit.
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 127 of file JLine1ZEstimator.hh.
| 
 | inline | 
Update track parameters using updated co-variance matrix (e.g. matrix with one hit switched off).
In this, it is assumed that the changes in x and y positions are small compared to the actual distances between the track and the hits.
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 | 
| A | co-variance matrix of hits | 
Definition at line 249 of file JLine1ZEstimator.hh.
| 
 | inlineinherited | 
Move vertex along this line with given velocity.
| step | step | 
| velocity | velocity | 
Definition at line 62 of file JLine1Z.hh.
| 
 | inlineinherited | 
Set z-position of vertex.
| z | z-position | 
| velocity | velocity | 
Definition at line 75 of file JLine1Z.hh.
| 
 | inlineinherited | 
Get distance squared.
| pos | position | 
Definition at line 87 of file JLine1Z.hh.
| 
 | inlineinherited | 
Get distance.
| pos | position | 
Definition at line 102 of file JLine1Z.hh.
| 
 | inlineinherited | 
Get arrival time of Cherenkov light at given position.
| pos | position [m] | 
Definition at line 114 of file JLine1Z.hh.
| 
 | inlineinherited | 
| 
 | inlineinherited | 
Get point of emission of Cherenkov light along muon path.
| pos | position | 
Definition at line 134 of file JLine1Z.hh.
| 
 | inlineinherited | 
Get photon direction of Cherenkov light on PMT.
| pos | PMT position | 
Definition at line 148 of file JLine1Z.hh.
| 
 | inlineinherited | 
Get cosine angle of impact of Cherenkov light on PMT.
| axis | PMT axis | 
Definition at line 172 of file JLine1Z.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.
| 
 | inlinestaticinherited | 
Definition at line 180 of file JLine1Z.hh.
| 
 | inlinestaticinherited | 
Definition at line 181 of file JLine1Z.hh.
| 
 | inlinestaticinherited | 
Definition at line 182 of file JLine1Z.hh.
| 
 | inlineinherited | 
Addition operator.
| value | line | 
Definition at line 85 of file JVertex3D.hh.
Addition operator.
| value | time | 
Definition at line 67 of file JGeometry3D/JTime.hh.
Subtraction operator.
| value | line | 
Definition at line 100 of file JVertex3D.hh.
Subtract vector.
| vector | vector | 
Definition at line 158 of file JVector3D.hh.
Subtraction operator.
| value | time | 
Definition at line 81 of file JGeometry3D/JTime.hh.
| 
 | inlineinherited | 
Multiplication operator.
| value | multiplication factor | 
Definition at line 115 of file JVertex3D.hh.
| 
 | inlineinherited | 
Multiply with object.
| object | object | 
Definition at line 357 of file JMath.hh.
| 
 | inlineinherited | 
Multiply with object.
| object | object | 
Definition at line 357 of file JMath.hh.
| 
 | inlineinherited | 
Division operator.
| value | multiplication factor | 
Definition at line 130 of file JVertex3D.hh.
| 
 | inlineinherited | 
Get position.
Definition at line 130 of file JPosition3D.hh.
| 
 | inlineinherited | 
Get position.
Definition at line 141 of file JPosition3D.hh.
| 
 | inlineinherited | 
| 
 | inlineinherited | 
| 
 | inlineinherited | 
Type conversion operator.
Definition at line 174 of file JPosition3D.hh.
| 
 | 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 | 
Rotate.
| Q | quaternion | 
Definition at line 298 of file JPosition3D.hh.
| 
 | 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 | 
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 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.
| 
 | static | 
number of parameters of fit
Definition at line 338 of file JLine1ZEstimator.hh.
co-variance matrix of fit parameters
Definition at line 339 of file JLine1ZEstimator.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 191 of file JGeometry3D/JTime.hh.
 1.8.5
 1.8.5