EvtVector3C Class Reference

#include <EvtVector3C.hh>

List of all members.

Public Member Functions

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

Private Attributes

EvtComplex v [3]

Friends

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


Detailed Description

Definition at line 29 of file EvtVector3C.hh.


Constructor & Destructor Documentation

EvtVector3C::EvtVector3C (  ) 

Definition at line 31 of file EvtVector3C.cc.

References v.

Referenced by conj().

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  
)

Definition at line 42 of file EvtVector3C.cc.

References v.

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

EvtVector3C::~EvtVector3C (  )  [virtual]

Definition at line 36 of file EvtVector3C.cc.

00036                          {
00037 
00038   return;
00039 }

EvtVector3C::EvtVector3C ( const EvtVector3R v1  )  [inline]

Definition at line 68 of file EvtVector3C.hh.

References EvtVector3R::get(), and v.

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 
)

Definition at line 71 of file EvtVector3C.cc.

References cos(), sin(), subSeperate::temp, and v.

Referenced by rotateEuler().

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]

Definition at line 171 of file EvtVector3C.hh.

References EvtVector3C(), and v.

Referenced by EvtVVSPwave::decay(), EvtVVP::decay(), and EvtSVVHelAmp::SVVHel().

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

EvtVector3C EvtVector3C::cross ( const EvtVector3C v2  ) 

Definition at line 48 of file EvtVector3C.cc.

References subSeperate::temp, and v.

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]

Definition at line 94 of file EvtVector3C.hh.

References v.

Referenced by directProd().

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

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

Definition at line 99 of file EvtVector3C.hh.

References v.

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]

Definition at line 115 of file EvtVector3C.hh.

References v.

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]

Definition at line 123 of file EvtVector3C.hh.

References v.

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]

Definition at line 107 of file EvtVector3C.hh.

References v.

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]

Definition at line 88 of file EvtVector3C.hh.

References v.

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]

Definition at line 82 of file EvtVector3C.hh.

References v, and x.

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

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

Definition at line 76 of file EvtVector3C.hh.

References v.

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


Friends And Related Function Documentation

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

Definition at line 141 of file EvtVector3C.hh.

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

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

Definition at line 166 of file EvtVector3C.hh.

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]

Definition at line 161 of file EvtVector3C.hh.

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]

Definition at line 156 of file EvtVector3C.hh.

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]

Definition at line 151 of file EvtVector3C.hh.

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

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

Definition at line 146 of file EvtVector3C.hh.

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

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

Definition at line 131 of file EvtVector3C.hh.

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

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

Definition at line 136 of file EvtVector3C.hh.

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]

Definition at line 61 of file EvtVector3C.cc.

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]

Definition at line 65 of file EvtVector3C.hh.

Referenced by applyRotateEuler(), conj(), cross(), EvtVector3C(), get(), operator *(), operator *=(), operator+=(), operator-=(), operator/=(), and set().


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