BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page

BrRotMatrix


class description - source file - inheritance tree

class BrRotMatrix : public TObject

    private:
void SetReflection() void UpdateAngles() public:
BrRotMatrix BrRotMatrix() BrRotMatrix BrRotMatrix(Double_t* matrix) BrRotMatrix BrRotMatrix(Double_t theta, Double_t phi, Double_t psi) BrRotMatrix BrRotMatrix(Double_t theta1, Double_t phi1, Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3) BrRotMatrix BrRotMatrix(const BrRotMatrix* mat1, const BrRotMatrix* mat2) BrRotMatrix GetInverse() BrRotMatrix BrRotMatrix(BrRotMatrix&) virtual void ~BrRotMatrix() static TClass* Class() Double_t Determinant() const Double_t* GetMatrix() const Double_t* GetMatrix() const Double_t GetPhi() const const Double_t GetPsi() const const Double_t GetTheta() const Int_t GetType() virtual TClass* IsA() const const Bool_t IsReflection() const BrRotMatrix& operator=(const BrRotMatrix&) void SetMatrix(const Double_t* matrix) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t fType Type of matrix (0=identity, 1=reflection, 2=otherwise) Double_t fTheta theta angle Double_t fPhi phi angle Double_t fPsi psi angle Double_t fMatrix[9] Rotation matrix

Class Description

 Manages a detector rotation matrix. See BrVector3D, BrLine3D,..

 This class is a simplified version of the ROOT class TRotMatrix. See
 The ROOT documentation for additional details.See also the copyright notice
 in the source documentation.

 July 2000;
   Added code to define using Euler angles (thanks to T.Tveter)

______________________________________________________________________________

BrRotMatrix()
*-*-*-*-*-*-*-*-*-*-*RotMatrix default constructor*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ============================

BrRotMatrix( Double_t *matrix)


BrRotMatrix(Double_t theta, Double_t phi, Double_t psi)
 Construction of Rotation matrix by the 3 Euler angles theta, phi and psi


BrRotMatrix(const BrRotMatrix* mat1, const BrRotMatrix* mat2 )
New rotation matrix from transformation of two rotation matrices
This multiplies mat2 * mat1

BrRotMatrix( Double_t theta1, Double_t phi1 , Double_t theta2, Double_t phi2 , Double_t theta3, Double_t phi3)
*-*-*-*-*-*RotMatrix normal constructor defined a la GEANT*-*-*-*-*-*-*
*-*        ===============================================

~BrRotMatrix()
*-*-*-*-*-*-*-*-*-*-*RotMatrix default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ============================

Double_t Determinant()
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*
*-*  Determinant() returns the value of the determiant of this matrix
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void SetMatrix(const Double_t *matrix)


void UpdateAngles()
Routine to calculate angles if constructed from other rotation
matrices.
Need to check carefully that all of the ranges are handled correctly
But this should get us started for typical BRAHMS angles.
ie theta FS -2.3 -> -30 and theta MRS+30 -> +90
KH 31-Oct-2001

void SetReflection()
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*  SetReflection() -  checks whether the determinant of this
*-*                     matrix defines the reflection transformation
*-*                     and set the "reflection" flag if any
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

BrRotMatrix GetInverse()
Calculate and return inverse matrix
More or less copied from inverse matrix calculation of BrCoordinateSystem



Inline Functions


           BrRotMatrix& operator=(const BrRotMatrix&)
        const Double_t* GetMatrix() const
              Double_t* GetMatrix()
                  Int_t GetType()
         const Double_t GetTheta() const
         const Double_t GetPhi() const
         const Double_t GetPsi() const
           const Bool_t IsReflection() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
            BrRotMatrix BrRotMatrix(BrRotMatrix&)

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on Wed Sep 11 04:53:04 2002 by

Validate HTML
Validate CSS