[ROOT] Problem with TVectorD

From: Francesco Perfetto (francesco.perfetto@na.infn.it)
Date: Thu Jun 24 2004 - 16:14:01 MEST


Hi All,

I have the following problem:
I use the TVectorD class in my program, 
...
/ definizione della Fermi Dirac e della tripla gaussiana
Double_t norm_FD[] = {474.76,466.72,459.35,423.14};
Double_t parFD[4][4];
Double_t par3G[9][21];

void riempi()
{
  Int_t kfd = 0;
  for(Int_t i=1; i<=4; i++){
    for(Int_t j=0; j<4; j++){
      TVectorD *par = (TVectorD*)fpar->Get(Form("par%d",i));
      parFD[j][kfd] = par(j);   <<<<<<<---------THIS IS LINE 81
    }
    kfd++;
  }

  Int_t kg3 = 0;
  for(Int_t i=5;i<=25; i++){
    for(Int_t j=0;j<9; j++){
      TVectorD *par = (TVectorD*)fpar->Get(Form("par%d",i));
      par3G[j][kg3] = par(j);   <<<<------THIS IS LINE 90
    }
    kg3++;
  }
}

...

when I compile my program I have the following errors:

likelihood.cc: In function `void riempi()':
likelihood.cc:81: `par' cannot be used as a function
likelihood.cc:90: `par' cannot be used as a function
gmake: *** [Linux/likelihood.o] Error 1

Can anyone help me?

I use root 4.00/04 on linux redhat 9.0 

P.S. The same function riempi() work very well from the root prompt:
 
root [0] .L inserimento_numeri.C
root [1] riempi()
 

Thanks
Francesco.



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET