TGeoRotation
class description - source file - inheritance tree
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)
protected:
Double_t fRotationMatrix[9] rotation matrix
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.4 2002/09/16 06:57:08 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.