LArSoft
v06_85_00
Liquid Argon Software toolkit - http://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 60 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 60 of file GFDetPlane.cxx.
References genf::GFAbsFinitePlane::clone(), fFinitePlane, fO, fU, and fV.
TVector3 genf::GFDetPlane::dist | ( | const TVector3 & | point | ) | const |
Definition at line 209 of file GFDetPlane.cxx.
References LabToPlane(), toLab(), and x.
Referenced by genf::GFWireHitPolicy::detPlane(), genf::GFWirepointHitPolicy::detPlane(), genf::RKTrackRep::Extrap(), genf::GeaneTrackRep2::extrapolate(), genf::GeaneTrackRep2::extrapolateToLine(), genf::GeaneTrackRep2::extrapolateToPoint(), and setFinitePlane().
double genf::GFDetPlane::distance | ( | TVector3 & | v | ) | const |
Definition at line 349 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 355 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 289 of file GFDetPlane.cxx.
References fO, fU, fV, and getNormal().
Referenced by setFinitePlane().
TVector3 genf::GFDetPlane::getNormal | ( | ) | const |
Definition at line 140 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolate(), getGraphics(), genf::SlTrackRep::getMom(), genf::GeaneTrackRep2::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::GeaneTrackRep2::getPosMom(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCov(), Print(), trkf::Track3DKalman::produce(), genf::RKTrackRep::RKutta(), sane(), setFinitePlane(), and straightLineToPlane().
|
inline |
Definition at line 76 of file GFDetPlane.h.
References fO.
Referenced by genf::SlTrackRep::extrapolate(), genf::GeaneTrackRep2::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::GeaneTrackRep2::GeaneTrackRep2(), genf::SlTrackRep::getPos(), genf::GeaneTrackRep2::getPos(), genf::RKTrackRep::getPos(), genf::GeaneTrackRep2::getPosMom(), 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 77 of file GFDetPlane.h.
References fU.
Referenced by genf::GFKalman::calcCov7x7(), genf::SlTrackRep::extrapolate(), genf::GeaneTrackRep2::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::GeaneTrackRep2::GeaneTrackRep2(), genf::SlTrackRep::getMom(), genf::GeaneTrackRep2::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::SlTrackRep::getPos(), genf::GeaneTrackRep2::getPos(), genf::RKTrackRep::getPos(), genf::GeaneTrackRep2::getPosMom(), genf::RKTrackRep::getPosMom(), genf::GFSpacepointHitPolicy::hitCoord(), genf::GFSpacepointHitPolicy::hitCov(), genf::GFKalman::processHit(), and genf::RKTrackRep::RKTrackRep().
|
inline |
Definition at line 78 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::GeaneTrackRep2::extrapolate(), genf::RKTrackRep::extrapolate(), genf::SlTrackRep::extrapolateToLine(), genf::RKTrackRep::extrapolateToLine(), genf::SlTrackRep::extrapolateToPoint(), genf::RKTrackRep::extrapolateToPoint(), genf::GeaneTrackRep2::GeaneTrackRep2(), genf::SlTrackRep::getMom(), genf::GeaneTrackRep2::getMom(), genf::RKTrackRep::getMom(), genf::RKTrackRep::getMomLast(), genf::SlTrackRep::getPos(), genf::GeaneTrackRep2::getPos(), genf::RKTrackRep::getPos(), genf::GeaneTrackRep2::getPosMom(), 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 133 of file GFDetPlane.h.
References straightLineToPlane().
Referenced by genf::RKTrackRep::Extrap(), inActive(), and genf::RKTrackRep::RKutta().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 138 of file GFDetPlane.h.
References fFinitePlane, and genf::GFAbsFinitePlane::inActive().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 144 of file GFDetPlane.h.
References inActive().
TVector2 genf::GFDetPlane::LabToPlane | ( | const TVector3 & | x | ) | const |
transform from Lab system into plane
Definition at line 191 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 67 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 242 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 164 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 183 of file GFDetPlane.cxx.
Referenced by LabToPlane(), setFinitePlane(), and straightLineToPlane().
void genf::GFDetPlane::sane | ( | ) |
Definition at line 219 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 85 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 97 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 158 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 153 of file GFDetPlane.cxx.
References setNormal().
void genf::GFDetPlane::setNormal | ( | const double & | theta, |
const double & | phi | ||
) |
Definition at line 177 of file GFDetPlane.cxx.
References n, and setNormal().
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 100 of file GFDetPlane.cxx.
void genf::GFDetPlane::setON | ( | const TVector3 & | o, |
const TVector3 & | n | ||
) |
Definition at line 147 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 107 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolateToLine(), and getV().
void genf::GFDetPlane::setU | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 113 of file GFDetPlane.cxx.
void genf::GFDetPlane::setUV | ( | const TVector3 & | u, |
const TVector3 & | v | ||
) |
void genf::GFDetPlane::setV | ( | const TVector3 & | v | ) |
Definition at line 120 of file GFDetPlane.cxx.
Referenced by genf::RKTrackRep::extrapolateToLine(), and getV().
void genf::GFDetPlane::setV | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 126 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 363 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 198 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 157 of file GFDetPlane.h.
Referenced by GFDetPlane(), inActive(), operator=(), Print(), setFinitePlane(), and ~GFDetPlane().
TVector3 genf::GFDetPlane::fO |
Definition at line 152 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 154 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 155 of file GFDetPlane.h.
Referenced by distance(), getGraphics(), getNormal(), getV(), GFDetPlane(), operator=(), genf::operator==(), Print(), project(), sane(), set(), setNormal(), setUV(), setV(), and toLab().