Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DifRotation Class Reference

#include <DifRotation.h>

List of all members.

Public Member Functions

 DifRotation (const DifVector &xp, const DifVector &yp)
 DifRotation (const DifVector &xp, const DifVector &yp, const DifVector &zp)
 DifRotation (const DifNumber &alpha, const DifNumber &beta, const DifNumber &gamma)
 DifRotation ()
 DifRotation (const DifVector &xp, const DifVector &yp)
 DifRotation (const DifVector &xp, const DifVector &yp, const DifVector &zp)
 DifRotation (const DifNumber &alpha, const DifNumber &beta, const DifNumber &gamma)
 DifRotation ()
int fail () const
int fail () const
void rotate (DifVector &v) const
void rotate (DifVector &v) const
DifVector xnew () const
DifVector xnew () const
DifVector ynew () const
DifVector ynew () const
DifVector znew () const
DifVector znew () const
 ~DifRotation ()
 ~DifRotation ()

Private Attributes

DifVector _xnew
DifVector _ynew
DifVector _znew


Constructor & Destructor Documentation

DifRotation::DifRotation  ) 
 

00026   :_xnew(1.0,0.0,0.0),_ynew(0.0,1.0,0.0),_znew(0.0,0.0,1.0)
00027 {
00028 }

DifRotation::DifRotation const DifNumber alpha,
const DifNumber beta,
const DifNumber gamma
 

00032 {
00033   
00034   //active transformation  - move the vector (reverse sines)
00035   DifNumber calpha=cos(alpha); DifNumber salpha=-sin(alpha);
00036   DifNumber cbeta=cos(beta); DifNumber sbeta=-sin(beta);
00037   DifNumber cgamma=cos(gamma); DifNumber sgamma=-sin(gamma);
00038 
00039  _xnew.x=cbeta*calpha*cgamma-salpha*sgamma;
00040  _xnew.y=cbeta*salpha*cgamma+calpha*sgamma;
00041  _xnew.z=-sbeta*cgamma;
00042 
00043  _ynew.x=-cbeta*calpha*sgamma-salpha*cgamma;
00044  _ynew.y=-cbeta*salpha*sgamma+calpha*cgamma;
00045  _ynew.z=sbeta*sgamma;
00046 
00047  _znew.x=sbeta*calpha;
00048  _znew.y=sbeta*salpha;
00049  _znew.z=cbeta;
00050 }

DifRotation::DifRotation const DifVector xp,
const DifVector yp,
const DifVector zp
 

00054   :_xnew(xp),_ynew(yp),_znew(zp)
00055 {}                              

DifRotation::DifRotation const DifVector xp,
const DifVector yp
 

00059   :_xnew(xp),_ynew(yp),_znew()
00060 {
00061   _znew=cross(_xnew,_ynew);
00062 }

DifRotation::~DifRotation  )  [inline]
 

00044 {};

DifRotation::DifRotation  ) 
 

DifRotation::DifRotation const DifNumber alpha,
const DifNumber beta,
const DifNumber gamma
 

DifRotation::DifRotation const DifVector xp,
const DifVector yp,
const DifVector zp
 

DifRotation::DifRotation const DifVector xp,
const DifVector yp
 

DifRotation::~DifRotation  )  [inline]
 

00044 {};


Member Function Documentation

int DifRotation::fail  )  const
 

int DifRotation::fail  )  const
 

00064                            {
00065   return 0;
00066 }

void DifRotation::rotate DifVector v  )  const
 

void DifRotation::rotate DifVector v  )  const
 

00068                                           {
00069   DifNumber xcomp=xnew()*v;
00070   DifNumber ycomp=ynew()*v;
00071   DifNumber zcomp=znew()*v;
00072   v.x=xcomp; v.y=ycomp; v.z=zcomp;
00073 }

DifVector DifRotation::xnew  )  const [inline]
 

00047 {return _xnew;}

DifVector DifRotation::xnew  )  const [inline]
 

00047 {return _xnew;}

DifVector DifRotation::ynew  )  const [inline]
 

00048 {return _ynew;}

DifVector DifRotation::ynew  )  const [inline]
 

00048 {return _ynew;}

DifVector DifRotation::znew  )  const [inline]
 

00049 {return _znew;}

DifVector DifRotation::znew  )  const [inline]
 

00049 {return _znew;}


Member Data Documentation

DifVector DifRotation::_xnew [private]
 

DifVector DifRotation::_ynew [private]
 

DifVector DifRotation::_znew [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:57:48 2011 for BOSS6.5.5 by  doxygen 1.3.9.1