CMS 3D CMS Logo

TNArrayD Class Reference

#include <CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TNArrayD.h>

List of all members.

Public Member Functions

void Clean ()
Double_t GetOverFlow () const
Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4, Int_t i5, Int_t i6)
Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4, Int_t i5)
Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4)
Double_t & operator() (Int_t i1, Int_t i2, Int_t i3)
Double_t & operator() (Int_t i1, Int_t i2)
Double_t & operator() (Int_t i1)
const Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4, Int_t i5, Int_t i6) const
const Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4, Int_t i5) const
const Double_t & operator() (Int_t i1, Int_t i2, Int_t i3, Int_t i4) const
const Double_t & operator() (Int_t i1, Int_t i2, Int_t i3) const
const Double_t & operator() (Int_t i1, Int_t i2) const
const Double_t & operator() (Int_t i1) const
void ReSet (Int_t, Int_t, Int_t, Int_t, Int_t, Int_t)
void ReSet (Int_t, Int_t, Int_t, Int_t, Int_t)
void ReSet (Int_t, Int_t, Int_t, Int_t)
void ReSet (Int_t, Int_t, Int_t)
void ReSet (Int_t, Int_t)
void ReSet (Int_t)
 TNArrayD (Int_t, Int_t, Int_t, Int_t, Int_t, Int_t)
 TNArrayD (Int_t, Int_t, Int_t, Int_t, Int_t)
 TNArrayD (Int_t, Int_t, Int_t, Int_t)
 TNArrayD (Int_t, Int_t, Int_t)
 TNArrayD (Int_t, Int_t)
 TNArrayD (Int_t)
 TNArrayD (const TNArrayD &)
 TNArrayD ()
virtual ~TNArrayD ()

Protected Member Functions

void Init ()
Int_t OneDim (Int_t, Int_t, Int_t, Int_t, Int_t, Int_t) const
Int_t OneDim (Int_t, Int_t, Int_t, Int_t, Int_t) const
Int_t OneDim (Int_t, Int_t, Int_t, Int_t) const
Int_t OneDim (Int_t, Int_t, Int_t) const
Int_t OneDim (Int_t, Int_t) const
Int_t OneDim (Int_t) const

Protected Attributes

Double_t * fA
Int_t fN1
Int_t fN2
Int_t fN3
Int_t fN4
Int_t fN5
Int_t fN6
Int_t fNd
Int_t fNL


Detailed Description

Definition at line 13 of file TNArrayD.h.


Constructor & Destructor Documentation

TNArrayD::TNArrayD (  )  [inline]

Definition at line 38 of file TNArrayD.h.

References Init().

00038 { Init(); }

TNArrayD::TNArrayD ( const TNArrayD  ) 

TNArrayD::TNArrayD ( Int_t  n1  ) 

Definition at line 30 of file TNArrayD.cc.

References fA, fN1, fNd, fNL, i, and Init().

00030                            {
00031 //constructor for a 1 dimensional array of size n1. Array is put to 0
00032   const Double_t zero = 0.0;
00033   Init();
00034   fNd  = 1;
00035   fN1  = n1;
00036   fNL  = n1 + 1;
00037   fA   = new Double_t [fNL];
00038   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00039 }

TNArrayD::TNArrayD ( Int_t  n1,
Int_t  n2 
)

Definition at line 40 of file TNArrayD.cc.

References fA, fN1, fN2, fNd, fNL, i, and Init().

00040                                     {
00041 //constructor for a 2 dimensional array of sizes n1,n2. Array is put to 0
00042   const Double_t zero = 0.0;
00043   Init();
00044   fNd = 2;
00045   fN1 = n1;
00046   fN2 = n2;
00047   fNL = n1*n2 + 1;
00048   fA  = new Double_t [fNL];
00049   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00050 }

TNArrayD::TNArrayD ( Int_t  n1,
Int_t  n2,
Int_t  n3 
)

Definition at line 51 of file TNArrayD.cc.

References fA, fN1, fN2, fN3, fNd, fNL, i, and Init().

