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