00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef Helper_HH
00030 #define Helper_HH
00031
00032 #include "StEventTypes.h"
00033 #include "StPhysicalHelixD.hh"
00034
00035
00036
00037
00038 double distance(double a1, double b1, double a2, double b2);
00039 double distance(const StThreeVectorF& point1,
00040 const StThreeVectorF& point2);
00041
00042 double dca3d(const StPhysicalHelixD&, const StThreeVectorF& point);
00043
00044 double dca2d(const StPhysicalHelixD&, const StThreeVectorF& point,
00045 const StThreeVectorF* origin=0);
00046
00047 double dcaz(const StPhysicalHelixD&, const StThreeVectorF& point,
00048 const StTrack* track=0);
00049
00050
00051
00052
00053
00054 double crossingAngle(const StPhysicalHelixD& helix,
00055 const StTpcHit* hit, float bField=0);
00056
00057 double padrowDca(const StPhysicalHelixD& helix,
00058 const StTpcHit* hit);
00059
00060
00061
00062 double propagateToPadrow(const StPhysicalHelixD& helix,
00063 const StTpcHit* hit);
00064 double helixPadrowDca(const StPhysicalHelixD& helix,
00065 const StTpcHit* hit);
00066 double helixCrossingAngle(const StPhysicalHelixD& helix,
00067 const StTpcHit* hit, float bField);
00068
00069 double helixDca2D(const StPhysicalHelixD&,const StThreeVectorF& point);
00070
00071
00072
00073
00074 StThreeVectorF lineAt2d(const StPhysicalHelixD&, const StThreeVectorF& point);
00075
00076 double
00077 linePadrowDca(const StPhysicalHelixD& helix,
00078 const StTpcHit* hit);
00079
00080 double
00081 lineCrossingAngle(const StPhysicalHelixD& helix,
00082 const StTpcHit* hit);
00083
00084 double
00085 lineCrossingAngle(const StPhysicalHelixD& helix,
00086 const int sector);
00087
00088 double
00089 lineDca2D(const StPhysicalHelixD& helix,
00090 const StThreeVectorF& hit,
00091 const StThreeVectorF& origin);
00092
00093 #endif