#include #include "TComplex.h" ClassImp(TComplex) TComplex::TComplex() { fX=0; fY=0; fR=0; fPhase=0; } TComplex::TComplex(const TComplex & rhs) { fX=rhs.fX; fY=rhs.fY; fR=rhs.fR; fPhase=rhs.fPhase; } TComplex::TComplex(Double_t X, Double_t Y) { fX=X; fY=Y; fR=sqrt(X*X+Y*Y); fPhase=atan2(Y,X); } TComplex::~TComplex() { fX=0; fY=0; fR=0; fPhase=0; } void TComplex::SetReal(Double_t X) { fX=X; fR=sqrt(fX*fX+fY*fY); fPhase=atan2(fY,fX); } void TComplex::SetImaginary(Double_t Y) { fY=Y; fR=sqrt(fX*fX+fY*fY); fPhase=atan2(fY,fX); } TComplex TComplex::Add(TComplex& z) { TComplex temp; temp.SetReal(fX+z.GetReal()); temp.SetImaginary(fY+z.GetImaginary()); return temp; } TComplex TComplex::Multiply(TComplex& z) { TComplex temp; temp.SetReal(fX*z.GetReal() - fY*z.GetImaginary()); temp.SetImaginary(fX*z.GetImaginary() + fY*z.GetReal()); return temp; } TComplex TComplex::Conjugate() { TComplex temp(fX,-fY); return temp; }