LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "GFDetPlane.h"
Public Member Functions | |
GFDetPlane (genf::GFAbsFinitePlane *finite=NULL) | |
GFDetPlane (const TVector3 &o, const TVector3 &u, const TVector3 &v, genf::GFAbsFinitePlane *finite=NULL) | |
GFDetPlane (const TVector3 &o, const TVector3 &n, genf::GFAbsFinitePlane *finite=NULL) | |
virtual | ~GFDetPlane () |
GFDetPlane (const genf::GFDetPlane &) | |
GFDetPlane & | operator= (const genf::GFDetPlane &) |
TVector3 | getO () const |
TVector3 | getU () const |
TVector3 | getV () const |
void | set (const TVector3 &o, const TVector3 &u, const TVector3 &v) |
void | setO (const TVector3 &o) |
void | setO (double, double, double) |
void | setU (const TVector3 &u) |
void | setU (double, double, double) |
void | setV (const TVector3 &v) |
void | setV (double, double, double) |
void | setUV (const TVector3 &u, const TVector3 &v) |
void | setON (const TVector3 &o, const TVector3 &n) |
void | setFinitePlane (genf::GFAbsFinitePlane *finite) |
TVector3 | getNormal () const |
void | setNormal (TVector3 n) |
void | setNormal (double, double, double) |
void | setNormal (const double &theta, const double &phi) |
TVector2 | project (const TVector3 &x) const |
projecting a direction onto the plane: More... | |
TVector2 | LabToPlane (const TVector3 &x) const |
transform from Lab system into plane More... | |
TVector3 | toLab (const TVector2 &x) const |
transform from plane coordinates to lab system More... | |
TVector3 | dist (const TVector3 &point) const |
TVector2 | straightLineToPlane (const TVector3 &point, const TVector3 &dir) const |
gives u,v coordinates of the intersection point of a straight line with plane More... | |
void | Print (std::ostream &out=std::cout) const |
void | getGraphics (double mesh, double length, TPolyMarker3D **pl, TPolyLine3D **plLine, TPolyLine3D **u, TPolyLine3D **v, TPolyLine3D **n=NULL) |
for poor attempts of making an event display. There is a lot of room for improvements. More... | |
double | distance (TVector3 &) const |
double | distance (double, double, double) const |
bool | inActive (const TVector3 &point, const TVector3 &dir) const |
intersect in the active area? C.f. GFAbsFinitePlane More... | |
bool | inActive (double u, double v) const |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane More... | |
bool | inActive (const TVector2 &v) const |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane More... | |
void | sane () |
Public Attributes | |
TVector3 | fO |
TVector3 | fU |
TVector3 | fV |
genf::GFAbsFinitePlane * | fFinitePlane |
Private Member Functions | |
virtual void | Print (Option_t *) const |
Friends | |
bool | operator== (const GFDetPlane &, const GFDetPlane &) |
bool | operator!= (const GFDetPlane &, const GFDetPlane &) |
returns NOT == More... | |
Definition at line 64 of file GFDetPlane.h.
genf::GFDetPlane::GFDetPlane | ( | genf::GFAbsFinitePlane * | finite = NULL | ) |
genf::GFDetPlane::GFDetPlane | ( | const TVector3 & | o, |
const TVector3 & | u, | ||
const TVector3 & | v, | ||
genf::GFAbsFinitePlane * | finite = NULL |
||
) |
genf::GFDetPlane::GFDetPlane | ( | const TVector3 & | o, |
const TVector3 & | n, | ||
genf::GFAbsFinitePlane * | finite = NULL |
||
) |
|
virtual |
genf::GFDetPlane::GFDetPlane | ( | const genf::GFDetPlane & | rhs | ) |
Definition at line 62 of file GFDetPlane.cxx.
References genf::GFAbsFinitePlane::clone(), fFinitePlane, fO, fU, and fV.
TVector3 genf::GFDetPlane::dist | ( | const TVector3 & | point | ) | const |
Definition at line 199 of file GFDetPlane.cxx.
References LabToPlane(), toLab(), and x.
Referenced by genf::GFWireHitPolicy::detPlane(), genf::GFWirepointHitPolicy::detPlane(), genf::RKTrackRep::Extrap(), and setFinitePlane().
double genf::GFDetPlane::distance | ( | TVector3 & | v | ) | const |
Definition at line 340 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::Extrap(), genf::RKTrackRep::RKutta(), and setFinitePlane().
double genf::GFDetPlane::distance | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
Definition at line 347 of file GFDetPlane.cxx.
void genf::GFDetPlane::getGraphics | ( | double | mesh, |
double | length, | ||
TPolyMarker3D ** | pl, | ||
TPolyLine3D ** | plLine, | ||
TPolyLine3D ** | u, | ||
TPolyLine3D ** | v, | ||
TPolyLine3D ** | n = NULL |
||
) |
for poor attempts of making an event display. There is a lot of room for improvements.
Definition at line 271 of file GFDetPlane.cxx.
References fO, fU, fV, and getNormal().
Referenced by setFinitePlane().
TVector3 genf::GFDetPlane::getNormal | ( | ) | const |
Definition at line 133 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolate(), getGraphics(), genf::SlTrackRep::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCov(), Print(), trkf::Track3DKalman::produce(), genf::RKTrackRep::RKutta(), sane(), setFinitePlane(), and straightLineToPlane().
|
inline |
Definition at line 77 of file GFDetPlane.h.
References fO.
Referenced by genf::SlTrackRep::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::SlTrackRep::getPos(), genf::RKTrackRep::getPos(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCoord(), genf::GFSpacepointHitPolicy::hitCov(), genf::GFKalman::processHit(), genf::GFAbsRecoHit::residualVector(), genf::RKTrackRep::RKTrackRep(), and genf::RKTrackRep::RKutta().
|
inline |
Definition at line 78 of file GFDetPlane.h.
References fU.
Referenced by genf::GFKalman::calcCov7x7(), genf::SlTrackRep::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::SlTrackRep::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::SlTrackRep::getPos(), genf::RKTrackRep::getPos(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCoord(), genf::GFSpacepointHitPolicy::hitCov(), genf::GFKalman::processHit(), and genf::RKTrackRep::RKTrackRep().
|
inline |
Definition at line 79 of file GFDetPlane.h.
References fV, setO(), setON(), setU(), setUV(), and setV().
Referenced by genf::GFKalman::calcCov7x7(), genf::GFWireHitPolicy::checkPlane(), genf::GFWirepointHitPolicy::checkPlane(), genf::SlTrackRep::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::SlTrackRep::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::SlTrackRep::getPos(), genf::RKTrackRep::getPos(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCoord(), genf::GFSpacepointHitPolicy::hitCov(), genf::GFKalman::processHit(), and genf::RKTrackRep::RKTrackRep().
|
inline |
intersect in the active area? C.f. GFAbsFinitePlane
Definition at line 136 of file GFDetPlane.h.
References straightLineToPlane().
Referenced by genf::RKTrackRep::Extrap(), and genf::RKTrackRep::RKutta().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 142 of file GFDetPlane.h.
References fFinitePlane, and genf::GFAbsFinitePlane::inActive().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 149 of file GFDetPlane.h.
References inActive().
Referenced by inActive().
TVector2 genf::GFDetPlane::LabToPlane | ( | const TVector3 & | x | ) | const |
transform from Lab system into plane
Definition at line 185 of file GFDetPlane.cxx.
References d, fO, and project().
Referenced by dist(), and setFinitePlane().
genf::GFDetPlane & genf::GFDetPlane::operator= | ( | const genf::GFDetPlane & | rhs | ) |
Definition at line 72 of file GFDetPlane.cxx.
References genf::GFAbsFinitePlane::clone(), fFinitePlane, fO, fU, and fV.
void genf::GFDetPlane::Print | ( | std::ostream & | out = std::cout | ) | const |
Definition at line 228 of file GFDetPlane.cxx.
References fFinitePlane, fO, fU, fV, getNormal(), and genf::GFAbsFinitePlane::Print().
Referenced by genf::GFBookkeeping::Print(), genf::GFAbsTrackRep::Print(), trkf::Track3DKalman::produce(), trkf::Track3DKalmanSPS::produce(), and setFinitePlane().
|
inlineprivatevirtual |
Definition at line 167 of file GFDetPlane.h.
References operator!=, and operator==.
TVector2 genf::GFDetPlane::project | ( | const TVector3 & | x | ) | const |
projecting a direction onto the plane:
Definition at line 178 of file GFDetPlane.cxx.
Referenced by LabToPlane(), setFinitePlane(), and straightLineToPlane().
void genf::GFDetPlane::sane | ( | ) |
Definition at line 206 of file GFDetPlane.cxx.
References E, fU, fV, getNormal(), n, and GFException::setFatal().
Referenced by GFDetPlane(), set(), setO(), setU(), setUV(), and setV().
void genf::GFDetPlane::set | ( | const TVector3 & | o, |
const TVector3 & | u, | ||
const TVector3 & | v | ||
) |
Definition at line 86 of file GFDetPlane.cxx.
References fO, fU, fV, and sane().
Referenced by genf::GFAbsTrackRep::reset().
|
inline |
Optionally, set the finite plane definition. This is most important for avoiding fake intersection points in fitting of loopers. This should be implemented for silicon detectors most importantly.
Definition at line 96 of file GFDetPlane.h.
References dir, dist(), distance(), fFinitePlane, getGraphics(), getNormal(), LabToPlane(), operator!=, operator==, Print(), project(), setNormal(), straightLineToPlane(), toLab(), and x.
void genf::GFDetPlane::setNormal | ( | TVector3 | n | ) |
Definition at line 151 of file GFDetPlane.cxx.
Referenced by genf::GFSpacepointHitPolicy::detPlane(), GFDetPlane(), genf::RKTrackRep::RKTrackRep(), setFinitePlane(), setNormal(), and setON().
void genf::GFDetPlane::setNormal | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 146 of file GFDetPlane.cxx.
References setNormal().
void genf::GFDetPlane::setNormal | ( | const double & | theta, |
const double & | phi | ||
) |
void genf::GFDetPlane::setO | ( | const TVector3 & | o | ) |
Definition at line 94 of file GFDetPlane.cxx.
Referenced by genf::GFSpacepointHitPolicy::detPlane(), genf::RKTrackRep::extrapolateToLine(), getV(), and genf::RKTrackRep::RKTrackRep().
void genf::GFDetPlane::setO | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 99 of file GFDetPlane.cxx.
void genf::GFDetPlane::setON | ( | const TVector3 & | o, |
const TVector3 & | n | ||
) |
Definition at line 140 of file GFDetPlane.cxx.
References fO, and setNormal().
Referenced by genf::RKTrackRep::extrapolateToPoint(), and getV().
void genf::GFDetPlane::setU | ( | const TVector3 & | u | ) |
Definition at line 105 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolateToLine(), and getV().
void genf::GFDetPlane::setU | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 110 of file GFDetPlane.cxx.
void genf::GFDetPlane::setUV | ( | const TVector3 & | u, |
const TVector3 & | v | ||
) |
void genf::GFDetPlane::setV | ( | const TVector3 & | v | ) |
Definition at line 116 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolateToLine(), and getV().
void genf::GFDetPlane::setV | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 121 of file GFDetPlane.cxx.
TVector2 genf::GFDetPlane::straightLineToPlane | ( | const TVector3 & | point, |
const TVector3 & | dir | ||
) | const |
gives u,v coordinates of the intersection point of a straight line with plane
Definition at line 356 of file GFDetPlane.cxx.
References E, fO, getNormal(), and project().
Referenced by inActive(), and setFinitePlane().
TVector3 genf::GFDetPlane::toLab | ( | const TVector2 & | x | ) | const |
transform from plane coordinates to lab system
Definition at line 191 of file GFDetPlane.cxx.
Referenced by dist(), and setFinitePlane().
|
friend |
returns NOT ==
Referenced by Print(), and setFinitePlane().
|
friend |
this operator is called very often in Kalman filtering. It checks equality of planes by comparing the 9 double values that define them.
Referenced by Print(), and setFinitePlane().
genf::GFAbsFinitePlane* genf::GFDetPlane::fFinitePlane |
Definition at line 160 of file GFDetPlane.h.
Referenced by GFDetPlane(), inActive(), operator=(), Print(), setFinitePlane(), and ~GFDetPlane().
TVector3 genf::GFDetPlane::fO |
Definition at line 155 of file GFDetPlane.h.
Referenced by distance(), getGraphics(), getO(), GFDetPlane(), LabToPlane(), operator=(), genf::operator==(), Print(), set(), setO(), setON(), straightLineToPlane(), and toLab().
TVector3 genf::GFDetPlane::fU |
Definition at line 157 of file GFDetPlane.h.
Referenced by distance(), getGraphics(), getNormal(), getU(), GFDetPlane(), operator=(), genf::operator==(), Print(), project(), sane(), set(), setNormal(), setU(), setUV(), and toLab().
TVector3 genf::GFDetPlane::fV |
Definition at line 158 of file GFDetPlane.h.
Referenced by distance(), getGraphics(), getNormal(), getV(), GFDetPlane(), operator=(), genf::operator==(), Print(), project(), sane(), set(), setNormal(), setUV(), setV(), and toLab().