Logo ROOT  
Reference Guide
TComplex.cxx
Go to the documentation of this file.
1 // @(#)root/mathcore:$Id$
2 // Author: Federico Carminati 22/04/2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 //////////////////////////////////////////////////////////////////////////
13 // //
14 // TComplex //
15 // //
16 //////////////////////////////////////////////////////////////////////////
17 
18 #include "TComplex.h"
19 #include <iostream>
20 #include <sstream>
21 
23 
24 ////////////////////////////////////////////////////////////////////////////////
25 /// Standard constructor
26 
27 TComplex::TComplex(Double_t re, Double_t im, Bool_t polar) : fRe(re), fIm(im)
28 {
29  if (polar) {
30  if(re<0) {
31  ::Warning("TComplex::ctor","Modulo of a complex number should be >=0, taking the abs");
32  re=-re;
33  }
34  fRe=re*TMath::Cos(im);
35  fIm=re*TMath::Sin(im);
36  }
37 }
38 
39 ////////////////////////////////////////////////////////////////////////////////
40 
41 std::ostream& operator<<(std::ostream& out, const TComplex& c)
42 {
43  out << "(" << c.fRe << "," << c.fIm << "i)";
44  return out;
45 }
46 
47 ////////////////////////////////////////////////////////////////////////////////
48 
49 std::istream& operator>>(std::istream& in, TComplex& c)
50 {
51  in >> c.fRe >> c.fIm;
52  return in;
53 }
54 
55 namespace cling {
56 std::string printValue(TComplex *c)
57 {
58  std::stringstream s;
59  s << *c;
60  return s.str();
61 }
62 }
c
#define c(i)
Definition: RSha256.hxx:119
operator<<
std::ostream & operator<<(std::ostream &out, const TComplex &c)
Definition: TComplex.cxx:41
TComplex
Definition: TComplex.h:27
Warning
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Definition: TError.cxx:231
TMath::Cos
Double_t Cos(Double_t)
Definition: TMath.h:643
ClassImp
#define ClassImp(name)
Definition: Rtypes.h:364
TGeant4Unit::s
static constexpr double s
Definition: TGeant4SystemOfUnits.h:168
bool
TComplex::fRe
Double_t fRe
Definition: TComplex.h:36
operator>>
std::istream & operator>>(std::istream &in, TComplex &c)
Definition: TComplex.cxx:49
TComplex::TComplex
TComplex()
Definition: TComplex.h:41
TMath::Sin
Double_t Sin(Double_t)
Definition: TMath.h:639
TComplex::fIm
Double_t fIm
Definition: TComplex.h:37
Double_t
double Double_t
Definition: RtypesCore.h:59
TComplex.h