00051                                              {
00052 //constructor 3 dimensional array of sizes n1,n2,n3. Array is put to 0
00053   const Double_t zero = 0.0;
00054   Init();
00055   fNd  = 3;
00056   fN1  = n1;
00057   fN2  = n2;
00058   fN3  = n3;
00059   fNL  = n1*n2*n3 + 1;
00060   fA   = new Double_t [fNL];
00061   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00062 }

TNArrayD::TNArrayD ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4 
)

Definition at line 63 of file TNArrayD.cc.

References fA, fN1, fN2, fN3, fN4, fNd, fNL, i, and Init().

00063                                                       {
00064 //constructor for a 4 dimensional array of sizes n1,n2,n3,n4. Array is put to 0
00065   const Double_t zero = 0.0;
00066   Init();
00067   fNd  = 4;
00068   fN1  = n1;
00069   fN2  = n2;
00070   fN3  = n3;
00071   fN4  = n4;
00072   fNL  = n1*n2*n3*n4 + 1;
00073   fA   = new Double_t [fNL];
00074   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00075 }

TNArrayD::TNArrayD ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4,
Int_t  n5 
)

Definition at line 76 of file TNArrayD.cc.

References fA, fN1, fN2, fN3, fN4, fN5, fNd, fNL, i, and Init().

00076                                                                {
00077 //constructor for a 5 dimensional array of sizes n1,n2,n3,n4,n5. Array is put to 0
00078   const Double_t zero = 0.0;
00079   Init();
00080   fNd  = 5;
00081   fN1  = n1;
00082   fN2  = n2;
00083   fN3  = n3;
00084   fN4  = n4;
00085   fN5  = n5;
00086   fNL  = n1*n2*n3*n4*n5 + 1;
00087   fA   = new Double_t [fNL];
00088   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00089 }

TNArrayD::TNArrayD ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4,
Int_t  n5,
Int_t  n6 
)

Definition at line 90 of file TNArrayD.cc.

References fA, fN1, fN2, fN3, fN4, fN5, fN6, fNd, fNL, i, and Init().

00090                                                                         {
00091 //constructor for a 6 dimensional array of sizes n1,n2,n3,n4,n5,n6. Array is put to 0
00092   const Double_t zero = 0.0;
00093   Init();
00094   fNd  = 6;
00095   fN1  = n1;
00096   fN2  = n2;
00097   fN3  = n3;
00098   fN4  = n4;
00099   fN5  = n5;
00100   fN6  = n6;
00101   fNL  = n1*n2*n3*n4*n5*n6 + 1;
00102   fA   = new Double_t [fNL];
00103   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00104 }

TNArrayD::~TNArrayD (  )  [virtual]

Definition at line 105 of file TNArrayD.cc.

References Clean().

00105                     {
00106 //destructor
00107   Clean();
00108 }


Member Function Documentation

void TNArrayD::Clean (  ) 

Definition at line 109 of file TNArrayD.cc.

References fA, and Init().

Referenced by ReSet(), and ~TNArrayD().

00109                      {
00110 //
00111   if (fA) delete [] fA;
00112   Init();
00113 }

Double_t TNArrayD::GetOverFlow (  )  const [inline]

Definition at line 48 of file TNArrayD.h.

References fA, and fNL.

00048 { return fA[fNL-1]; }

void TNArrayD::Init ( void   )  [protected]

Definition at line 114 of file TNArrayD.cc.

References fA, fN1, fN2, fN3, fN4, fN5, fN6, fNd, and fNL.

Referenced by Clean(), and TNArrayD().

00114                     {
00115 //Initialization
00116   fNd  = 0;
00117   fN1  = 1;
00118   fN2  = 1;
00119   fN3  = 1;
00120   fN4  = 1;
00121   fN5  = 1;
00122   fN6  = 1;
00123   fNL  = 0;
00124   fA   = 0;
00125 }

Int_t TNArrayD::OneDim ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5,
Int_t  i6 
) const [inline, protected]

Definition at line 180 of file TNArrayD.cc.

References cond::Error, fN1, fN2, fN3, fN4, fN5, fNL, and i.

