StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Helper.h
1 /***************************************************************************
2  *
3  * $Id: Helper.h,v 1.2 2002/04/03 00:37:41 jklay Exp $
4  *
5  * Author: Bum Choi, UT Austin, Apr 2002
6  *
7  ***************************************************************************
8  *
9  * Description: This class contains methods used by StHiMicroMaker to
10  * generate highpt uDST's from StEvent for highpt Analysis.
11  *
12  ***************************************************************************
13  *
14  * $Log: Helper.h,v $
15  * Revision 1.2 2002/04/03 00:37:41 jklay
16  * Fixed some bugs, added new version of dcaz
17  *
18  * Revision 1.2 2002/04/03 00:23:27 jklay
19  * Fixed private member access bugs in analysis code
20  *
21  * Revision 1.1 2002/04/02 20:00:41 jklay
22  * Bums highpt uDST Maker
23  *
24  *
25  **************************************************************************/
26 #ifndef Helper_HH
27 #define Helper_HH
28 
29 #include "StEventTypes.h"
30 #include "StPhysicalHelixD.hh"
31 //#include "StThreeVectorD.hh"
32 //#include "StThreeVectorF.hh"
33 
34 
35 double distance(double a1, double b1, double a2, double b2);
36 double distance(const StThreeVectorF& point1,
37  const StThreeVectorF& point2);
38 
39 double dca3d(const StPhysicalHelixD&, const StThreeVectorF& point);
40 
41 double dca2d(const StPhysicalHelixD&, const StThreeVectorF& point,
42  const StThreeVectorF* origin=0);
43 
44 double dcaz(const StPhysicalHelixD&, const StThreeVectorF& point,
45  const StTrack* track=0);
46 
47 /* This was replaced by the above function - JLK 2.APR.2002
48 double dcaz(const StPhysicalHelixD&, const StThreeVectorF& point);
49 */
50 
51 double crossingAngle(const StPhysicalHelixD& helix,
52  const StTpcHit* hit, float bField=0);
53 
54 double padrowDca(const StPhysicalHelixD& helix,
55  const StTpcHit* hit);
56 
57 // helix stuff
58 //
59 double propagateToPadrow(const StPhysicalHelixD& helix,
60  const StTpcHit* hit);
61 double helixPadrowDca(const StPhysicalHelixD& helix,
62  const StTpcHit* hit);
63 double helixCrossingAngle(const StPhysicalHelixD& helix,
64  const StTpcHit* hit, float bField);
65 
66 double helixDca2D(const StPhysicalHelixD&,const StThreeVectorF& point);
67 
68 
69 // straight line residual stuff
70 //
71 StThreeVectorF lineAt2d(const StPhysicalHelixD&, const StThreeVectorF& point);
72 
73 double
74 linePadrowDca(const StPhysicalHelixD& helix,
75  const StTpcHit* hit);
76 
77 double
78 lineCrossingAngle(const StPhysicalHelixD& helix,
79  const StTpcHit* hit);
80 
81 double
82 lineCrossingAngle(const StPhysicalHelixD& helix,
83  const int sector);
84 
85 double
86 lineDca2D(const StPhysicalHelixD& helix,
87  const StThreeVectorF& hit,
88  const StThreeVectorF& origin);
89 
90 #endif