MarlinUtil  1.12.1
SimpleLine.h
1 #ifndef SimpleLine_H
2 #define SimpleLine_H 1
3 
4 #include "Trajectory.h"
5 #include <LCLine3D.h>
6 
12 class SimpleLine : public Trajectory {
13 
14 protected:
15  SimpleLine() {}
16 
17  LCLine3D _line;
18 
19 public:
20 
21  virtual ~SimpleLine() {}
22 
25  SimpleLine( LCVector3D ref , LCVector3D direction ) ;
26 
31  virtual LCVector3D getPosition(double s, LCErrorMatrix* errors=0) const ;
32 
37  virtual LCVector3D getDirection(double s, LCErrorMatrix* errors=0) const ;
38 
42  virtual LCErrorMatrix getCovarianceMatrix( double s) const ;
43 
44 
50  virtual double getPathAt(const LCVector3D position ) const ;
51 
52 
53  /*----------------------------------------------------------------------*/
54 
58  virtual double getIntersectionWithPlane( LCPlane3D p, bool& pointExists) const ;
59 
60 
65  virtual double getIntersectionWithCylinder(const LCCylinder & cylinder,
66  bool & pointExists) const ;
67 
68 }; // class
69 
70 
71 
72 // /** Physical trajectory describing a (charged) particle's path in a B
73 // * field and material.
74 // * @author F.Gaede, DESY
75 // * @version $Id: SimpleLine.h,v 1.4 2006-10-25 09:21:37 tkraemer Exp $
76 // */
77 
78 // class PhysicalSimpleLine : public SimpleLine{
79 
80 // /** Particle's momentum at path length s. Implementations will have to have knowledge
81 // * about the particle type, B-field and material.
82 // */
83 // virtual LCLorentzVector get4Momentum( double s ) const ;
84 // }
85 
86 
87 #endif /* ifndef SimpleLine_H */
virtual double getPathAt(const LCVector3D position) const
Pathlength at point on trajectory closest to given position.
Definition: SimpleLine.cc:32
virtual double getIntersectionWithPlane(LCPlane3D p, bool &pointExists) const
Pathlength at closest intersection point with plane - undefined if pointExists==false.
Definition: SimpleLine.cc:37
Abstract trajectory interface describing a geometrical path in 3D space.
Definition: Trajectory.h:13
virtual LCVector3D getPosition(double s, LCErrorMatrix *errors=0) const
Position at path length s - s==0 corresponds to P.C.A to the origin.
Definition: SimpleLine.cc:11
Simple line trajectory.
Definition: SimpleLine.h:12
Definition of a LCLine3D describing a geometrical line in 3D space.
Definition: LCLine3D.h:13
virtual LCErrorMatrix getCovarianceMatrix(double s) const
Full covariance Matrix of x,y,z,px,py,pz.
Definition: SimpleLine.cc:27
Definition of a LCPlane3D describing a geometrical plane in 3D space.
Definition: LCPlane3D.h:12
virtual double getIntersectionWithCylinder(const LCCylinder &cylinder, bool &pointExists) const
Pathlength at closest intersection point with cylinder - undefined if pointExists==false.
Definition: SimpleLine.cc:43
virtual LCVector3D getDirection(double s, LCErrorMatrix *errors=0) const
Direction at path length s, i.e.
Definition: SimpleLine.cc:19
Definition of a LCCylinder describing a geometrical cylinder in 3D space.
Definition: LCCylinder.h:12