You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
837 B
44 lines
837 B
// CVTR.H
|
|
#ifndef CVTR_H
|
|
#define CVTR_H
|
|
#include "float_complex.h"
|
|
#include "vtr.h"
|
|
|
|
class cVtr {
|
|
friend class cTensor;
|
|
friend Complex dotP(cVtr, vtr);
|
|
friend Complex dotP(cVtr, cVtr);
|
|
|
|
public:
|
|
Complex x, y, z;
|
|
|
|
public:
|
|
cVtr();
|
|
void reset();
|
|
void setcvtr(Complex, Complex, Complex);
|
|
void Negate();
|
|
|
|
// operators
|
|
cVtr operator+(const cVtr &) const;
|
|
cVtr operator-(const cVtr &) const;
|
|
cVtr operator*(const double &) const;
|
|
cVtr operator*(const Complex &) const;
|
|
cVtr operator*(const cVtr &) const;
|
|
cVtr operator*(const vtr &) const;
|
|
|
|
cVtr operator/(const double &) const;
|
|
cVtr& operator=(const cVtr &);
|
|
cVtr& operator=(const vtr &);
|
|
|
|
double magnitude();
|
|
double magSquare();
|
|
|
|
void Conjugate();
|
|
// get functions
|
|
Complex getx(), gety(), getz();
|
|
|
|
// print function
|
|
void print();
|
|
};
|
|
|
|
#endif
|
|
|