BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrLine3D


class description - source file - inheritance tree

class BrLine3D : public TObject


    public:
BrLine3D BrLine3D() BrLine3D BrLine3D(const BrVector3D& origin, const BrVector3D& direction) virtual BrLine3D GetShortestLineBetween(const BrLine3D& line) const BrLine3D BrLine3D(BrLine3D&) void ~BrLine3D() static TClass* Class() virtual BrVector3D ClosestPoint(const BrVector3D&) const virtual Double_t Distance(const BrVector3D&) const virtual const BrVector3D& GetDirection() const virtual const BrVector3D& GetOrigin() const virtual Double_t GetShortestDistanceBetween(const BrLine3D& line) const virtual TClass* IsA() const BrLine3D& operator=(const BrLine3D&) virtual void Print(Option_t* option) const virtual Float_t RelativeOverlap(const BrLine3D& line, Float_t zl, Float_t r) virtual void SetDirection(const BrVector3D& vector) virtual void SetDirection(Double_t x, Double_t y, Double_t z) virtual void SetOrigin(const BrVector3D& vector) virtual void SetOrigin(Double_t x, Double_t y, Double_t z) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
BrVector3D fOrigin Vector for line start BrVector3D fDirection Unit direction vector


See also

BrTrack

Class Description

  BrLine3D

  Line class for Geometry. A line is defined by an origin and a unit
  vector defining its direction.


BrLine3D() : TObject()
 Default constructor - empty

BrLine3D(const BrVector3D& origin, const BrVector3D& direction) : TObject()
  Constructor


BrVector3D ClosestPoint(const BrVector3D& vector) const
 Return the closest point on the line to the vector


Double_t Distance(const BrVector3D& vector) const
 distance from a vector (i.e. point) to this line.


BrLine3D GetShortestLineBetween(const BrLine3D &line) const
 Return the shortest line between the two lines.  The length of
 the vector part is the shortest distance between the two lines.
 put in according to
 http://www.mhri.edu.au/~pdb/geometry/lineline3d/ 1/31/99
 but not tested yet?  Be careful before using in production mode.
 dmnop = (xm-xn)(xo-xp) + (ym-yn)(yo-yp) + (zm-zn)(zo-zp)

Double_t GetShortestDistanceBetween(const BrLine3D &line) const
Get shortest distance between the two lines.  This should give the
same answer as the modulus of GetShortestLineBetween().  Coded
1-31-99 but not tested.

void Print(Option_t *option = "") const
 Simple output of this line


Float_t RelativeOverlap(const BrLine3D& line, Float_t zl, Float_t r)
 Calculate the relative overlap between "this" track and the given track

 Parameters:
   In:  track   pointer to the other track
        zl      length of detector (in local z direction)
        r       radius of cylinder around tracks

 Algorithm:
   A cylinder of radius r is put around each track.
   The relative overlap is defined as the ratio between
     the volume of the overlap region of two cylinders
   and
     the volume of the cylinder around "this" track is calculated.
   The cylinders are distorted in order to have a circular intersection
   between the cylinders and planes at arbitrary z.

 Requires:
   The tracks are parametrized as:
     x = ax * z + bx
     y = ay * z + by


void SetDirection(const BrVector3D& vector)
 set x, y, z

void SetOrigin(const BrVector3D& vector)
 set x, y, z



Inline Functions


                BrLine3D& operator=(const BrLine3D&)
        const BrVector3D& GetOrigin() const
        const BrVector3D& GetDirection() const
                     void SetOrigin(Double_t x, Double_t y, Double_t z)
                     void SetDirection(Double_t x, Double_t y, Double_t z)
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
                 BrLine3D BrLine3D(BrLine3D&)
                     void ~BrLine3D()

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on 2001/11/16 20:28:53 $ by hagel $

Validate HTML
Validate CSS