00180                                                                                          {
00181 //Index from 6 dimension to 1 dimension
00182   Int_t i;
00183   i = i1 + fN1*(i2 + fN2*(i3 + fN3*(i4 + fN4*(i5 + fN5*i6))));
00184   if ((i>=fNL - 1) || (i<0)) {
00185     i = fNL - 1;
00186     Error("OneDim","Index outside bounds");
00187   }
00188   return i;
00189 }

Int_t TNArrayD::OneDim ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5 
) const [inline, protected]

Definition at line 170 of file TNArrayD.cc.

References cond::Error, fN1, fN2, fN3, fN4, fNL, and i.

00170                                                                                 {
00171 //Index from 5 dimension to 1 dimension
00172   Int_t i;
00173   i = i1 + fN1*(i2 + fN2*(i3 + fN3*(i4 + fN4*i5)));
00174   if ((i>=fNL - 1) || (i<0)) {
00175     i = fNL - 1;
00176     Error("OneDim","Index outside bounds");
00177   }
00178   return i;
00179 }

Int_t TNArrayD::OneDim ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4 
) const [inline, protected]

Definition at line 160 of file TNArrayD.cc.

References cond::Error, fN1, fN2, fN3, fNL, and i.

00160                                                                        {
00161 //Index from 4 dimension to 1 dimension
00162   Int_t i;
00163   i = i1 + fN1*(i2 + fN2*(i3 + fN3*i4));
00164   if ((i>=fNL - 1) || (i<0)) {
00165     i = fNL - 1;
00166     Error("OneDim","Index outside bounds");
00167   }
00168   return i;
00169 }

Int_t TNArrayD::OneDim ( Int_t  i1,
Int_t  i2,
Int_t  i3 
) const [inline, protected]

Definition at line 148 of file TNArrayD.cc.

References cond::Error, fN1, fN2, fNL, and i.

00148                                                               {
00149 //Index from 3 dimension to 1 dimension
00150   Int_t i;
00151   i = i1 + fN1*(i2 + fN2*i3);
00152   if ((i>=fNL - 1) || (i<0)) {
00153     i = fNL - 1;
00154     Error("OneDim","Index outside bounds");
00155     //cout << "i1  = " << i1  << ", i2 = "  << i2  << ", i3 = "  << i3
00156     // << "; fN1 = " << fN1 << ", fN2 = " << fN2 << ", fNL = " << fNL << endl;
00157   }
00158   return i;
00159 }

Int_t TNArrayD::OneDim ( Int_t  i1,
Int_t  i2 
) const [inline, protected]

Definition at line 136 of file TNArrayD.cc.

References cond::Error, fN1, fNL, and i.

00136                                                      {
00137 //Index from 2 dimension to 1 dimension
00138   Int_t i;
00139   i = i1 + fN1*i2;
00140   if ((i>=fNL - 1) || (i<0)) {
00141     i = fNL - 1;
00142     Error("OneDim","Index outside bounds");
00143     //cout << "i1  = " << i1  << ", i2 = "  << i2
00144     //   << "; fN1 = " << fN1 << ", fNL = " << fNL << endl;
00145   }
00146   return i;
00147 }

Int_t TNArrayD::OneDim ( Int_t  i1  )  const [inline, protected]

Definition at line 126 of file TNArrayD.cc.

References cond::Error, and fNL.

Referenced by operator()().

00126                                             {
00127 //Index from 1 dimension to 1 dimension
00128   if ((i1>=fNL - 1) || (i1<0)) {
00129     i1 = fNL - 1;
00130     Error("OneDim","Index outside bounds");
00131     //cout << "i1  = " << i1
00132     // << "; fNL = " << fNL << endl;
00133   }
00134   return i1;
00135 }

Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5,
Int_t  i6 
)

Definition at line 315 of file TNArrayD.cc.

00316 {
00317    return (Double_t&)((*(const TNArrayD *)this)(i1,i2,i3,i4,i5,i6));
00318 }

Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5 
)

Definition at line 311 of file TNArrayD.cc.

