#include "hgeomtransform.h"

HGeomTransform


class description - source file - inheritance tree (.pdf)

class HGeomTransform : public TObject

Inheritance Chart:
TObject
<-
HGeomTransform

    public:
HGeomTransform() HGeomTransform(const HGeomTransform& t) ~HGeomTransform() static TClass* Class() void clear() const HGeomRotation& getRotMatrix() const const HGeomVector& getTransVector() const void invert() virtual TClass* IsA() const HGeomTransform& operator=(const HGeomTransform& t) void print() void setRotMatrix(const HGeomRotation& r) void setRotMatrix(const Double_t* a) void setRotMatrix(const Float_t* a) void setTransform(const HGeomTransform& t) void setTransVector(const HGeomVector& t) void setTransVector(const Double_t* a) void setTransVector(const Float_t* a) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) HGeomVector transFrom(const HGeomVector& p) const void transFrom(const HGeomTransform&) HGeomVector transTo(const HGeomVector& p) const void transTo(const HGeomTransform&)

Data Members


    protected:
HGeomRotation rot rotation matrix, describing the orientation HGeomVector trans translation vector, describing the position

Class Description


 HGeomTransform

 Class to hold the orientation (rotation matrix) and the position
 (translation vector) of a coordinate system (system 2) relative to a
 reference coordinate system (system 1)
 It provides member functions to transform a vector or a point and an other
 coordinate system from its own coordinate system into the reference
 coordinate system and vice versa.
 Instances of this class can e.g. hold the lab or detector transformation of
 a geometry volume (see class HGeomVolume)

 Inline functions:

 HGeomTransform()
    The default constructor creates an identity transformation
 HGeomTransform(HGeomTransform& t)
    copy constructor
 void setTransform(const HGeomTransform& t)
    copies the given transformation
 void setRotMatrix(const HGeomRotation& r)
    copies the given rotation matrix
 void setRotMatrix(const Double_t* a)
    creates a rotation matrix taking an Double_t array with 9 components
 void setTransVector(const HGeomVector& t)
    copies the given translation vector
 void setTransVector(const Double_t* a)
    creates a translation vector taking an Double_t array with 6 components
 const HGeomRotation& getRotMatrix() const
    returns the rotation matrix
 const HGeomVector& getTransVector() const
    returns the  translation vector



HGeomVector transFrom(const HGeomVector& p) const
 Transforms a vector (point) given in its own coordinate
 system (2) into the reference coordinate system (1)
 e.g. v2 is a vector (point) in the detector coordinate system;
 it can be transformed to a vector v2 the lab system with
    HGeomVector v2=mo.transFrom(v1)
 where mo is the coordinate system of the mother

HGeomVector transTo(const HGeomVector& p) const
 Transforms a vector (point) given in the reference system (1)
 into the local coordinate system (2)
 e.g. v1 is a vector (point) in the lab system; it can be transformed to
 a vector v2 the detector coordinate system with
    HGeomVector v2=mo.transTo(v1)
 where mo is the coordinate system of the mother

void transTo(const HGeomTransform& s)
 Transforms the coordinate system into the coordinate system
 described by s. Both transformations must have the same reference
 system e.g. the lab system
 This function is e.g. used to transform a daughter coordinate system
 with a transformation relative to the lab into the detector coordinate
 system.

void transFrom(const HGeomTransform& s)
 Transforms the coordinate system described by s into the local
 coordinate system
 This function is e.g. used to transform a daughter coordinate system
 with a transformation relative to its mother into the lab system.
 e.g. daughterDetTransform.transFrom(motherLabTransform)

void clear()

void print()

void invert(void)



Inline Functions


                        void ~HGeomTransform()
              HGeomTransform HGeomTransform()
              HGeomTransform HGeomTransform(const HGeomTransform& t)
             HGeomTransform& operator=(const HGeomTransform& t)
        const HGeomRotation& getRotMatrix() const
          const HGeomVector& getTransVector() const
                        void setRotMatrix(const HGeomRotation& r)
                        void setRotMatrix(const Double_t* a)
                        void setRotMatrix(const Float_t* a)
                        void setTransVector(const HGeomVector& t)
                        void setTransVector(const Double_t* a)
                        void setTransVector(const Float_t* a)
                        void setTransform(const HGeomTransform& t)
                     TClass* Class()
                     TClass* IsA() const
                        void ShowMembers(TMemberInspector& insp, char* parent)
                        void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)


Last update: 16/06/99


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.