//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Detector plane - a geometric object // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef DETPLANE_HH #define DETPLANE_HH // Base Class Headers ---------------- // Collaborating Class Headers ------- #include "TVector3.h" // Collaborating Class Declarations -- class DetPlane { public: // Constructors/Destructors --------- DetPlane(){;} DetPlane(const TVector3& o, const TVector3& u, const TVector3& v); ~DetPlane(){;} // Operators // Accessors ----------------------- TVector3 getO() const {return _o;} TVector3 getU() const {return _u;} TVector3 getV() const {return _v;} // Modifiers ----------------------- void set(const TVector3& o, const TVector3& u, const TVector3& v); void setO(const TVector3& o); void setU(const TVector3& u); void setV(const TVector3& v); // Operations ---------------------- TVector3 getNormal(); // projecting a direction into the plane: TVector2 project(const TVector3& x); // transform from Lab system into plane TVector2 LabToPlane(const TVector3& x); void Print() const; private: // Private Data Members ------------ // origin TVector3 _o; // Vectors spanning the plane TVector3 _u; TVector3 _v; // Private Methods ----------------- void sane(); // ensures orthnormal coordinates }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------