40 #include "TPolyMarker3D.h"
41 #include "TPolyLine3D.h"
80 void set(
const TVector3& o,
84 void setO(
const TVector3& o);
85 void setO(
double,
double,
double);
86 void setU(
const TVector3& u);
87 void setU(
double,
double,
double);
88 void setV(
const TVector3& v);
89 void setV(
double,
double,
double);
90 void setUV(
const TVector3& u,
const TVector3& v);
91 void setON(
const TVector3& o,
const TVector3& n);
104 TVector2
project(
const TVector3&
x)
const;
108 TVector3
toLab(
const TVector2&
x)
const;
110 TVector3
dist(
const TVector3&
point)
const;
119 void getGraphics(
double mesh,
double length, TPolyMarker3D **pl, TPolyLine3D **plLine,TPolyLine3D **u, TPolyLine3D **v, TPolyLine3D **n=NULL);
128 double distance(
double,
double,
double)
const;
void setFinitePlane(GFAbsFinitePlane *finite)
GFDetPlane & operator=(const GFDetPlane &)
void set(const TVector3 &o, const TVector3 &u, const TVector3 &v)
Detector plane genfit geometry class.
void setU(const TVector3 &u)
GFDetPlane(GFAbsFinitePlane *finite=NULL)
void setON(const TVector3 &o, const TVector3 &n)
void setO(const TVector3 &o)
double distance(TVector3 &) const
GFAbsFinitePlane * fFinitePlane
bool inActive(const TVector2 &v) const
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
void setNormal(TVector3 n)
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.
TVector2 project(const TVector3 &x) const
projecting a direction onto the plane:
friend bool operator==(const GFDetPlane &lhs, const GFDetPlane &rhs)
TVector2 straightLineToPlane(const TVector3 &point, const TVector3 &dir) const
gives u,v coordinates of the intersection point of a straight line with plane
TVector3 toLab(const TVector2 &x) const
transform from plane coordinates to lab system
void setUV(const TVector3 &u, const TVector3 &v)
TVector2 LabToPlane(const TVector3 &x) const
transform from Lab system into plane
void setV(const TVector3 &v)
friend bool operator!=(const GFDetPlane &lhs, const GFDetPlane &rhs)
returns NOT ==
bool inActive(const TVector3 &point, const TVector3 &dir) const
intersect in the active area? C.f. GFAbsFinitePlane
TVector3 getNormal() const
virtual bool inActive(const double &u, const double &v) const =0
Abstract base class for implementing arbitrarily shaped finite detector planes.
bool inActive(double u, double v) const
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
TVector3 dist(const TVector3 &point) const