| 
    Jpp
    18.2.0
    
   the software that should make you happy 
   | 
 
3D track. More...
#include <JTrack3D.hh>
  
 Public Member Functions | |
| JTrack3D () | |
| Default constructor.  More... | |
| JTrack3D (const JAxis3D &axis, const JTime &t0) | |
| Constructor.  More... | |
| JTrack3D (const JVector3D &pos, const JVersor3D &dir, const JTime &t0) | |
| Constructor.  More... | |
| JTrack3D (const JVertex3D &vertex, const JVersor3D &dir) | |
| Constructor.  More... | |
| JVertex3D | getVertex () const | 
| Get vertex of this track.  More... | |
| void | move (const double step, const double velocity) | 
| Move vertex along this track with given velocity.  More... | |
| double | getT (const JVector3D &pos) const | 
| Get arrival time of Cherenkov light at given 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 JVector3D &pos) const | 
| Get cosine angle of emission of Cherenkov light on PMT.  More... | |
| const JAxis3D & | getAxis () const | 
| Get axis.  More... | |
| void | setAxis (const JAxis3D &axis) | 
| Set axis.  More... | |
| JAxis3D & | negate () | 
| Negate axis.  More... | |
| void | move (const double step) | 
| Move vertex along this axis.  More... | |
| double | getIntersection (const JVector3D &pos) const | 
| Get longitudinal position along axis of position of closest approach with given position.  More... | |
| double | getIntersection (const JAxis3D &axis, const double precision=1.0e-8) const | 
| Get longitudinal position along axis of position of closest approach with given axis.  More... | |
| double | getDistanceSquared (const JVector3D &pos) const | 
| Get distance squared.  More... | |
| double | getDistance (const JVector3D &pos) const | 
| Get distance.  More... | |
| JAxis3D & | rotate (const JRotation3D &R) | 
| Rotate axis.  More... | |
| JAxis3D & | rotate (const JRotation3X &R) | 
| Rotate around X-axis.  More... | |
| JAxis3D & | rotate (const JRotation3Y &R) | 
| Rotate around Y-axis.  More... | |
| JAxis3D & | rotate (const JRotation3Z &R) | 
| Rotate around Z-axis.  More... | |
| JAxis3D & | rotate (const JQuaternion3D &Q) | 
| Rotate axis.  More... | |
| JAxis3D & | rotate_back (const JRotation3D &R) | 
| Rotate back axis.  More... | |
| JAxis3D & | rotate_back (const JRotation3X &R) | 
| Rotate back around X-axis.  More... | |
| JAxis3D & | rotate_back (const JRotation3Y &R) | 
| Rotate back around Y-axis.  More... | |
| JAxis3D & | rotate_back (const JRotation3Z &R) | 
| Rotate back around Z-axis.  More... | |
| JPosition3D & | rotate_back (const JQuaternion3D &Q) | 
| Rotate back.  More... | |
| JDirection3D & | rotate_back (const JQuaternion3D &Q) | 
| Rotate back.  More... | |
| void | transform (const JAxis3D &axis) | 
| Transform axis to reference frame of given axis.  More... | |
| void | transform (const JRotation3D &R, const JVector3D &pos) | 
| Transform axis.  More... | |
| void | transform (const JTransformation3D &T) | 
| Transform axis.  More... | |
| JVector3D & | transform (const JMatrix3D &T) | 
| Transform.  More... | |
| JDirection3D & | transform (const JMatrix3D &T) | 
| Transform.  More... | |
| void | transform_back (const JRotation3D &R, const JVector3D &pos) | 
| Transform back axis.  More... | |
| void | transform_back (const JTransformation3D &T) | 
| Transform back axis.  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 JAngle3D () const | |
| Type conversion operator.  More... | |
| operator JVersor3D () const | |
| Type conversion operator.  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 JAngle3D &angle) const | 
| Get dot product.  More... | |
| double | getDot (const JVersor3Z &dir) const | 
| Get dot product.  More... | |
| double | getDot (const JVersor3D &versor) const | 
| Get dot product.  More... | |
| operator JVector2D () const | |
| Type conversion operator.  More... | |
| double | getX () const | 
| Get x position.  More... | |
| double | getY () const | 
| Get y position.  More... | |
| double | getZ () const | 
| Get z position.  More... | |
| JVector3D & | add (const JVector3D &vector) | 
| Add vector.  More... | |
| JVector3D & | sub (const JVector3D &vector) | 
| Subtract vector.  More... | |
| JVector3D & | mul (const double factor) | 
| Scale vector.  More... | |
| JFirst_t & | mul (const JSecond_t &object) | 
| Multiply with object.  More... | |
| JFirst_t & | mul (const JSecond_t &object) | 
| Multiply with object.  More... | |
| JVector3D & | div (const double factor) | 
| Scale vector.  More... | |
| bool | equals (const JVector3D &vector, const double precision=std::numeric_limits< double >::min()) const | 
| Check equality.  More... | |
| bool | equals (const JVersor3D &versor, 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... | |
| JVersor3D & | getCross (const JVersor3D &first, const JVersor3D &second) | 
| Get cross product.  More... | |
| const JDirection3D & | getDirection () const | 
| Get direction.  More... | |
| JDirection3D & | getDirection () | 
| Get direction.  More... | |
| void | setDirection (const JDirection3D &dir) | 
| Set direction.  More... | |
| operator JVector3D () const | |
| Type conversion operator.  More... | |
| double | getDX () const | 
| Get x direction.  More... | |
| double | getDY () const | 
| Get y direction.  More... | |
| double | getDZ () const | 
| Get z direction.  More... | |
| double | getTheta () const | 
| Get theta angle.  More... | |
| double | getPhi () const | 
| Get phi angle.  More... | |
| JVersor3D & | normalise () | 
| Normalise versor.  More... | |
| JTime & | negate () | 
| Prefix unary minus.  More... | |
| JTime & | add (const JTime &value) | 
| Addition operator.  More... | |
| JTime & | sub (const JTime &value) | 
| Subtraction operator.  More... | |
| JTime & | mul (const double value) | 
| Multiplication operator.  More... | |
| JTime & | div (const double value) | 
| Division operator.  More... | |
| void | setT (const double time) | 
| Set time.  More... | |
| double | getT () const | 
| Get time.  More... | |
Protected Attributes | |
| double | __x | 
| double | __y | 
| double | __z | 
| double | __dx | 
| double | __dy | 
| double | __dz | 
| double | __t | 
Friends | |
| std::istream & | operator>> (std::istream &in, JTrack3D &track) | 
| Read track from input.  More... | |
| std::ostream & | operator<< (std::ostream &out, const JTrack3D &track) | 
| Write track to output.  More... | |
| JReader & | operator>> (JReader &in, JTrack3D &track) | 
| Read track from input.  More... | |
| JWriter & | operator<< (JWriter &out, const JTrack3D &track) | 
| Write track to output.  More... | |
3D track.
Definition at line 30 of file JTrack3D.hh.
      
  | 
  inline | 
      
  | 
  inline | 
Constructor.
| pos | position | 
| dir | direction | 
| t0 | time at vertex | 
Definition at line 73 of file JTrack3D.hh.
Constructor.
| vertex | vertex | 
| dir | direction | 
Definition at line 87 of file JTrack3D.hh.
      
  | 
  inline | 
Get vertex of this track.
Definition at line 99 of file JTrack3D.hh.
      
  | 
  inline | 
Move vertex along this track with given velocity.
| step | step | 
| velocity | velocity | 
Definition at line 112 of file JTrack3D.hh.
      
  | 
  inline | 
Get arrival time of Cherenkov light at given position.
| pos | position [m] | 
Definition at line 126 of file JTrack3D.hh.
Get photon direction of Cherenkov light on PMT.
| pos | PMT position | 
Definition at line 147 of file JTrack3D.hh.
      
  | 
  inline | 
Get cosine angle of impact of Cherenkov light on PMT.
| axis | PMT axis | 
Definition at line 170 of file JTrack3D.hh.
      
  | 
  inline | 
Get cosine angle of emission of Cherenkov light on PMT.
| pos | PMT position | 
Definition at line 182 of file JTrack3D.hh.
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
Negate axis.
Definition at line 120 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Move vertex along this axis.
| step | step | 
Definition at line 134 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Get longitudinal position along axis of position of closest approach with given position.
| pos | position | 
Definition at line 146 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Get longitudinal position along axis of position of closest approach with given axis.
If the axes are paralel, this position corresponds to the vertex of the given axis.
| axis | axis | 
| precision | precision | 
Definition at line 164 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Get distance squared.
| pos | position | 
Definition at line 195 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Get distance.
| pos | osition | 
Definition at line 213 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate axis.
| R | rotation matrix | 
Definition at line 225 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate around X-axis.
| R | rotation matrix | 
Definition at line 255 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate around Y-axis.
| R | rotation matrix | 
Definition at line 285 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate around Z-axis.
| R | rotation matrix | 
Definition at line 315 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate axis.
| Q | quaternion | 
Definition at line 345 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate back axis.
| R | rotation matrix | 
Definition at line 240 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate back around X-axis.
| R | rotation matrix | 
Definition at line 270 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate back around Y-axis.
| R | rotation matrix | 
Definition at line 300 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate back around Z-axis.
| R | rotation matrix | 
Definition at line 330 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Rotate back.
| Q | quaternion | 
Definition at line 312 of file JPosition3D.hh.
      
  | 
  inlineinherited | 
Rotate back.
| Q | quaternion | 
Definition at line 321 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Transform axis to reference frame of given axis.
| axis | axis | 
Definition at line 359 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Transform axis.
The final position and direction are obtained as follows:
R);pos);| R | rotation matrix | 
| pos | position of origin | 
Definition at line 379 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Transform axis.
| T | transformation | 
Definition at line 437 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Transform.
| T | matrix | 
Definition at line 163 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Transform back axis.
The final position and direction are obtained as follows:
| R | rotation matrix | 
| pos | position of origin (before rotation) | 
Definition at line 415 of file JAxis3D.hh.
      
  | 
  inlineinherited | 
