ROOT logo
#ifndef HKALGEOMTOOLS_H_
#define HKALGEOMTOOLS_H_

#include "TObject.h"
class TVector3;

class HKalGeomTools : public TObject {

public:
    HKalGeomTools() { }

    virtual ~HKalGeomTools() { }

    static Double_t distance2Points           (const TVector3 &vec1, const TVector3 &vec2);

    static Double_t distancePointToPlane      (const TVector3 &point, const TVector3 &planeCenter, const TVector3 &planeNormal);

    static Double_t distancePointToLine       (TVector3 &pca, Int_t &pcaFlag, const TVector3 &point, const TVector3 &segPoint1, const TVector3 &segPoint2);

    static Double_t distancePointToSegment    (const TVector3 &point, const TVector3 &segPoint1, const TVector3 &segPoint2);

    static Double_t distancePointToSegment    (TVector3 &pca, Int_t &pcaFlag, const TVector3 &point, const TVector3 &segPoint1, const TVector3 &segPoint2);

    static Bool_t   findIntersectionLinePlane (TVector3 &pointIntersect, const TVector3 &pos, const TVector3 &dir,
                                               const TVector3 &planeCenter, const  TVector3 &planeNormal);

    static Bool_t   isPointOnPlane            (const TVector3 &point, const TVector3 &planeCenter, const TVector3 &planeNormal);

    static Double_t signedDistancePointToPlane(const TVector3 &point, const TVector3 &planeCenter, const TVector3 &planeNormal);

    static void     Track2ToLine              (TVector3 &Pfinal, TVector3 &Pwire, Int_t &Iflag,
                                               Double_t &Dist, Double_t &Length,
                                               const TVector3 &X1, const TVector3 &X2,
					       const TVector3 &w1, const TVector3 &w2);

    static void     TransModuleToSector       (Double_t &x, Double_t &y, Double_t &z, Int_t sector, Int_t module);

    static void     TransLayerToSector        (Double_t &x, Double_t &y, Double_t &z, Int_t sector, Int_t module, Int_t layer);

    ClassDef(HKalGeomTools, 0)
};

#endif /* HKALGEOMTOOLS_H_ */
 hkalgeomtools.h:1
 hkalgeomtools.h:2
 hkalgeomtools.h:3
 hkalgeomtools.h:4
 hkalgeomtools.h:5
 hkalgeomtools.h:6
 hkalgeomtools.h:7
 hkalgeomtools.h:8
 hkalgeomtools.h:9
 hkalgeomtools.h:10
 hkalgeomtools.h:11
 hkalgeomtools.h:12
 hkalgeomtools.h:13
 hkalgeomtools.h:14
 hkalgeomtools.h:15
 hkalgeomtools.h:16
 hkalgeomtools.h:17
 hkalgeomtools.h:18
 hkalgeomtools.h:19
 hkalgeomtools.h:20
 hkalgeomtools.h:21
 hkalgeomtools.h:22
 hkalgeomtools.h:23
 hkalgeomtools.h:24
 hkalgeomtools.h:25
 hkalgeomtools.h:26
 hkalgeomtools.h:27
 hkalgeomtools.h:28
 hkalgeomtools.h:29
 hkalgeomtools.h:30
 hkalgeomtools.h:31
 hkalgeomtools.h:32
 hkalgeomtools.h:33
 hkalgeomtools.h:34
 hkalgeomtools.h:35
 hkalgeomtools.h:36
 hkalgeomtools.h:37
 hkalgeomtools.h:38
 hkalgeomtools.h:39
 hkalgeomtools.h:40
 hkalgeomtools.h:41
 hkalgeomtools.h:42
 hkalgeomtools.h:43