CMS 3D CMS Logo

TEcnaNArrayD.h
Go to the documentation of this file.
1 #ifndef ROOT_TEcnaNArrayD
2 #define ROOT_TEcnaNArrayD
3 
4 #include "TObject.h"
6 
21 
22 class TEcnaNArrayD : public TObject {
23 
24 protected:
25 
26  Int_t fNd; //dimension of the array
27  Int_t fN1; //number of elements in the 1st dimension
28  Int_t fN2; //number of elements in the 2nd dimension
29  Int_t fN3; //number of elements in the 3rf dimension
30  Int_t fN4; //number of elements in the 4th dimension
31  Int_t fN5; //number of elements in the 5th dimension
32  Int_t fN6; //number of elements in the 6th dimension
33  Int_t fNL; //length of the array = fN1*fN2*fN3*fN4*fN5*fN6 + 1
34  Double_t *fA; //[fNL] Array of Double_t of dimension fNd
35 
36  void Init();
37  inline Int_t OneDim(Int_t) const;
38  inline Int_t OneDim(Int_t,Int_t) const;
39  inline Int_t OneDim(Int_t,Int_t,Int_t) const;
40  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t) const;
41  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t,Int_t) const;
42  inline Int_t OneDim(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t) const;
43 
44 public:
45 
46  TEcnaNArrayD();
47  TEcnaNArrayD(const TEcnaNArrayD&);
48 
49  TEcnaNArrayD(TEcnaObject*, Int_t);
50  TEcnaNArrayD(TEcnaObject*, Int_t,Int_t);
51  TEcnaNArrayD(TEcnaObject*, Int_t,Int_t,Int_t);
52  TEcnaNArrayD(TEcnaObject*, Int_t,Int_t,Int_t,Int_t);
53  TEcnaNArrayD(TEcnaObject*, Int_t,Int_t,Int_t,Int_t,Int_t);
54  TEcnaNArrayD(TEcnaObject*, Int_t,Int_t,Int_t,Int_t,Int_t,Int_t);
55  virtual ~TEcnaNArrayD();
56  void Clean();
57  Double_t GetOverFlow() const { return fA[fNL-1]; }
58  void ReSet(Int_t);
59  void ReSet(Int_t,Int_t);
60  void ReSet(Int_t,Int_t,Int_t);
61  void ReSet(Int_t,Int_t,Int_t,Int_t);
62  void ReSet(Int_t,Int_t,Int_t,Int_t,Int_t);
63  void ReSet(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t);
64  const Double_t &operator()(Int_t i1) const;
65  const Double_t &operator()(Int_t i1,Int_t i2) const;
66  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3) const;
67  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4) const;
68  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5) const;
69  const Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5,Int_t i6) const;
70  Double_t &operator()(Int_t i1);
71  Double_t &operator()(Int_t i1,Int_t i2);
72  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3);
73  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4);
74  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5);
75  Double_t &operator()(Int_t i1,Int_t i2,Int_t i3,Int_t i4,Int_t i5,Int_t i6);
76  ClassDef(TEcnaNArrayD,1) //ROOT class for multidimensional arrays of Double_t
77 };
78 #endif
const Double_t & operator()(Int_t i1) const
Double_t * fA
Definition: TEcnaNArrayD.h:34
Double_t GetOverFlow() const
Definition: TEcnaNArrayD.h:57
Int_t OneDim(Int_t) const
virtual ~TEcnaNArrayD()
void ReSet(Int_t)