MarlinUtil  1.12.1
Trajectory.h
1 #ifndef Trajectory_H
2 #define Trajectory_H 1
3 
4 #include <LCGeometryTypes.h>
5 #include <LCPlane3D.h>
6 #include <LCCylinder.h>
7 
13 class Trajectory {
14 
15 public:
16 
21  virtual LCVector3D getPosition(double s, LCErrorMatrix* errors=0) const = 0;
22 
27  virtual LCVector3D getDirection(double s, LCErrorMatrix* errors=0) const = 0;
28 
32  virtual LCErrorMatrix getCovarianceMatrix( double s) const = 0;
33 
34 
41  virtual double getPathAt(const LCVector3D position ) const = 0;
42 
43 
44  /*----------------------------------------------------------------------*/
45 
49  virtual double getIntersectionWithPlane( LCPlane3D p, bool& pointExists) const = 0 ;
50 
51 
56  virtual double getIntersectionWithCylinder(const LCCylinder & cylinder,
57  bool & pointExists) const = 0;
58 
59  virtual ~Trajectory(){ ; } ;
60 }; // class
61 
62 
63 
71 
75  virtual LCLorentzVector get4Momentum( double s ) const = 0;
76 
77  virtual ~PhysicalTrajectory(){ ; } ;
78 };
79 
80 
81 #endif /* ifndef Trajectory_H */
virtual double getIntersectionWithCylinder(const LCCylinder &cylinder, bool &pointExists) const =0
Pathlength at closest intersection point with cylinder - undefined if pointExists==false.
virtual LCVector3D getPosition(double s, LCErrorMatrix *errors=0) const =0
Position at path length s - s==0 corresponds to P.C.A to the origin.
Abstract trajectory interface describing a geometrical path in 3D space.
Definition: Trajectory.h:13
virtual LCErrorMatrix getCovarianceMatrix(double s) const =0
Full covariance Matrix of x,y,z,px,py,pz.
Physical trajectory describing a (charged) particle's path in a B field and material.
Definition: Trajectory.h:70
virtual LCVector3D getDirection(double s, LCErrorMatrix *errors=0) const =0
Direction at path length s, i.e.
virtual double getPathAt(const LCVector3D position) const =0
Pathlength at point on trajectory closest to given position.
Definition of a LCPlane3D describing a geometrical plane in 3D space.
Definition: LCPlane3D.h:12
virtual double getIntersectionWithPlane(LCPlane3D p, bool &pointExists) const =0
Pathlength at closest intersection point with plane - undefined if pointExists==false.
Definition of a LCCylinder describing a geometrical cylinder in 3D space.
Definition: LCCylinder.h:12