EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GFDetPlane Class Reference

Detector plane genfit geometry class. More...

#include <EicRoot/blob/master/genfit/GFDetPlane.h>

+ Inheritance diagram for GFDetPlane:
+ Collaboration diagram for GFDetPlane:

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 &)
 
GFDetPlaneoperator= (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
 
GFAbsFinitePlanefFinitePlane
 

Friends

bool operator== (const GFDetPlane &lhs, const GFDetPlane &rhs)
 
bool operator!= (const GFDetPlane &lhs, const GFDetPlane &rhs)
 returns NOT ==
 

Detailed Description

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

Constructor & Destructor Documentation

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().

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

GFDetPlane::~GFDetPlane ( )
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.

+ Here is the call graph for this function:

Member Function Documentation

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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().

+ Here is the caller graph for this function:

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

References fO, fU, fV, Acts::UnitConstants::s, t, and v.

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().

+ Here is the call graph for this function:

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

References fU, and fV.

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().

+ Here is the caller graph for this function:

bool GFDetPlane::inActive ( const TVector3 &  point,
const TVector3 &  dir 
) const
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool GFDetPlane::inActive ( double  u,
double  v 
) const
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().

+ Here is the call graph for this function:

bool GFDetPlane::inActive ( const TVector2 &  v) const
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().

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References fU, fV, and x.

Referenced by LabToPlane(), and straightLineToPlane().

+ Here is the caller graph for this function:

void GFDetPlane::sane ( )
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void GFDetPlane::setFinitePlane ( GFAbsFinitePlane finite)
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

References fU, and fV.

Referenced by GFSpacepointHitPolicy::detPlane(), GFDetPlane(), setNormal(), setON(), and trackProximity().

+ Here is the caller graph for this function:

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().

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

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

References fO, and sane().

Referenced by GFSpacepointHitPolicy::detPlane(), RKTrackRep::extrapolateToLine(), LSLTrackRep::extrapolateToPoint(), LSLTrackRep::stepalong(), and trackProximity().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References fO, and sane().

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References fU, and sane().

+ Here is the call graph for this function:

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.

+ Here is the call graph for this function:

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

References fV, sane(), and v.

Referenced by RKTrackRep::extrapolateToLine(), and LSLTrackRep::extrapolateToPoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References fV, and sane().

+ Here is the call graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

References d, fO, fU, and fV.

Referenced by dist().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

bool operator!= ( const GFDetPlane lhs,
const GFDetPlane rhs 
)
friend

returns NOT ==

Definition at line 278 of file GFDetPlane.cxx.

View newest version in sPHENIX GitHub at line 278 of file GFDetPlane.cxx

bool operator== ( const GFDetPlane lhs,
const GFDetPlane rhs 
)
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

Member Data Documentation

GFAbsFinitePlane* GFDetPlane::fFinitePlane
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().

TVector3 GFDetPlane::fO
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().

TVector3 GFDetPlane::fU
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().

TVector3 GFDetPlane::fV
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().


The documentation for this class was generated from the following files: