Belle II Software  release-08-01-10
DetPlane Class Reference

Detector plane. More...

#include <DetPlane.h>

Inheritance diagram for DetPlane:
Collaboration diagram for DetPlane:

Public Member Functions

 DetPlane (AbsFinitePlane *finite=nullptr)
 
 DetPlane (const TVector3 &o, const TVector3 &u, const TVector3 &v, AbsFinitePlane *finite=nullptr)
 
 DetPlane (const TVector3 &o, const TVector3 &n, AbsFinitePlane *finite=nullptr)
 
 DetPlane (const DetPlane &)
 
DetPlaneoperator= (DetPlane)
 
void swap (DetPlane &other)
 
const TVector3 & getO () const
 
const TVector3 & getU () const
 
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 (AbsFinitePlane *finite)
 Optionally, set the finite plane definition. More...
 
TVector3 getNormal () const
 
void setNormal (const 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 straightLineToPlane (const double &posX, const double &posY, const double &posZ, const double &dirX, const double &dirY, const double &dirZ, double &u, double &v) const
 gives u,v coordinates of the intersection point of a straight line with plane
 
void Print (const Option_t *="") const
 
double distance (const TVector3 &point) const
 absolute distance from a point to the plane
 
double distance (double, double, double) const
 
bool isInActive (const TVector3 &point, const TVector3 &dir) const
 intersect in the active area? C.f. AbsFinitePlane
 
bool isInActive (const double &posX, const double &posY, const double &posZ, const double &dirX, const double &dirY, const double &dirZ) const
 intersect in the active area? C.f. AbsFinitePlane
 
bool isInActive (double u, double v) const
 isInActive methods refer to finite plane. C.f. AbsFinitePlane
 
bool isInActive (const TVector2 &v) const
 isInActive methods refer to finite plane. C.f. AbsFinitePlane
 
bool isFinite () const
 
void rotate (double angle)
 rotate u and v around normal. Angle is in rad. More for debugging than for actual use.
 
void reset ()
 delete finitePlane_ and set O, U, V to default values
 

Private Member Functions

void sane ()
 ensures orthonormal coordinates
 

Private Attributes

TVector3 o_
 
TVector3 u_
 
TVector3 v_
 
std::unique_ptr< AbsFinitePlanefinitePlane_
 

Friends

bool operator== (const DetPlane &lhs, const DetPlane &rhs)
 Checks equality of planes by comparing the 9 double values that define them.
 
bool operator!= (const DetPlane &lhs, const DetPlane &rhs)
 returns NOT ==
 

Detailed Description

Detector plane.

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 respect to the track are always measured in a plane.

Which plane is chosen 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 DetPlane.h.

Member Function Documentation

◆ setFinitePlane()

void setFinitePlane ( AbsFinitePlane finite)
inline

Optionally, set the finite plane definition.

This is most important for avoiding fake intersection points in fitting of curlers. This should be implemented for silicon detectors most importantly.

Definition at line 103 of file DetPlane.h.


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