/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/MdcRecoUtil/MdcRecoUtil-00-01-08/MdcRecoUtil/DifRotation.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: DifRotation.h,v 1.2 2009/12/23 02:59:56 zhangy Exp $
00004 //
00005 // Description:
00006 //      Class Header for |DifRotation|
00007 //      Rotation matrix and rotate things
00008 //
00009 // Environment:
00010 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00011 //
00012 // Author List:
00013 //      A. Snyder
00014 //
00015 // Copyright Information:
00016 //      Copyright (C) 1996      SLAC
00017 // 
00018 // History:
00019 //      Migration for BESIII MDC
00020 //
00021 //------------------------------------------------------------------------
00022 
00023 #ifndef DifRotation_H
00024 #define DifRotation_H
00025 
00026 #include "MdcRecoUtil/DifVector.h"
00027 
00028 class DifRotation {
00029 
00030 public:
00031 
00032   //constructors
00033   DifRotation();                // unit matrix 
00034   DifRotation                   // construct from euler
00035   (const DifNumber& alpha,
00036    const DifNumber& beta,
00037    const DifNumber& gamma);
00038 
00039   DifRotation                   // constructionr from axes
00040   (const DifVector& xp,const DifVector& yp,const DifVector& zp);
00041   DifRotation                   // z=x X y
00042   (const DifVector& xp,const DifVector& yp);
00043 
00044   ~DifRotation() {};
00045 
00046   //access
00047   inline DifVector xnew()const {return _xnew;}
00048   inline DifVector ynew()const {return _ynew;}
00049   inline DifVector znew()const {return _znew;}
00050 
00051   //rotate a vector
00052   void rotate(DifVector& v)const;
00053 
00054   //error check
00055   int fail()const;              // check for orthonormality failure
00056 
00057 private:
00058 
00059   //data - store as vector
00060   DifVector _xnew;
00061   DifVector _ynew;
00062   DifVector _znew;
00063 };
00064 
00065 #endif

Generated on Tue Nov 29 23:13:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7