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
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
testProducerWithPsetDescEmpty_cfi.i3
i3
Definition: testProducerWithPsetDescEmpty_cfi.py:47
TEcnaNArrayD::fN4
Int_t fN4
Definition: TEcnaNArrayD.h:28
TEcnaNArrayD::GetOverFlow
Double_t GetOverFlow() const
Definition: TEcnaNArrayD.h:54
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
TEcnaNArrayD::fN6
Int_t fN6
Definition: TEcnaNArrayD.h:30
TEcnaNArrayD
Definition: TEcnaNArrayD.h:22
TEcnaNArrayD::fN5
Int_t fN5
Definition: TEcnaNArrayD.h:29
TEcnaNArrayD::Init
void Init()
Definition: TEcnaNArrayD.cc:184
TEcnaNArrayD::fNd
Int_t fNd
Definition: TEcnaNArrayD.h:24
TEcnaNArrayD::fN3
Int_t fN3
Definition: TEcnaNArrayD.h:27
TEcnaNArrayD::OneDim
Int_t OneDim(Int_t) const
Definition: TEcnaNArrayD.cc:196
TEcnaObject.h
TEcnaNArrayD::TEcnaNArrayD
TEcnaNArrayD()
Definition: TEcnaNArrayD.cc:25
TEcnaObject
Definition: TEcnaObject.h:25
TEcnaNArrayD::fA
Double_t * fA
Definition: TEcnaNArrayD.h:32
TEcnaNArrayD::~TEcnaNArrayD
~TEcnaNArrayD() override
Definition: TEcnaNArrayD.cc:168
TEcnaNArrayD::fN2
Int_t fN2
Definition: TEcnaNArrayD.h:26
TEcnaNArrayD::ReSet
void ReSet(Int_t)
Definition: TEcnaNArrayD.cc:258
TEcnaNArrayD::fN1
Int_t fN1
Definition: TEcnaNArrayD.h:25
TEcnaNArrayD::operator()
const Double_t & operator()(Int_t i1) const
Definition: TEcnaNArrayD.cc:369
TEcnaNArrayD::Clean
void Clean()
Definition: TEcnaNArrayD.cc:178
TEcnaNArrayD::fNL
Int_t fNL
Definition: TEcnaNArrayD.h:31