00312 {
00313    return (Double_t&)((*(const TNArrayD *)this)(i1,i2,i3,i4,i5));
00314 }

Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4 
)

Definition at line 307 of file TNArrayD.cc.

00308 {
00309    return (Double_t&)((*(const TNArrayD *)this)(i1,i2,i3,i4));
00310 }

Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3 
)

Definition at line 303 of file TNArrayD.cc.

00304 {
00305    return (Double_t&)((*(const TNArrayD *)this)(i1,i2,i3));
00306 }

Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2 
)

Definition at line 299 of file TNArrayD.cc.

00300 {
00301    return (Double_t&)((*(const TNArrayD *)this)(i1,i2));
00302 }

Double_t & TNArrayD::operator() ( Int_t  i1  ) 

Definition at line 295 of file TNArrayD.cc.

00296 {
00297    return (Double_t&)((*(const TNArrayD *)this)(i1));
00298 }

const Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5,
Int_t  i6 
) const

Definition at line 290 of file TNArrayD.cc.

References fA, i, and OneDim().

00290                                                                                                 {
00291   Int_t i;
00292   i = OneDim(i1,i2,i3,i4,i5,i6);
00293   return fA[i];
00294 }

const Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4,
Int_t  i5 
) const

Definition at line 285 of file TNArrayD.cc.

References fA, i, and OneDim().

00285                                                                                        {
00286   Int_t i;
00287   i = OneDim(i1,i2,i3,i4,i5);
00288   return fA[i];
00289 }

const Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3,
Int_t  i4 
) const

Definition at line 280 of file TNArrayD.cc.

References fA, i, and OneDim().

00280                                                                               {
00281   Int_t i;
00282   i = OneDim(i1,i2,i3,i4);
00283   return fA[i];
00284 }

const Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2,
Int_t  i3 
) const

Definition at line 275 of file TNArrayD.cc.

References fA, i, and OneDim().

00275                                                                      {
00276   Int_t i;
00277   i = OneDim(i1,i2,i3);
00278   return fA[i];
00279 }

const Double_t & TNArrayD::operator() ( Int_t  i1,
Int_t  i2 
) const

Definition at line 270 of file TNArrayD.cc.

References fA, i, and OneDim().

00270                                                             {
00271   Int_t i;
00272   i = OneDim(i1,i2);
00273   return fA[i];
00274 }

const Double_t & TNArrayD::operator() ( Int_t  i1  )  const

Definition at line 265 of file TNArrayD.cc.

References fA, i, and OneDim().

00265                                                    {
00266   Int_t i;
00267   i = OneDim(i1);
00268   return fA[i];
00269 }

void TNArrayD::ReSet ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4,
Int_t  n5,
Int_t  n6 
)

Definition at line 250 of file TNArrayD.cc.

References Clean(), fA, fN1, fN2, fN3, fN4, fN5, fN6, fNd, fNL, and i.

00250                                                                           {
00251 //Reset this to be 6 dimensional of dimension n1,n2,n3,n4,n5,n6
00252   const Double_t zero = 0.0;
00253   Clean();
00254   fNd  = 6;
00255   fN1  = n1;
00256   fN2  = n2;
00257   fN3  = n3;
00258   fN4  = n4;
00259   fN5  = n5;
00260   fN6  = n6;
00261   fNL  = n1*n2*n3*n4*n5*n6 + 1;
00262   fA   = new Double_t [fNL];
00263   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00264 }

void TNArrayD::ReSet ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4,
Int_t  n5 
)

Definition at line 236 of file TNArrayD.cc.

References Clean(), fA, fN1, fN2, fN3, fN4, fN5, fNd, fNL, and i.

00236                                                                  {
00237 //Reset this to be 5 dimensional of dimension n1,n2,n3,n4,n5
00238   const Double_t zero = 0.0;
00239   Clean();
00240   fNd  = 5;
00241   fN1  = n1;
00242   fN2  = n2;
00243   fN3  = n3;
00244   fN4  = n4;
00245   fN5  = n5;
00246   fNL  = n1*n2*n3*n4*n5 + 1;
00247   fA   = new Double_t [fNL];
00248   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00249 }

