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