/usr/include/root/TRotMatrix.h is in libroot-graf3d-g3d-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | // @(#)root/g3d:$Id$
// Author: Rene Brun 14/09/95
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TRotMatrix
#define ROOT_TRotMatrix
//////////////////////////////////////////////////////////////////////////
// //
// TRotMatrix //
// //
// Rotation Matrix for 3-D geometry objects. //
// //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TRotMatrix : public TNamed {
private:
virtual void SetReflection(); // Set the "reflection" flag if det < 0
protected:
Int_t fNumber; //Rotation matrix number
Int_t fType; //Type of matrix (0=identity, 1=reflexion, 2=otherwise)
Double_t fTheta; //theta angle
Double_t fPhi; //phi angle
Double_t fPsi; //psi angle
Double_t fMatrix[9]; //Rotation matrix
public:
//TRotMatrix status bits
enum {
kReflection = BIT(23) // "Reflection" bit
};
TRotMatrix();
TRotMatrix(const char *name, const char *title, Double_t *matrix);
TRotMatrix(const char *name, const char *title, Double_t theta, Double_t phi, Double_t psi);
TRotMatrix(const char *name, const char *title, Double_t theta1, Double_t phi1,
Double_t theta2, Double_t phi2,
Double_t theta3, Double_t phi3);
virtual ~TRotMatrix();
virtual Double_t Determinant() const ; // returns the determinant of this matrix
virtual Double_t* GetMatrix() {return &fMatrix[0];}
virtual Int_t GetNumber() const {return fNumber;}
virtual Int_t GetType() const {return fType;}
virtual Double_t GetTheta() const {return fTheta;}
virtual Double_t GetPhi() const {return fPhi;}
virtual Double_t GetPsi() const {return fPsi;}
virtual Double_t* GetGLMatrix(Double_t *rGLMatrix) const ; // Convert this matrix to the OpenGL [4x4]
virtual Bool_t IsReflection() const {return TestBit(kReflection);} // Return kTRUE if this matrix defines the reflection
virtual const Double_t* SetAngles(Double_t theta1, Double_t phi1,Double_t theta2, Double_t phi2, Double_t theta3, Double_t phi3);
virtual void SetMatrix(const Double_t *matrix);
virtual void SetName(const char *name);
ClassDef(TRotMatrix,2) //Rotation Matrix for 3-D geometry objects
};
inline void TRotMatrix::SetName(const char *) { }
#endif
|