Transform back axis.
| T | transformation | 
Definition at line 448 of file JAxis3D.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 | 
      
  | 
  inlineinherited | 
Type conversion operator.
Definition at line 174 of file JPosition3D.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.
| angle | angle | 
Definition at line 335 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Get dot product.
| dir | direction | 
Definition at line 365 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Get dot product.
| versor | versor | 
Definition at line 156 of file JVersor3D.hh.
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
Subtract vector.
| vector | vector | 
Definition at line 158 of file JVector3D.hh.
      
  | 
  inlineinherited | 
Scale vector.
| factor | multiplication factor | 
Definition at line 174 of file JVector3D.hh.
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
Scale vector.
| factor | division factor | 
Definition at line 190 of file JVector3D.hh.
      
  | 
  inlineinherited | 
Check equality.
| vector | vector | 
| precision | precision | 
Definition at line 221 of file JVector3D.hh.
      
  | 
  inlineinherited | 
Check equality.
| versor | versor | 
| precision | precision | 
Definition at line 81 of file JVersor3D.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.
      
  | 
  inlineinherited | 
Get cross product.
Note that this versor should not overlap with the first or second versor,
| first | first versor | 
| second | second versor | 
Definition at line 173 of file JVersor3D.hh.
      
  | 
  inlineinherited | 
