CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TEcnaNArrayD.h
Go to the documentation of this file.
1 
3 // //
4 // TEcnaNArrayD ROOT class for multidimensional arrays of Double_t //
5 // //
6 // //
8 #ifndef ROOT_TEcnaNArrayD
9 #define ROOT_TEcnaNArrayD
10 
11 #include "TObject.h"
12 
13 class TEcnaNArrayD : public TObject {
14 
15 protected:
16 
17  Int_t fNd; //dimension of the array
18  Int_t fN1; //number of elements in the 1st dimension
19  Int_t fN2; //number of elements in the 2nd dimension
20  Int_t fN3; //number of elements in the 3rf dimension
21  Int_t fN4; //number of elements in the 4th dimension
22  Int_t fN5; //number of elements in the 5th dimension
23  Int_t fN6; //number of elements in the 6th dimension
24  Int_t fNL; //length of the array = fN1*fN2*fN3*fN4*fN5*fN6 + 1
25  Double_t *fA; //[fNL] Array of Double_t of dimension fNd
26 
27  void Init();
28  inline Int_t OneDim(Int_t) const;
29  inline Int_t OneDim(Int_t,Int_t) const;
30  inline Int_t OneDim(Int_t,Int_t,Int_t) const;
31  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t) const;
32  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t,Int_t) const;
33  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t) const;
34 
35 
36 public:
37 
38  TEcnaNArrayD();
39  TEcnaNArrayD(const TEcnaNArrayD&);
40  TEcnaNArrayD(Int_t);
41  TEcnaNArrayD(Int_t,Int_t);
42  TEcnaNArrayD(Int_t,Int_t,Int_t);
43  TEcnaNArrayD(Int_t,Int_t,Int_t,Int_t);
44  TEcnaNArrayD(Int_t,Int_t,Int_t,Int_t,Int_t);
45  TEcnaNArrayD(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t);
46  virtual ~TEcnaNArrayD();
47  void Clean();
48  Double_t GetOverFlow() const { return fA[fNL-1]; }
49  void ReSet(Int_t);
50  void ReSet(Int_t,Int_t);
51  void ReSet(Int_t,Int_t,Int_t);
52  void ReSet(Int_t,Int_t,Int_t,Int_t);
53  void ReSet(Int_t,Int_t,Int_t,Int_t,Int_t);
54  void ReSet(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t);
55  const Double_t &operator()(Int_t i1) const;
56  const Double_t &operator()(Int_t i1,Int_t i2) const;
57  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3) const;
58  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4) const;
59  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5) const;
60  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5,Int_t i6) const;
61  Double_t &operator()(Int_t i1);
62  Double_t &operator()(Int_t i1,Int_t i2);
63  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3);
64  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4);
65  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5);
66  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5,Int_t i6);
67  ClassDef(TEcnaNArrayD,1) //ROOT class for multidimensional arrays of Double_t
68 };
69 #endif
const Double_t & operator()(Int_t i1) const
Double_t * fA
Definition: TEcnaNArrayD.h:25
Double_t GetOverFlow() const
Definition: TEcnaNArrayD.h:48
Int_t OneDim(Int_t) const
virtual ~TEcnaNArrayD()
void ReSet(Int_t)