EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Detector plane genfit geometry class. More...
#include <EicRoot/blob/master/genfit/GFDetPlane.h>
Public Member Functions | |
GFDetPlane (GFAbsFinitePlane *finite=NULL) | |
GFDetPlane (const TVector3 &o, const TVector3 &u, const TVector3 &v, GFAbsFinitePlane *finite=NULL) | |
GFDetPlane (const TVector3 &o, const TVector3 &n, GFAbsFinitePlane *finite=NULL) | |
virtual | ~GFDetPlane () |
GFDetPlane (const GFDetPlane &) | |
GFDetPlane & | operator= (const 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 (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: | |
TVector2 | LabToPlane (const TVector3 &x) const |
transform from Lab system into plane | |
TVector3 | toLab (const TVector2 &x) const |
transform from plane coordinates to lab system | |
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 | |
void | Print (const Option_t *="") 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. | |
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 | |
bool | inActive (double u, double v) const |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane | |
bool | inActive (const TVector2 &v) const |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane | |
Private Member Functions | |
void | sane () |
Private Attributes | |
TVector3 | fO |
TVector3 | fU |
TVector3 | fV |
GFAbsFinitePlane * | fFinitePlane |
Friends | |
bool | operator== (const GFDetPlane &lhs, const GFDetPlane &rhs) |
bool | operator!= (const GFDetPlane &lhs, const GFDetPlane &rhs) |
returns NOT == | |
Detector plane genfit geometry class.
A detector plane is the principle object to define coordinate systems for track fitting in genfit. Since a particle trajectory is a one-dimensional object (regardless of any specific parameterization) positions with repect to the track are always meassured in a plane.
Which plane is choosen depends on the type of detector. Fixed plane detectors have their detector plane defined by their mechanical setup. While wire chambers or time projection chambers might want to define a detector plane more flexibly.
This class parameterizes a plane in terms of an origin vector o and two plane-spanning directions u and v.
Definition at line 59 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 59 of file GFDetPlane.h
GFDetPlane::GFDetPlane | ( | GFAbsFinitePlane * | finite = NULL | ) |
Definition at line 37 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 37 of file GFDetPlane.cxx
References fO, fU, fV, and sane().
GFDetPlane::GFDetPlane | ( | const TVector3 & | o, |
const TVector3 & | u, | ||
const TVector3 & | v, | ||
GFAbsFinitePlane * | finite = NULL |
||
) |
GFDetPlane::GFDetPlane | ( | const TVector3 & | o, |
const TVector3 & | n, | ||
GFAbsFinitePlane * | finite = NULL |
||
) |
Definition at line 47 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 47 of file GFDetPlane.cxx
References setNormal().
|
virtual |
Definition at line 54 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 54 of file GFDetPlane.cxx
References fFinitePlane.
GFDetPlane::GFDetPlane | ( | const GFDetPlane & | rhs | ) |
Definition at line 58 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 58 of file GFDetPlane.cxx
References GFAbsFinitePlane::clone(), fFinitePlane, fO, fU, and fV.
TVector3 GFDetPlane::dist | ( | const TVector3 & | point | ) | const |
Definition at line 207 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 207 of file GFDetPlane.cxx
References LabToPlane(), p, toLab(), and x.
Referenced by GFWirepointHitPolicy::detPlane(), GFWireHitPolicy::detPlane(), GFPseudoSpacepointWireHitPolicy::detPlane(), GeaneTrackRep::extrapolate(), GeaneTrackRep::extrapolateToPoint(), pyhimult(), and pymult().
double GFDetPlane::distance | ( | TVector3 | v | ) | const |
Definition at line 343 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 343 of file GFDetPlane.cxx
References fO, fU, fV, Acts::UnitConstants::s, and t.
Referenced by RKTrackRep::Extrap(), and RKTrackRep::RKutta().
double GFDetPlane::distance | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
Definition at line 350 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 350 of file GFDetPlane.cxx
void 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 283 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 283 of file GFDetPlane.cxx
References fO, fU, fV, and getNormal().
TVector3 GFDetPlane::getNormal | ( | ) | const |
Definition at line 138 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 138 of file GFDetPlane.cxx
Referenced by RKTrackRep::calcStateCov(), GenfitTrack2PndTrack(), getGraphics(), GeaneTrackRep::getMom(), GeaneTrackRep::getPosMom(), GeaneTrackRep::getPosMomCov(), RKTrackRep::getState5(), RKTrackRep::getState7(), Print(), RKTrackRep::RKutta(), sane(), straightLineToPlane(), RKTrackRep::transformM6P(), RKTrackRep::transformM7P(), and RKTrackRep::transformPM7().
|
inline |
Definition at line 75 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 75 of file GFDetPlane.h
References fO.
Referenced by GeaneTrackRep::extrapolate(), LSLTrackRep::extrapolate(), GeaneTrackRep::extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), LSLTrackRep::extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GenfitTrack2PndTrack(), GFTools::getBiasedSmoothedPosXYZ(), LSLTrackRep::getMom(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPos(), LSLTrackRep::getPos(), GeaneTrackRep::getPosMom(), LSLTrackRep::getPosMom(), GeaneTrackRep::getPosMomCov(), GFTools::getSmoothedPosXYZ(), RKTrackRep::getState5(), RKTrackRep::getState7(), GFPseudoSpacepointWireHitPolicy::hitCoord(), GFSpacepointHitPolicy::hitCoord(), RKTrackRep::RKutta(), LSLTrackRep::setData(), and LSLTrackRep::stepalong().
|
inline |
Definition at line 76 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 76 of file GFDetPlane.h
References fU.
Referenced by RKTrackRep::calcStateCov(), GeaneTrackRep::extrapolate(), GeaneTrackRep::extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GenfitTrack2PndTrack(), GFTools::getBiasedSmoothedPosXYZ(), GeaneTrackRep::getMom(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPos(), GeaneTrackRep::getPosMom(), GeaneTrackRep::getPosMomCov(), GFTools::getSmoothedPosXYZ(), RKTrackRep::getState5(), RKTrackRep::getState7(), GFPseudoSpacepointWireHitPolicy::hitCoord(), GFSpacepointHitPolicy::hitCoord(), GFPseudoSpacepointWireHitPolicy::hitCov(), GFSpacepointHitPolicy::hitCov(), RKTrackRep::transformM6P(), RKTrackRep::transformM7P(), RKTrackRep::transformPM6(), and RKTrackRep::transformPM7().
|
inline |
Definition at line 77 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 77 of file GFDetPlane.h
References fV.
Referenced by RKTrackRep::calcStateCov(), GFWirepointHitPolicy::checkPlane(), GFWireHitPolicy::checkPlane(), GeaneTrackRep::extrapolate(), GeaneTrackRep::extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GenfitTrack2PndTrack(), GFTools::getBiasedSmoothedPosXYZ(), GeaneTrackRep::getMom(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPos(), GeaneTrackRep::getPosMom(), GeaneTrackRep::getPosMomCov(), GFTools::getSmoothedPosXYZ(), RKTrackRep::getState5(), RKTrackRep::getState7(), GFPseudoSpacepointWireHitPolicy::hitCoord(), GFSpacepointHitPolicy::hitCoord(), GFPseudoSpacepointWireHitPolicy::hitCov(), GFSpacepointHitPolicy::hitCov(), RKTrackRep::transformM6P(), RKTrackRep::transformM7P(), RKTrackRep::transformPM6(), and RKTrackRep::transformPM7().
|
inline |
intersect in the active area? C.f. GFAbsFinitePlane
Definition at line 132 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 132 of file GFDetPlane.h
References straightLineToPlane().
Referenced by RKTrackRep::estimateStep(), RKTrackRep::Extrap(), and inActive().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 137 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 137 of file GFDetPlane.h
References fFinitePlane, and GFAbsFinitePlane::inActive().
|
inline |
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Definition at line 143 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 143 of file GFDetPlane.h
References inActive().
TVector2 GFDetPlane::LabToPlane | ( | const TVector3 & | x | ) | const |
transform from Lab system into plane
Definition at line 189 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 189 of file GFDetPlane.cxx
References d, fO, and project().
Referenced by dist().
GFDetPlane & GFDetPlane::operator= | ( | const GFDetPlane & | rhs | ) |
Definition at line 65 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 65 of file GFDetPlane.cxx
References GFAbsFinitePlane::clone(), fFinitePlane, fO, fU, and fV.
void GFDetPlane::Print | ( | const Option_t * | option = "" | ) | const |
Definition at line 238 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 238 of file GFDetPlane.cxx
References fFinitePlane, fO, fU, fV, getNormal(), and GFAbsFinitePlane::Print().
Referenced by GFBookkeeping::Print(), GFAbsTrackRep::Print(), and RKTrackRep::RKutta().
TVector2 GFDetPlane::project | ( | const TVector3 & | x | ) | const |
projecting a direction onto the plane:
Definition at line 181 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 181 of file GFDetPlane.cxx
Referenced by LabToPlane(), and straightLineToPlane().
|
private |
Definition at line 217 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 217 of file GFDetPlane.cxx
References fU, fV, getNormal(), n, and v.
Referenced by GFDetPlane(), set(), setO(), setU(), setUV(), and setV().
void GFDetPlane::set | ( | const TVector3 & | o, |
const TVector3 & | u, | ||
const TVector3 & | v | ||
) |
Definition at line 83 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 83 of file GFDetPlane.cxx
References fO, fU, fV, sane(), Acts::UnitConstants::u, and v.
Referenced by 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.
View newest version in sPHENIX GitHub at line 96 of file GFDetPlane.h
References fFinitePlane.
void GFDetPlane::setNormal | ( | TVector3 | n | ) |
Definition at line 156 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 156 of file GFDetPlane.cxx
Referenced by GFSpacepointHitPolicy::detPlane(), GFDetPlane(), setNormal(), setON(), and trackProximity().
void GFDetPlane::setNormal | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 151 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 151 of file GFDetPlane.cxx
References charm_jet_strange_helicity::N, and setNormal().
void GFDetPlane::setNormal | ( | const double & | theta, |
const double & | phi | ||
) |
Definition at line 175 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 175 of file GFDetPlane.cxx
References n, and setNormal().
void GFDetPlane::setO | ( | const TVector3 & | o | ) |
Definition at line 92 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 92 of file GFDetPlane.cxx
Referenced by GFSpacepointHitPolicy::detPlane(), RKTrackRep::extrapolateToLine(), LSLTrackRep::extrapolateToPoint(), LSLTrackRep::stepalong(), and trackProximity().
void GFDetPlane::setO | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 98 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 98 of file GFDetPlane.cxx
void GFDetPlane::setON | ( | const TVector3 & | o, |
const TVector3 & | n | ||
) |
Definition at line 145 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 145 of file GFDetPlane.cxx
References fO, and setNormal().
Referenced by RKTrackRep::calcState(), RKTrackRep::extrapolateToPoint(), and RKTrackRep::stepalong().
void GFDetPlane::setU | ( | const TVector3 & | u | ) |
Definition at line 105 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 105 of file GFDetPlane.cxx
References fU, sane(), and Acts::UnitConstants::u.
Referenced by RKTrackRep::extrapolateToLine(), and LSLTrackRep::extrapolateToPoint().
void GFDetPlane::setU | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 111 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 111 of file GFDetPlane.cxx
void GFDetPlane::setUV | ( | const TVector3 & | u, |
const TVector3 & | v | ||
) |
Definition at line 130 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 130 of file GFDetPlane.cxx
References fU, fV, sane(), Acts::UnitConstants::u, and v.
void GFDetPlane::setV | ( | const TVector3 & | v | ) |
Definition at line 118 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 118 of file GFDetPlane.cxx
Referenced by RKTrackRep::extrapolateToLine(), and LSLTrackRep::extrapolateToPoint().
void GFDetPlane::setV | ( | double | X, |
double | Y, | ||
double | Z | ||
) |
Definition at line 124 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 124 of file GFDetPlane.cxx
TVector2 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 359 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 359 of file GFDetPlane.cxx
References fO, getNormal(), project(), and t.
Referenced by inActive().
TVector3 GFDetPlane::toLab | ( | const TVector2 & | x | ) | const |
transform from plane coordinates to lab system
Definition at line 196 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 196 of file GFDetPlane.cxx
Referenced by dist().
|
friend |
returns NOT ==
Definition at line 278 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 278 of file GFDetPlane.cxx
|
friend |
this operator is called very often in Kalman filtering. It checks equality of planes by comparing the 9 double values that define them.
Definition at line 259 of file GFDetPlane.cxx.
View newest version in sPHENIX GitHub at line 259 of file GFDetPlane.cxx
|
private |
Definition at line 156 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 156 of file GFDetPlane.h
Referenced by GFDetPlane(), inActive(), operator=(), Print(), setFinitePlane(), and ~GFDetPlane().
|
private |
Definition at line 151 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 151 of file GFDetPlane.h
Referenced by distance(), getGraphics(), getO(), GFDetPlane(), LabToPlane(), operator=(), operator==(), Print(), set(), setO(), setON(), straightLineToPlane(), and toLab().
|
private |
Definition at line 153 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 153 of file GFDetPlane.h
Referenced by distance(), getGraphics(), getNormal(), getU(), GFDetPlane(), operator=(), operator==(), Print(), project(), sane(), set(), setNormal(), setU(), setUV(), and toLab().
|
private |
Definition at line 154 of file GFDetPlane.h.
View newest version in sPHENIX GitHub at line 154 of file GFDetPlane.h
Referenced by distance(), getGraphics(), getNormal(), getV(), GFDetPlane(), operator=(), operator==(), Print(), project(), sane(), set(), setNormal(), setUV(), setV(), and toLab().