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

EvtVector3C Class Reference

#include <EvtVector3C.hh>

List of all members.

Public Member Functions

void applyRotateEuler (double phi, double theta, double ksi)
EvtVector3C conj () const
EvtVector3C cross (const EvtVector3C &v2)
double dot (const EvtVector3C &p2)
 EvtVector3C (const EvtVector3R &v1)
 EvtVector3C (const EvtComplex &, const EvtComplex &, const EvtComplex &)
 EvtVector3C ()
const EvtComplexget (int) const
EvtVector3Coperator *= (const EvtComplex &c)
EvtVector3Coperator+= (const EvtVector3C &v2)
EvtVector3Coperator-= (const EvtVector3C &v2)
EvtVector3Coperator/= (const EvtComplex &c)
void set (double, double, double)
void set (const EvtComplex &, const EvtComplex &, const EvtComplex &)
void set (const int, const EvtComplex &)
virtual ~EvtVector3C ()

Private Attributes

EvtComplex v [3]

Friends

EvtVector3C operator * (const EvtVector3C &v1, const EvtComplex &c)
EvtComplex operator * (const EvtVector3C &v1, const EvtVector3C &v2)
EvtComplex operator * (const EvtVector3C &v1, const EvtVector3R &v2)
EvtComplex operator * (const EvtVector3R &v1, const EvtVector3C &v2)
EvtVector3C operator * (const EvtComplex &c, const EvtVector3R &v2)
EvtVector3C operator * (const EvtComplex &c, const EvtVector3C &v2)
EvtVector3C operator+ (const EvtVector3C &v1, const EvtVector3C &v2)
EvtVector3C operator- (const EvtVector3C &v1, const EvtVector3C &v2)
std::ostreamoperator<< (std::ostream &c, const EvtVector3C &v)
EvtVector3C rotateEuler (const EvtVector3C &v, double phi, double theta, double ksi)


Constructor & Destructor Documentation

EvtVector3C::EvtVector3C  ) 
 

00031                         {
00032 
00033   v[0]=EvtComplex(0.0); v[1]=EvtComplex(0.0); v[2]=EvtComplex(0.0); 
00034 }

EvtVector3C::EvtVector3C const EvtComplex ,
const EvtComplex ,
const EvtComplex
 

00042                                                                                       {
00043 
00044   v[0]=e1; v[1]=e2; v[2]=e3;
00045 }

EvtVector3C::~EvtVector3C  )  [virtual]
 

00036                          {
00037 
00038   return;
00039 }

EvtVector3C::EvtVector3C const EvtVector3R v1  )  [inline]
 

00068                                                     {
00069 
00070   v[0]=EvtComplex(v1.get(0),0.0);
00071   v[1]=EvtComplex(v1.get(1),0.0);
00072   v[2]=EvtComplex(v1.get(2),0.0);
00073 
00074 } 


Member Function Documentation

void EvtVector3C::applyRotateEuler double  phi,
double  theta,
double  ksi
 

00071                                                                     {
00072 
00073   EvtComplex temp[3];
00074   double sp,st,sk,cp,ct,ck;
00075 
00076   sp=sin(phi);
00077   st=sin(theta);
00078   sk=sin(ksi);
00079   cp=cos(phi);
00080   ct=cos(theta);
00081   ck=cos(ksi);
00082 
00083   temp[0]=( ck*ct*cp-sk*sp)*v[0]+( -sk*ct*cp-ck*sp)*v[1]+st*cp*v[2];
00084   temp[1]=( ck*ct*sp+sk*cp)*v[0]+(-sk*ct*sp+ck*cp)*v[1]+st*sp*v[2];
00085   temp[2]=-ck*st*v[0]+sk*st*v[1]+ct*v[2];
00086 
00087 
00088   v[0]=temp[0];
00089   v[1]=temp[1];
00090   v[2]=temp[2];
00091 }

EvtVector3C EvtVector3C::conj  )  const [inline]
 

00171                                            { 
00172 
00173   return EvtVector3C(::conj(v[0]),::conj(v[1]),
00174                   ::conj(v[2]));
00175 }

EvtVector3C EvtVector3C::cross const EvtVector3C v2  ) 
 

00048                                                      {
00049 
00050   //Calcs the cross product.  Added by djl on July 27, 1995.
00051 
00052   EvtVector3C temp;
00053   
00054   temp.v[0] = v[1]*p2.v[2] - v[2]*p2.v[1];
00055   temp.v[1] = v[2]*p2.v[0] - v[0]*p2.v[2];
00056   temp.v[2] = v[0]*p2.v[1] - v[1]*p2.v[0];
00057 
00058   return temp;
00059 }

