#include "hgeomrotation.h"

HGeomRotation


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

class HGeomRotation : public TObject

Inheritance Chart:
TObject
<-
HGeomRotation

    public:
HGeomRotation() HGeomRotation(const HGeomRotation& r) HGeomRotation(const Double_t* a) HGeomRotation(const Double_t, const Double_t, const Double_t) HGeomRotation operator*(const HGeomRotation& r) const HGeomRotation inverse() const ~HGeomRotation() static TClass* Class() TRotMatrix* createTRotMatrix(Text_t* name, Text_t* title) Double_t determinant() const Double_t diff2(const HGeomRotation&) const Double_t getElement(Int_t i, Int_t j) const HGeomRotation& invert() virtual TClass* IsA() const Bool_t isUnitMatrix() Bool_t operator!=(const HGeomRotation& r) Double_t operator()(Int_t i) const HGeomVector operator*(const HGeomVector& v) const HGeomRotation& operator*=(const HGeomRotation& r) HGeomRotation& operator=(const HGeomRotation& r) Bool_t operator==(const HGeomRotation& r) void print() const void setElement(const Double_t a, const Int_t i) void setEulerAngles(const Double_t, const Double_t, const Double_t) void setMatrix(const Double_t* a) void setMatrix(const Float_t* a) void setUnitMatrix() void setZero() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) HGeomRotation& transform(const HGeomRotation& r)

Data Members


    protected:
Double_t rot[9]

Class Description

 HGeomRotation

 This class defines a 3x3 rotation matrix.
 The data are stored in a linear array with 9 Double_t
 components.

 Inline functions:

 Constructors:
   HGeomRotation()
   HGeomRotation(const HGeomRotation& r)
   HGeomRotation(const Double_t* a)

 Access to components:
   Double_t operator () (Int_t) const
   void setElement(const Double_t,const Int_t)

 Check for equality/inequality
   Bool_t operator == (const HGeomRotation&)
   Bool_t operator != (const HGeomRotation&)

 HGeomRotation& operator = (const HGeomRotation&);
      assignment

 void setUnitMatrix()
      sets identity matrix

 void setZero()
      sets all components to 0.0

 Bool_t isUnitMatrix()
      checks unity

 HGeomRotation& invert()
      inverts the matrix

 HGeomRotation inverse()
      copies the matrix and returns the inverse of the copy

 Double_t determinant() const;
      returns determinate

 HGeomRotation& operator *= (const HGeomRotation&);
      multiplies with the given rotation matrix from the right

 HGeomRotation& transform(const HGeomRotation&);
      multiplies with the given rotation matrix from the left

 HGeomVector operator * (const HGeomVector&) const;
      rotates a vector

 HGeomRotation operator * (const HGeomRotation&) const;
      rotates the given rotation

 void print()
      shows the matrix


 Euler Angles:
   1. angle:  rotation around z-axis   --> x1, y1, z1=z
   2. angle:  rotation around y1-axis  --> x2, y2=y1, z2
   3. angle:  rotation around z2-axis  --> x3, y3, z3=z2


HGeomRotation(const Double_t a,const Double_t b, const Double_t c)
 constructor taking three Euler angles

void setEulerAngles(const Double_t a,const Double_t b, const Double_t c)
 sets the matrix calculating the values from the given Euler angles

Double_t diff2(const HGeomRotation& r) const
 calculates the square of the difference between 2 matrices

TRotMatrix* createTRotMatrix(Text_t* name,Text_t* title)
 creates a TRotMatrix
 (uses a new() operator and the user has to take care to free the memory)



Inline Functions


                  void ~HGeomRotation()
         HGeomRotation HGeomRotation(const HGeomRotation& r)
         HGeomRotation HGeomRotation(const Double_t* a)
         HGeomRotation HGeomRotation(const Double_t, const Double_t, const Double_t)
                  void setMatrix(const Double_t* a)
                  void setMatrix(const Float_t* a)
                  void setElement(const Double_t a, const Int_t i)
              Double_t operator()(Int_t i) const
        HGeomRotation& operator=(const HGeomRotation& r)
                Bool_t operator==(const HGeomRotation& r)
                Bool_t operator!=(const HGeomRotation& r)
           HGeomVector operator*(const HGeomVector& v) const
         HGeomRotation operator*(const HGeomRotation& r) const
        HGeomRotation& operator*=(const HGeomRotation& r)
        HGeomRotation& transform(const HGeomRotation& r)
                Bool_t isUnitMatrix()
         HGeomRotation inverse() const
        HGeomRotation& invert()
              Double_t determinant() const
              Double_t getElement(Int_t i, Int_t j) const
                  void setUnitMatrix()
                  void setZero()
                  void print() const
               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.