library: libGeom #include "TGeoMatrix.h" |
TGeoRotation
class description - source file - inheritance tree (.pdf)
protected:
void CheckMatrix()
public:
TGeoRotation()
TGeoRotation(const TGeoRotation& other)
TGeoRotation(const TGeoMatrix& other)
TGeoRotation(const char* name)
TGeoRotation(const char* name, Double_t alpha, Double_t beta, Double_t gamma)
TGeoRotation(const char* name, Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3)
virtual ~TGeoRotation()
static TClass* Class()
virtual void Clear(Option_t* option)
Double_t Determinant() const
void FastRotZ(Double_t* sincos)
void GetAngles(Double_t& theta1, Double_t& phi1, Double_t& theta2, Double_t& phi2, Double_t& theta3, Double_t& phi3) const
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 TGeoMatrix& Inverse() const
virtual TClass* IsA() const
Bool_t IsValid() 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)
TGeoRotation& operator=(const TGeoMatrix& matrix)
TGeoRotation& operator=(const TGeoRotation& other)
virtual void RotateX(Double_t angle)
virtual void RotateY(Double_t angle)
virtual void RotateZ(Double_t angle)
virtual void SavePrimitive(ofstream& out, Option_t* option)
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(const Double_t* rot)
void SetRotation(const TGeoMatrix& other)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Double_t fRotationMatrix[9] rotation matrix
TGeoMatrix& Inverse() const
Return a temporary inverse of this.
Bool_t IsValid() const
Perform orthogonality test for rotation.
void Clear(Option_t *)
reset data members
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 RotateX(Double_t angle)
Rotate about X axis of the master frame with angle expressed in degrees.
void RotateY(Double_t angle)
Rotate about Y axis of the master frame with angle expressed in degrees.
void RotateZ(Double_t angle)
Rotate about Z axis of the master frame with angle expressed in degrees.
void SavePrimitive(ofstream &out, Option_t * /*option*/)
Save a primitive as a C++ statement(s) on output stream "out".
void SetRotation(const TGeoMatrix &other)
Copy rotation elements from other rotation 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
void GetAngles(Double_t &theta1, Double_t &phi1, Double_t &theta2, Double_t &phi2,
Double_t &theta3, Double_t &phi3) const
Retreive rotation angles
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
void ~TGeoRotation()
TGeoRotation TGeoRotation()
TGeoRotation TGeoRotation(const TGeoRotation& other)
TGeoRotation TGeoRotation(const TGeoMatrix& other)
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& operator=(const TGeoMatrix& matrix)
TGeoRotation& operator=(const TGeoRotation& other)
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(const 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)
Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMatrix.cxx,v 1.39 2005/04/05 08:54:12 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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.