Jpp
17.3.0
the software that should make you happy
|
A photon path. More...
#include <JPhotonPath.hh>
Public Member Functions | |
JPhotonPath () | |
default constructor More... | |
JPhotonPath (int _nscat) | |
constructor to actually be used More... | |
string | getString () |
get a string with the path vertex positions More... | |
double | getLength () |
get the total path length More... | |
void | addVertex () |
void | addVertex (JPosition3D &pos) |
bool | hitsSphere (const JPosition3D &pos, double r) |
Returns whether the photon path intersects a sphere of radius r at position pos. More... | |
JPosition3D | getSphereHitPosition (const JPosition3D &pos, double r) |
Returns the position where the photon hits a sphere of radius r at position pos. If the photon does not hit, it returns (0,0,0). More... | |
std::vector< JPosition3D > | getPointsWithX (double x) |
return all coordinates where the photon path has the given x More... | |
std::vector< JPosition3D > | getPointsWithY (double y) |
return all coordinates where the photon path has the given y More... | |
std::vector< JPosition3D > | getPointsWithZ (double z) |
return all coordinates where the photon path has the given z More... | |
JIO::JReader & | read (JIO::JReader &in) |
Read from input. More... | |
JIO::JWriter & | write (JIO::JWriter &out) const |
Write to output. More... | |
const JPolyline3D & | getPolyline () const |
Get polyline. More... | |
JPolyline3D & | getPolyline () |
Get polyline. More... | |
JPolyline3D & | transform (const JMatrix3D &T) |
Transform all vertices. More... | |
void | transform (const JRotation3D &R, const JVector3D &pos) |
Transform all vertices of the polyline with a rotation and offset. More... | |
JPolyline3D & | rotate (const JRotation3D &R) |
Rotate all vertices. More... | |
JPolyline3D & | rotate (const JRotation3X &R) |
Rotate all vertices around X-axis. More... | |
JPolyline3D & | rotate (const JRotation3Y &R) |
Rotate all vertices around Y-axis. More... | |
JPolyline3D & | rotate (const JRotation3Z &R) |
Rotate all vertices around Z-axis. More... | |
JPolyline3D & | rotate_back (const JRotation3D &R) |
Rotate back all vertices. More... | |
JPolyline3D & | rotate_back (const JRotation3X &R) |
Rotate all vertices back around X-axis. More... | |
JPolyline3D & | rotate_back (const JRotation3Y &R) |
Rotate all vertices back around Y-axis. More... | |
JPolyline3D & | rotate_back (const JRotation3Z &R) |
Rotate all vertices back around Z-axis. More... | |
void | transform_back (const JRotation3D &R, const JVector3D &pos) |
Transform back all vertices of the polyline. More... | |
Public Attributes | |
int | n |
double | weight |
A photon path.
This is basically a JPolyline3D with at least two vertices and a weight.
Definition at line 38 of file JPhotonPath.hh.
|
inline |
|
inline |
string JMARKOV::JPhotonPath::getString | ( | ) |
get a string with the path vertex positions
Definition at line 136 of file JPhotonPath.hh.
double JMARKOV::JPhotonPath::getLength | ( | ) |
get the total path length
Definition at line 104 of file JPhotonPath.hh.
|
inline |
Definition at line 53 of file JPhotonPath.hh.
void JMARKOV::JPhotonPath::addVertex | ( | JPosition3D & | pos | ) |
Definition at line 116 of file JPhotonPath.hh.
bool JMARKOV::JPhotonPath::hitsSphere | ( | const JPosition3D & | pos, |
double | r | ||
) |
Returns whether the photon path intersects a sphere of radius r at position pos.
Definition at line 176 of file JPhotonPath.hh.
JPosition3D JMARKOV::JPhotonPath::getSphereHitPosition | ( | const JPosition3D & | pos, |
double | r | ||
) |
Returns the position where the photon hits a sphere of radius r at position pos. If the photon does not hit, it returns (0,0,0).
Definition at line 213 of file JPhotonPath.hh.
std::vector< JPosition3D > JMARKOV::JPhotonPath::getPointsWithX | ( | double | x | ) |
return all coordinates where the photon path has the given x
Definition at line 121 of file JPhotonPath.hh.
std::vector< JPosition3D > JMARKOV::JPhotonPath::getPointsWithY | ( | double | y | ) |
return all coordinates where the photon path has the given y
Definition at line 145 of file JPhotonPath.hh.
std::vector< JPosition3D > JMARKOV::JPhotonPath::getPointsWithZ | ( | double | z | ) |
return all coordinates where the photon path has the given z
Definition at line 160 of file JPhotonPath.hh.
|
inlinevirtual |
Read from input.
in | JReader |
Implements JIO::JSerialisable.
Definition at line 75 of file JPhotonPath.hh.
|
inlinevirtual |
Write to output.
out | JWriter |
Implements JIO::JSerialisable.
Definition at line 88 of file JPhotonPath.hh.
|
inlineinherited |
Get polyline.
Definition at line 43 of file JPolyline3D.hh.
|
inlineinherited |
Get polyline.
Definition at line 52 of file JPolyline3D.hh.
|
inlineinherited |
|
inlineinherited |
Transform all vertices of the polyline with a rotation and offset.
See the corresponding function in JPosition3D for more information
R | rotation matrix |
pos | position of origin (after rotation) |
Definition at line 157 of file JPolyline3D.hh.
|
inlineinherited |
|
inlineinherited |
Rotate all vertices around X-axis.
R | rotation matrix |
Definition at line 93 of file JPolyline3D.hh.
|
inlineinherited |
Rotate all vertices around Y-axis.
R | rotation matrix |
Definition at line 114 of file JPolyline3D.hh.
|
inlineinherited |
Rotate all vertices around Z-axis.
R | rotation matrix |
Definition at line 135 of file JPolyline3D.hh.
|
inlineinherited |
|
inlineinherited |
Rotate all vertices back around X-axis.
R | rotation matrix |
Definition at line 103 of file JPolyline3D.hh.
|
inlineinherited |
Rotate all vertices back around Y-axis.
R | rotation matrix |
Definition at line 125 of file JPolyline3D.hh.
|
inlineinherited |
Rotate all vertices back around Z-axis.
R | rotation matrix |
Definition at line 145 of file JPolyline3D.hh.
|
inlineinherited |
Transform back all vertices of the polyline.
R | rotation matrix |
pos | polyline of origin (before rotation) |
Definition at line 167 of file JPolyline3D.hh.
int JMARKOV::JPhotonPath::n |
Definition at line 100 of file JPhotonPath.hh.
double JMARKOV::JPhotonPath::weight |
Definition at line 101 of file JPhotonPath.hh.