76 #ifndef SURFXYZPLANE_H
77 #define SURFXYZPLANE_H
95 double nx,
double ny,
double nz);
114 virtual void toLocal(
const double xyz[3],
double uvw[3])
const;
117 virtual void toGlobal(
const double uvw[3],
double xyz[3])
const;
136 virtual std::ostream&
Print(std::ostream& out)
const;
virtual void getPosition(const TrackVector &vec, double xyz[3]) const
Get position of track.
TrackDirection
Track direction enum.
virtual bool isEqual(const Surface &surf) const
Test two surfaces for equality, within tolerance.
double y0() const
Y origin.
virtual std::ostream & Print(std::ostream &out) const
Printout.
static double fPhiTolerance
Phi tolerance for parallel.
virtual bool isParallel(const Surface &surf) const
Test whether two surfaces are parallel, within tolerance.
static double fSepTolerance
Separation tolerance for equal.
virtual bool isTrackValid(const TrackVector &vec) const
Surface-specific tests of validity of track parameters.
virtual double distanceTo(const Surface &surf) const
Find perpendicular forward distance to a parallel surface.
double phi() const
Rot. angle about x-axis (wire angle).
double x0() const
X origin.
virtual void toLocal(const double xyz[3], double uvw[3]) const
Transform global to local coordinates.
SurfXYZPlane()
Default constructor.
KVector< 5 >::type TrackVector
Track state vector, dimension 5.
double theta() const
Rot. angle about y'-axis (projected Lorentz angle).
virtual void toGlobal(const double uvw[3], double xyz[3]) const
Transform local to global coordinates.
Base class for Kalman filter planar surfaces.
double fTheta
Rotation angle about y'-axis (projected Lorentz angle).
static double fThetaTolerance
Theta tolerance for parallel.
double z0() const
Z origin.
virtual ~SurfXYZPlane()
Destructor.
double fPhi
Rotation angle about x-axis (wire angle).
virtual void getMomentum(const TrackVector &vec, double mom[3], TrackDirection dir=UNKNOWN) const
Get momentum vector of track.
virtual Surface * clone() const
Clone method.