39 #include "TPolyMarker3D.h" 40 #include "TPolyLine3D.h" 68 TVector3
getO()
const {
return fO; }
69 TVector3
getU()
const {
return fU; }
70 TVector3
getV()
const {
return fV; }
73 void set(
const TVector3 &o,
const TVector3 &u,
const TVector3 &
v);
75 void setO(
const TVector3 &o);
76 void setO(
double,
double,
double);
77 void setU(
const TVector3 &u);
78 void setU(
double,
double,
double);
79 void setV(
const TVector3 &v);
80 void setV(
double,
double,
double);
81 void setUV(
const TVector3 &u,
const TVector3 &v);
82 void setON(
const TVector3 &o,
const TVector3 &n);
93 void setNormal(
const double &theta,
const double &phi);
95 TVector2
project(
const TVector3 &x)
const;
99 TVector3
toLab(
const TVector2 &x)
const;
101 TVector3
dist(
const TVector3 &point)
const;
109 void getGraphics(
double mesh,
double length, TPolyMarker3D **pl, TPolyLine3D **plLine, TPolyLine3D **u, TPolyLine3D **v, TPolyLine3D **n =
nullptr);
118 double distance(
double,
double,
double)
const;
126 if (fFinitePlane ==
nullptr)
128 return fFinitePlane->
inActive(u, v);
void setFinitePlane(GFAbsFinitePlane *finite)
TVector2 straightLineToPlane(const TVector3 &point, const TVector3 &dir) const
gives u,v coordinates of the intersection point of a straight line with plane
void getGraphics(double mesh, double length, TPolyMarker3D **pl, TPolyLine3D **plLine, TPolyLine3D **u, TPolyLine3D **v, TPolyLine3D **n=nullptr)
for poor attempts of making an event display. There is a lot of room for improvements.
Detector plane genfit geometry class.
void setU(const TVector3 &u)
void setON(const TVector3 &o, const TVector3 &n)
void setO(const TVector3 &o)
TVector2 LabToPlane(const TVector3 &x) const
transform from Lab system into plane
GFDetPlane & operator=(const GFDetPlane &)
TVector3 toLab(const TVector2 &x) const
transform from plane coordinates to lab system
void setNormal(TVector3 n)
bool inActive(double u, double v) const
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
TVector2 project(const TVector3 &x) const
projecting a direction onto the plane:
friend bool operator==(const GFDetPlane &lhs, const GFDetPlane &rhs)
TVector3 dist(const TVector3 &point) const
GFDetPlane(GFAbsFinitePlane *finite=nullptr)
double distance(TVector3 &) const
void setUV(const TVector3 &u, const TVector3 &v)
bool inActive(const TVector3 &point, const TVector3 &dir) const
intersect in the active area? C.f. GFAbsFinitePlane
void setV(const TVector3 &v)
friend bool operator!=(const GFDetPlane &lhs, const GFDetPlane &rhs)
returns NOT ==
virtual bool inActive(const double &u, const double &v) const =0
TVector3 getNormal() const
bool inActive(const TVector2 &v) const
inActive methods refer to finite plane. C.f. GFAbsFinitePlane
Abstract base class for implementing arbitrarily shaped finite detector planes.