double EvtVector3C::dot const EvtVector3C p2  ) 
 

const EvtComplex & EvtVector3C::get int   )  const [inline]
 

00094                                                      {
00095 
00096    return v[i];
00097 }

EvtVector3C & EvtVector3C::operator *= const EvtComplex c  )  [inline]
 

00099                                                               {
00100 
00101   v[0]*=c;
00102   v[1]*=c;
00103   v[2]*=c;
00104   return *this;
00105 }

EvtVector3C & EvtVector3C::operator+= const EvtVector3C v2  )  [inline]
 

00115                                                                 {
00116 
00117   v[0]+=v2.v[0];
00118   v[1]+=v2.v[1];
00119   v[2]+=v2.v[2];
00120   return *this;
00121 }

EvtVector3C & EvtVector3C::operator-= const EvtVector3C v2  )  [inline]
 

00123                                                                 {
00124 
00125   v[0]-=v2.v[0];
00126   v[1]-=v2.v[1];
00127   v[2]-=v2.v[2];
00128   return *this;
00129 }

EvtVector3C & EvtVector3C::operator/= const EvtComplex c  )  [inline]
 

00107                                                               {
00108 
00109   v[0]/=c;
00110   v[1]/=c;
00111   v[2]/=c;
00112   return *this;
00113 }

void EvtVector3C::set double  ,
double  ,
double 
[inline]
 

00089                                             {
00090 
00091      v[0]=EvtComplex(x); v[1]=EvtComplex(y); v[2]=EvtComplex(z);
00092 }

void EvtVector3C::set const EvtComplex ,
const EvtComplex ,
const EvtComplex
[inline]
 

00083                                                  {
00084 
00085    v[0]=x; v[1]=y; v[2]=z; 
00086 }

void EvtVector3C::set const   int,
const EvtComplex
[inline]
 

00076                                                            {
00077 
00078   v[i]=c;
00079   
00080 }


Friends And Related Function Documentation

EvtVector3C operator * const EvtVector3C v1,
const EvtComplex c
[friend]
 

00141                                                                         {
00142 
00143   return EvtVector3C(v1)*=c;
00144 }

EvtComplex operator * const EvtVector3C v1,
const EvtVector3C v2
[friend]
 

00166                                                                         {
00167  
00168   return v1.v[0]*v2.v[0]+v1.v[1]*v2.v[1]+v1.v[2]*v2.v[2];
00169 }

EvtComplex operator * const EvtVector3C v1,
const EvtVector3R v2
[friend]
 

00161                                                                         {
00162  
00163   return v1.v[0]*v2.get(0)+v1.v[1]*v2.get(1)+v1.v[2]*v2.get(2);
00164 }

EvtComplex operator * const EvtVector3R v1,
const EvtVector3C v2
[friend]
 

00156                                                                         {
00157  
00158   return v1.get(0)*v2.v[0]+v1.get(1)*v2.v[1]+v1.get(2)*v2.v[2];
00159 }

EvtVector3C operator * const EvtComplex c,
const EvtVector3R v2
[friend]
 

00151                                                                        {
00152 
00153   return EvtVector3C(v2)*=c;
00154 }

EvtVector3C operator * const EvtComplex c,
const EvtVector3C v2
[friend]
 

00146                                                                        {
00147 
00148   return EvtVector3C(v2)*=c;
00149 }

EvtVector3C operator+ const EvtVector3C v1,
const EvtVector3C v2
[friend]
 

00131                                                                           {
00132 
00133   return EvtVector3C(v1)+=v2;
00134 }

EvtVector3C operator- const EvtVector3C v1,
const EvtVector3C v2
[friend]
 

00136                                                                           {
00137 
00138   return EvtVector3C(v1)-=v2;
00139 }

std::ostream& operator<< std::ostream c,
const EvtVector3C v
[friend]
 

EvtVector3C rotateEuler const EvtVector3C v,
double  phi,
double  theta,
double  ksi
[friend]
 

00062                                                               {
00063 
00064   EvtVector3C tmp(v);
00065   tmp.applyRotateEuler(alpha,beta,gamma);
00066   return tmp;
00067 
00068 }


Member Data Documentation

EvtComplex EvtVector3C::v[3] [private]
 


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