void TNArrayD::ReSet ( Int_t  n1,
Int_t  n2,
Int_t  n3,
Int_t  n4 
)

Definition at line 223 of file TNArrayD.cc.

References Clean(), fA, fN1, fN2, fN3, fN4, fNd, fNL, and i.

00223                                                         {
00224 //Reset this to be 4 dimensional of dimension n1,n2,n3,n4
00225   const Double_t zero = 0.0;
00226   Clean();
00227   fNd  = 4;
00228   fN1  = n1;
00229   fN2  = n2;
00230   fN3  = n3;
00231   fN4  = n4;
00232   fNL  = n1*n2*n3*n4 + 1;
00233   fA   = new Double_t [fNL];
00234   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00235 }

void TNArrayD::ReSet ( Int_t  n1,
Int_t  n2,
Int_t  n3 
)

Definition at line 211 of file TNArrayD.cc.

References Clean(), fA, fN1, fN2, fN3, fNd, fNL, and i.

00211                                                {
00212 //Reset this to be 3 dimensional of dimension n1,n2,n3
00213   const Double_t zero = 0.0;
00214   Clean();
00215   fNd  = 3;
00216   fN1  = n1;
00217   fN2  = n2;
00218   fN3  = n3;
00219   fNL  = n1*n2*n3 + 1;
00220   fA   = new Double_t [fNL];
00221   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00222 }

void TNArrayD::ReSet ( Int_t  n1,
Int_t  n2 
)

Definition at line 200 of file TNArrayD.cc.

References Clean(), fA, fN1, fN2, fNd, fNL, and i.

00200                                       {
00201 //Reset this to be 2 dimensional of dimension n1,n2
00202   const Double_t zero = 0.0;
00203   Clean();
00204   fNd  = 2;
00205   fN1  = n1;
00206   fN2  = n2;
00207   fNL  = n1*n2 + 1;
00208   fA   = new Double_t [fNL];
00209   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00210 }

void TNArrayD::ReSet ( Int_t  n1  ) 

Definition at line 190 of file TNArrayD.cc.

References Clean(), fA, fN1, fNd, fNL, and i.

Referenced by TCnaResultType::SetSizeHis(), TCnaResultType::SetSizeMat(), TCnaResultType::TCnaResultType(), and TCnaRunEB::WriteRootFile().

00190                              {
00191 //Reset this to be 1 dimensional of dimension n1
00192   const Double_t zero = 0.0;
00193   Clean();
00194   fNd  = 1;
00195   fN1  = n1;
00196   fNL  = n1 + 1;
00197   fA   = new Double_t [fNL];
00198   for (Int_t i=0;i<fNL;i++) fA[i] = zero;
00199 }


Member Data Documentation

Double_t* TNArrayD::fA [protected]

Definition at line 25 of file TNArrayD.h.

Referenced by Clean(), GetOverFlow(), Init(), operator()(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN1 [protected]

Definition at line 18 of file TNArrayD.h.

Referenced by Init(), OneDim(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN2 [protected]

Definition at line 19 of file TNArrayD.h.

Referenced by Init(), OneDim(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN3 [protected]

Definition at line 20 of file TNArrayD.h.

Referenced by Init(), OneDim(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN4 [protected]

Definition at line 21 of file TNArrayD.h.

Referenced by Init(), OneDim(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN5 [protected]

Definition at line 22 of file TNArrayD.h.

Referenced by Init(), OneDim(), ReSet(), and TNArrayD().

Int_t TNArrayD::fN6 [protected]

Definition at line 23 of file TNArrayD.h.

Referenced by Init(), ReSet(), and TNArrayD().

Int_t TNArrayD::fNd [protected]

Definition at line 17 of file TNArrayD.h.

Referenced by Init(), ReSet(), and TNArrayD().

Int_t TNArrayD::fNL [protected]

Definition at line 24 of file TNArrayD.h.

Referenced by GetOverFlow(), Init(), OneDim(), ReSet(), and TNArrayD().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:33:40 2009 for CMSSW by  doxygen 1.5.4