Get direction.
Definition at line 107 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Get direction.
Definition at line 118 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
Set direction.
| dir | direction | 
Definition at line 129 of file JDirection3D.hh.
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
Normalise versor.
This operation may set the result to the unit z-vector.
Definition at line 192 of file JVersor3D.hh.
      
  | 
  inlineinherited | 
Addition operator.
| value | time | 
Definition at line 67 of file JGeometry3D/JTime.hh.
Subtraction operator.
| value | time | 
Definition at line 81 of file JGeometry3D/JTime.hh.
      
  | 
  inlineinherited | 
Multiplication operator.
| value | multiplication factor | 
Definition at line 95 of file JGeometry3D/JTime.hh.
      
  | 
  inlineinherited | 
Division operator.
| value | multiplication factor | 
Definition at line 109 of file JGeometry3D/JTime.hh.
      
  | 
  inlineinherited | 
      
  | 
  inlineinherited | 
      
  | 
  friend | 
Read track from input.
| in | input stream | 
| track | track | 
Definition at line 195 of file JTrack3D.hh.
      
  | 
  friend | 
Write track to output.
| out | output stream | 
| track | track | 
Definition at line 211 of file JTrack3D.hh.
Read track from input.
| in | reader | 
| track | track | 
Definition at line 228 of file JTrack3D.hh.
Write track to output.
| out | writer | 
| track | track | 
Definition at line 244 of file JTrack3D.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 206 of file JVersor3D.hh.
      
  | 
  protectedinherited | 
Definition at line 207 of file JVersor3D.hh.
      
  | 
  protectedinherited | 
Definition at line 208 of file JVersor3D.hh.
      
  | 
  protectedinherited | 
Definition at line 202 of file JGeometry3D/JTime.hh.
 1.8.5