StRoot  1
StPhysicalHelix.hh
1 /***************************************************************************
2  *
3  * \$Id: StPhysicalHelix.hh,v 1.4 2005/07/06 18:49:56 fisyak Exp \$
4  *
5  * Author: Brian Lasiuk, Sep 1997
6  ***************************************************************************
7  *
8  * Description:
9  * Parametrization of a physical helix. See the SCL user guide for more.
10  *
11  ***************************************************************************
12  *
13  * \$Log: StPhysicalHelix.hh,v \$
14  * Revision 1.4 2005/07/06 18:49:56 fisyak
15  * Replace StHelixD, StLorentzVectorD,StLorentzVectorF,StMatrixD,StMatrixF,StPhysicalHelixD,StThreeVectorD,StThreeVectorF by templated version
16  *
17  * Revision 1.3 2002/06/21 17:49:26 genevb
18  * Some minor speed improvements
19  *
20  * Revision 1.2 2002/02/20 00:56:23 ullrich
21  * Added methods to calculate signed DCA.
22  *
23  * Revision 1.1 1999/01/30 03:59:04 fisyak
24  * Root Version of StarClassLibrary
25  *
26  * Revision 1.1 1999/01/23 00:27:59 ullrich
27  * Initial Revision
28  *
29  **************************************************************************/
30 #ifndef ST_PHYSICAL_HELIX_HH
31 #define ST_PHYSICAL_HELIX_HH
32
33 #include "StThreeVector.hh"
34 #include "StHelix.hh"
35
36 class StPhysicalHelix : public StHelix {
37 public:
38  // Requires: momentum, origin, signed Magnetic Field
39  // and Charge of particle (+/- 1)
41  const StThreeVector<double>&,
42  double, double);
43
44  // curvature, dip angle, phase, origin, h
45  StPhysicalHelix(double, double, double,
46  const StThreeVector<double>&, int h=-1);
48
49  ~StPhysicalHelix();
50
51  // Requires: signed Magnetic Field
52  StThreeVector<double> momentum(double) const; // returns the momentum at origin
53  StThreeVector<double> momentumAt(double, double) const; // returns momemtum at S
54  int charge(double) const; // returns charge of particle
55  // 2d DCA to x,y point signed relative to curvature
56  double curvatureSignedDistance(double x, double y) ;
57  // 2d DCA to x,y point signed relative to rotation
58  double geometricSignedDistance(double x, double y) ;
59  // 3d DCA to 3d point signed relative to curvature
60  double curvatureSignedDistance(const StThreeVector<double>&) ;
61  // 3d DCA to 3d point signed relative to rotation
62  double geometricSignedDistance(const StThreeVector<double>&) ;
63
64 #ifdef __ROOT__
65  ClassDef(StPhysicalHelix,1)
66 #endif
67 };
68
69 #endif
int h() const
y-center of circle in xy-plane
Definition: StHelix.hh:174
double x(double s) const
coordinates of helix at point s
Definition: StHelix.hh:182