TGeoRotation


class description - source file - inheritance tree

class TGeoRotation : public TGeoMatrix


    protected:
void CheckMatrix() public:
TGeoRotation TGeoRotation() TGeoRotation TGeoRotation(const char* name) TGeoRotation TGeoRotation(const char* name, Double_t alpha, Double_t beta, Double_t gamma) TGeoRotation TGeoRotation(const char* name, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) TGeoRotation TGeoRotation(const TGeoRotation&) virtual void ~TGeoRotation() static TClass* Class() virtual void Clear(Option_t* option) Double_t Determinant() const void FastRotZ(Double_t* sincos) void GetInverse(Double_t* invmat) const Double_t GetPhiRotation() const virtual const Double_t* GetRotationMatrix() const virtual const Double_t* GetScale() const virtual const Double_t* GetTranslation() const virtual TClass* IsA() const Bool_t IsReflection() const virtual void LocalToMaster(const Double_t* local, Double_t* master) const virtual void LocalToMasterBomb(const Double_t* local, Double_t* master) const virtual void LocalToMasterVect(const Double_t* local, Double_t* master) const virtual void MasterToLocal(const Double_t* master, Double_t* local) const virtual void MasterToLocalBomb(const Double_t* master, Double_t* local) const virtual void MasterToLocalVect(const Double_t* master, Double_t* local) const void MultiplyBy(TGeoRotation* rot, Bool_t after = kTRUE) void SetAngles(Double_t alpha, Double_t beta, Double_t gamma) void SetAngles(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) void SetMatrix(Double_t* rot) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Double_t fRotationMatrix[9] rotation matrix

Class Description

 Geometrical transformation package





/*

*/


TGeoRotation()

TGeoRotation(const char *name) :TGeoMatrix(name)
 Default rotation constructor

TGeoRotation(const char *name, Double_t phi, Double_t theta, Double_t psi) :TGeoMatrix(name)
 Default rotation constructor with Euler angles. Phi is the rotation angle about
 Z axis  and is done first, theta is the rotation about new Y and is done
 second, psi is the rotation angle about new Z and is done third. All angles are in
 degrees.

TGeoRotation(const char *name, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) :TGeoMatrix(name)
 Rotation constructor a la GEANT3. Angles theta(i), phi(i) are the polar and azimuthal
 angles of the (i) axis of the rotated system with respect to the initial non-rotated
 system.
   Example : the identity matrix (no rotation) is composed by
      theta1=90, phi1=0, theta2=90, phi2=90, theta3=0, phi3=0

void Clear(Option_t *)
 reset data members to 0

void FastRotZ(Double_t *sincos)

Double_t GetPhiRotation() const
--- Returns rotation angle about Z axis in degrees.

void LocalToMaster(const Double_t *local, Double_t *master) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix inverse

void MasterToLocal(const Double_t *master, Double_t *local) const
 convert a point by multiplying its column vector (x, y, z, 1) to matrix

void SetAngles(Double_t phi, Double_t theta, Double_t psi)
 Set matrix elements according to Euler angles

void SetAngles(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3)
 Set matrix elements in the GEANT3 way

Double_t Determinant() const
 computes determinant of the rotation matrix

void CheckMatrix()
 performes an orthogonality check and finds if the matrix is a reflection
   Warning("CheckMatrix", "orthogonality check not performed yet");

void GetInverse(Double_t *invmat) const
 Get the inverse rotation matrix (which is simply the transpose)

void MultiplyBy(TGeoRotation *rot, Bool_t after)



Inline Functions


                 Bool_t IsReflection() const
                   void LocalToMasterVect(const Double_t* local, Double_t* master) const
                   void MasterToLocalVect(const Double_t* master, Double_t* local) const
                   void LocalToMasterBomb(const Double_t* local, Double_t* master) const
                   void MasterToLocalBomb(const Double_t* master, Double_t* local) const
                   void SetMatrix(Double_t* rot)
        const Double_t* GetTranslation() const
        const Double_t* GetRotationMatrix() const
        const Double_t* GetScale() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
           TGeoRotation TGeoRotation(const TGeoRotation&)
                   void ~TGeoRotation()


Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMatrix.cxx,v 1.5 2002/09/27 16:16:06 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - 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.