BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrPlane3D


class description - source file - inheritance tree

class BrPlane3D : public TObject


    public:
BrPlane3D BrPlane3D(const Double_t a = 0, const Double_t b = 0, const Double_t c = 0, const Double_t d = 0) BrPlane3D BrPlane3D(const BrVector3D& p1, const BrVector3D& p2, const BrVector3D& p3) BrPlane3D BrPlane3D(const BrVector3D& point, const BrVector3D&) BrPlane3D BrPlane3D(const Double_t x1, const Double_t y1, const Double_t z1, const Double_t x2, const Double_t y2, const Double_t z2, const Double_t x3, const Double_t y3, const Double_t z3) BrPlane3D BrPlane3D(const BrPlane3D& plane) BrPlane3D operator-() const BrPlane3D operator+() const virtual void ~BrPlane3D() static TClass* Class() Double_t GetA() const Double_t GetB() const Double_t GetC() const Double_t GetD() const BrVector3D GetIntersectionWithLine(const BrLine3D& line) Double_t GetMinimumDistanceFromPlane(const BrVector3D& point) virtual TClass* IsA() const Bool_t operator!=(const BrPlane3D&) const const Double_t& operator()(size_t) const Double_t& operator()(size_t) BrPlane3D& operator+=(const BrPlane3D&) BrPlane3D& operator-=(const BrPlane3D&) BrPlane3D& operator=(const BrPlane3D&) Bool_t operator==(const BrPlane3D&) const const Double_t& operator[](size_t) const Double_t& operator[](size_t) void Set(const BrVector3D& p1, const BrVector3D& p2, const BrVector3D& p3) void SetA(Double_t value) void SetB(Double_t value) void SetC(Double_t value) void SetD(Double_t value) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) BrVector3D UnitNormal()

Data Members

    private:
Double_t fA 1. Plane Coefficient Double_t fB 2. Plane Coefficient Double_t fC 3. Plane Coefficient Double_t fD 4. Plane Coefficient


See also

BrDCPlane

Class Description


  BrPlane3D defines a general 3-plane class. BrPlane3D is part of the geometry
  classes. This is a general class only coupled to ROOT by having the objects
  being derived from TObject. The main reasons for doing this is to be able to
  use the ROOTs interactive features. It is intended to be used
  by detector geometry , tracking, and display classes by using common
  geometry concepts. It is also intended to work together with other geometry clasess
  like BrLine3D, BrVector3D and likely other
  The coupling to ROOT is loose. The classes are derived from TObject, mainly
  to be able to use browsers and other general ROOT utilities. Drawing has not
  been implemented here again to maintain a very loose coupling.

  Such general classes has of course been implemented by numerous people, and
  design choices made. As such example the CLHEP should be acknowledged.

  The plane is specified as fA*x + fB*y + fC*z + fD = 0.  The object can be
  created by either directly specifying the plane coefficients, fA, fB, fC and fD
  or by specifying three points on the plane either by using BrVector3D,
  by specifying the x,y,z coordinates of the three points explicitely,
  or by specifiing a point (ie, vector) and a vector normal to the plane.
  The constructor with a,b,c may fail since (fa,fb, fc) must be different from
 the zero vector.




BrPlane3D(const BrVector3D &p1, const BrVector3D &p2, const BrVector3D &p3)
Constructor
Derive a plane from 3 points specified as point objects.

BrPlane3D(const Double_t x1, const Double_t y1, const Double_t z1, const Double_t x2, const Double_t y2, const Double_t z2, const Double_t x3, const Double_t y3, const Double_t z3 )
Constructor
Derive a plane from 3 points specified explicitly.

BrPlane3D(const BrVector3D &point, const BrVector3D &normal)
Constructor
Derive a plane from a point and a vector normal to the plane.


void Set(const BrVector3D &p1, const BrVector3D &p2, const BrVector3D &p3)
Derive a plane from 3 points specified as point objects.

BrVector3D GetIntersectionWithLine(const BrLine3D &line)
 Find the intersection of the specified line with this plane.
 Must throw something if the line does not intercept.!!!


Double_t GetMinimumDistanceFromPlane(const BrVector3D &point)
Get the minimum distance from the specified point to this plane

BrVector3D UnitNormal()



Inline Functions


              BrPlane3D BrPlane3D(const Double_t x1, const Double_t y1, const Double_t z1, const Double_t x2, const Double_t y2, const Double_t z2, const Double_t x3, const Double_t y3, const Double_t z3)
              BrPlane3D BrPlane3D(const BrPlane3D& plane)
             BrPlane3D& operator=(const BrPlane3D&)
             BrPlane3D& operator+=(const BrPlane3D&)
             BrPlane3D& operator-=(const BrPlane3D&)
              BrPlane3D operator-() const
              BrPlane3D operator+() const
        const Double_t& operator[](size_t) const
              Double_t& operator[](size_t)
        const Double_t& operator()(size_t) const
              Double_t& operator()(size_t)
                 Bool_t operator==(const BrPlane3D&) const
                 Bool_t operator!=(const BrPlane3D&) const
               Double_t GetA() const
               Double_t GetB() const
               Double_t GetC() const
               Double_t GetD() const
                   void SetA(Double_t value)
                   void SetB(Double_t value)
                   void SetC(Double_t value)
                   void SetD(Double_t value)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
                   void ~BrPlane3D()

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on Wed Sep 11 04:52:43 2002 by

Validate HTML
Validate CSS