]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEODB/AliGTransform.h
Modified to work with DetToLocal
[u/mrichter/AliRoot.git] / GEODB / AliGTransform.h
1 #ifndef ALIGTRANSFORM_H
2 #define ALIGTRANSFORM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8
9 /* -*- C++ -*-                                                                  */
10 /*                                                                              */
11 /* 1999/01/13                                                                   */
12 /* ---------------------------------------------------------------------------  */
13 /*                                                                              */
14 /* AliGTransform Class                                                          */
15 /*                                                                              */
16 /* This file is part of the ALICE Geometry Database .                           */
17 /*                                                                              */
18 /* Author:  Joana E. Santo                                                      */
19 /*                                                                              */
20 /* ---------------------------------------------------------------------------  */
21 /* This class represents the transformations applied to regions to position them*/
22 /* in the node structure.                                                       */
23
24
25 #include <TNamed.h>
26 #include <TVector.h>
27 #include <TSystem.h>
28 #include <TString.h>
29
30 class AliGTransform: public TNamed {
31
32     private:
33         TString  fExpression;
34         TVector* fMatrix;
35         Float_t  fX;
36         Float_t  fY;
37         Float_t  fZ;
38         Float_t  fTheta;
39         Float_t  fPsi;
40         Float_t  fPhi;
41
42     public:
43         AliGTransform(); /* Default Constructor */
44         AliGTransform(AliGTransform *tra);
45         AliGTransform( Text_t* name, Text_t* title );
46         AliGTransform( Text_t* name, Text_t* title, Text_t *expression );
47         AliGTransform( Text_t* name, Text_t* title, Text_t *axis, Float_t angle);
48         AliGTransform( Text_t* name, Text_t* title, Float_t theta1,Float_t phi1, 
49                                                     Float_t theta2,
50                                                     Float_t phi2, 
51                                                     Float_t theta3,Float_t
52 phi3);
53                                                    
54         AliGTransform( Text_t* name, Text_t* title, Float_t a1,Float_t a2,Float_t a3,Float_t b1,Float_t b2,
55         Float_t b3,Float_t c1,Float_t c2,Float_t c3,Float_t Dx,Float_t Dy,Float_t Dz);
56         virtual ~AliGTransform(); /* Destructor */
57
58         void     BuildMatrix(Float_t Dx=0., Float_t Dy=0., Float_t Dz=0., Float_t
59 theta=0., Float_t psi=0.,Float_t phi=0. );
60         void     CheckExpression();
61         TVector* GetMatrix() {return fMatrix;}
62
63     ClassDef(AliGTransform,1) //Transformation class (Rotation and Translation)
64 };
65 #endif