ROOT logo
#ifndef HKalPlane_h
#define HKalPlane_h

// from ROOT
#include "TObject.h"
#include "TVector3.h"

class HKalPlane : public TObject {

 private:
    TVector3 vCenter; //! A point on the plane.
    TVector3 vNormal; //! Normal vector of the plane.
    TVector3 vAxisU;
    TVector3 vAxisV;

 public:

    HKalPlane() {  }

    HKalPlane(const TVector3 &center, const TVector3 &normal);

    HKalPlane(const TVector3 &origin, const TVector3 &u, const TVector3 &v);

    virtual ~HKalPlane();

    virtual Double_t distanceToPlane       (const TVector3 &point) const;

    virtual Bool_t   findIntersection      (TVector3 &pointIntersect, const TVector3 &pos, const TVector3 &dir) const;

    virtual Bool_t   isOnSurface           (const TVector3 &point) const;

    virtual void     print                 (Option_t* opt="") const;

    virtual Double_t signedDistanceToPlane (const TVector3 &point) const;

    virtual void     transform             (const TRotation &transMat);

    virtual TVector3 const& getCenter() const { return vCenter; }

    virtual TVector3 const& getNormal() const { return vNormal; }

    virtual TVector3 const& getAxisU () const { return vAxisU;  }

    virtual TVector3 const& getAxisV () const { return vAxisV;  }

    virtual Bool_t          setPlane (const TVector3 &origin, const TVector3 &normal);

    virtual Bool_t          setPlane (const TVector3 &origin, const TVector3 &u, const TVector3 &v);

    ClassDef(HKalPlane, 0)
};


#endif // HKalPlane_h
 hkalplane.h:1
 hkalplane.h:2
 hkalplane.h:3
 hkalplane.h:4
 hkalplane.h:5
 hkalplane.h:6
 hkalplane.h:7
 hkalplane.h:8
 hkalplane.h:9
 hkalplane.h:10
 hkalplane.h:11
 hkalplane.h:12
 hkalplane.h:13
 hkalplane.h:14
 hkalplane.h:15
 hkalplane.h:16
 hkalplane.h:17
 hkalplane.h:18
 hkalplane.h:19
 hkalplane.h:20
 hkalplane.h:21
 hkalplane.h:22
 hkalplane.h:23
 hkalplane.h:24
 hkalplane.h:25
 hkalplane.h:26
 hkalplane.h:27
 hkalplane.h:28
 hkalplane.h:29
 hkalplane.h:30
 hkalplane.h:31
 hkalplane.h:32
 hkalplane.h:33
 hkalplane.h:34
 hkalplane.h:35
 hkalplane.h:36
 hkalplane.h:37
 hkalplane.h:38
 hkalplane.h:39
 hkalplane.h:40
 hkalplane.h:41
 hkalplane.h:42
 hkalplane.h:43
 hkalplane.h:44
 hkalplane.h:45
 hkalplane.h:46
 hkalplane.h:47
 hkalplane.h:48
 hkalplane.h:49
 hkalplane.h:50
 hkalplane.h:51
 hkalplane.h:52
 hkalplane.h:53
 hkalplane.h:54