Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
HistogramManager.h
1/*
2 * HalHistogramManager.h
3 *
4 * Created on: 30-04-2022
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALHISTOGRAMMANAGER_H_
10#define HALHISTOGRAMMANAGER_H_
11
12#include <TNamed.h>
13#include <TString.h>
14
15
19namespace Hal {
20 class Package;
21 class HistogramAxisConf : public TNamed {
22 Int_t fBins;
23 Double_t fMin, fMax;
24
25 protected:
26 void SetConf(Int_t bins, Double_t min, Double_t max) {
27 fBins = bins;
28 fMin = min;
29 fMax = max;
30 }
31
32 public:
40 HistogramAxisConf(Int_t bins, Double_t min, Double_t max);
48 HistogramAxisConf(TString title, Int_t bins = 100, Double_t min = 0, Double_t max = 100);
53 Int_t GetNBins() const { return fBins; };
58 Double_t GetMin() const { return fMin; };
63 Double_t GetMax() const { return fMax; };
64 virtual ~HistogramAxisConf() {};
65 ClassDef(HistogramAxisConf, 1)
66
67 virtual void Print(Option_t* option = "") const;
68 };
69
70 /*************************************************************************************************************************************
71 * 1 DIM ARRAYS
72 *************************************************************************************************************************************/
76 template<class T>
77
78 class HistogramManager_1_1D : public TObject {
79 protected:
83 Int_t fSize;
87 Int_t fAxisNo;
91 TString* fComments; //[fSize]
92 public:
96 T** fArray; //[fSize]
97 HistogramManager_1_1D() : fSize(0), fAxisNo(0), fComments(NULL), fArray(NULL) {};
99 HistogramManager_1_1D<T>& operator=(const HistogramManager_1_1D& manager);
107 void Init(Int_t size, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
116 void Init(Int_t size, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
122 void OverwriteAt(T* t, Int_t pos);
128 inline T* At(Int_t i) const { return fArray[i]; };
133 inline T** GetArrray() const { return fArray; };
139 inline void Fill(Int_t i, Double_t val) { fArray[i]->Fill(val); };
146 inline void Fill(Int_t i, Double_t val, Double_t weight) { fArray[i]->Fill(val, weight); };
151 Int_t GetSize() const { return fSize; };
157 TString GetComment(Int_t i) { return fComments[i]; };
163 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
168 TList* GetFlatList() const;
173 Package* Report() const;
174 virtual ~HistogramManager_1_1D() {
175 delete[] fComments;
176 for (int i = 0; i < fSize; i++)
177 delete fArray[i];
178 delete[] fArray;
179 }
180 ClassDef(HistogramManager_1_1D, 1)
181 };
185 template<class T>
186 class HistogramManager_1_2D : public TObject {
187 protected:
191 Int_t fSize;
195 Int_t fAxisNo;
199 TString* fComments; //[fSize]
200 public:
204 T** fArray; //[fSize]
205 HistogramManager_1_2D() : fSize(0), fAxisNo(0), fComments(NULL), fArray(NULL) {};
207 HistogramManager_1_2D<T>& operator=(const HistogramManager_1_2D& manager);
215 void Init(Int_t size, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
227 void
228 Init(Int_t sizeX, Int_t binsX, Double_t minX, Double_t maxX, Int_t binsY, Double_t minY, Double_t maxY, Bool_t sumw = kFALSE);
234 inline T* At(Int_t i) const { return fArray[i]; };
239 inline T** GetArrray() const { return fArray; };
246 inline void Fill(Int_t i, Double_t X, Double_t Y) { fArray[i]->Fill(X, Y); };
254 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t weight) { fArray[i]->Fill(X, Y, weight); };
259 Int_t GetSize() const { return fSize; };
265 TString GetComment(Int_t i) { return fComments[i]; };
271 void OverwriteAt(T* t, Int_t pos);
277 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
282 TList* GetFlatList() const;
287 Package* Report() const;
288 virtual ~HistogramManager_1_2D() {
289 for (int i = 0; i < fSize; i++) {
290 delete fArray[i];
291 }
292 delete[] fArray;
293 delete[] fComments;
294 }
295 ClassDef(HistogramManager_1_2D, 1)
296 };
297
301 template<class T>
302 class HistogramManager_1_3D : public TObject {
303 protected:
307 Int_t fSize;
311 Int_t fAxisNo;
315 TString* fComments; //[fSize]
316 public:
320 T** fArray; //[fSize]
321 HistogramManager_1_3D() : fSize(0), fAxisNo(0), fComments(NULL), fArray(NULL) {};
323 HistogramManager_1_3D<T>& operator=(const HistogramManager_1_3D& manager);
331 void Init(Int_t size, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
346 void Init(Int_t sizeX,
347 Int_t binsX,
348 Double_t minX,
349 Double_t maxX,
350 Int_t binsY,
351 Double_t minY,
352 Double_t maxY,
353 Int_t binsZ,
354 Double_t minZ,
355 Double_t maxZ,
356 Bool_t sumw = kFALSE);
361 Int_t GetSize() const { return fSize; };
367 TString GetComment(Int_t i) { return fComments[i]; };
373 void SetComment(TString comment, Int_t i) { fComments[i] = comment; };
378 TList* GetFlatList() const;
383 Package* Report() const;
389 inline T* At(const Int_t i) const { return fArray[i]; };
394 inline T** GetArrray() const { return fArray; };
400 void OverwriteAt(T* t, Int_t pos);
408 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z) { fArray[i]->Fill(X, Y, Z); };
417 inline void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z, Double_t weight) { fArray[i]->Fill(X, Y, Z, weight); };
418 virtual ~HistogramManager_1_3D() {
419 for (int i = 0; i < fSize; i++)
420 delete fArray[i];
421 delete[] fArray;
422 delete[] fComments;
423 };
424 ClassDef(HistogramManager_1_3D, 1)
425 };
426 /*************************************************************************************************************************************
427 * 2 DIM ARRAYS
428 *************************************************************************************************************************************/
432 template<class T>
433 class HistogramManager_2_1D : public TObject {
437 Int_t fSize;
441 Int_t fAxisNo;
442
443 public:
448 HistogramManager_2_1D() : fSize(0), fAxisNo(0), fArray(NULL) {};
450 HistogramManager_2_1D<T>& operator=(const HistogramManager_2_1D& manager);
459 void Init(Int_t sizeX, Int_t sizeY, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
469 void Init(Int_t sizeX, Int_t sizeY, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
474 Int_t GetSize() const { return fSize; };
479 TList* GetFlatList() const;
484 Package* Report() const;
490 HistogramManager_1_1D<T>* Get(Int_t i) const { return &fArray[i]; };
497 inline T* At(Int_t i, Int_t j) const { return fArray[i].fArray[j]; };
505 inline void Fill(Int_t i, Int_t j, Double_t X) { fArray[i].fArray[j]->Fill(X); };
513 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t weight) { fArray[i].fArray[j]->Fill(X, weight); };
514 virtual ~HistogramManager_2_1D() { delete[] fArray; };
515 ClassDef(HistogramManager_2_1D, 1)
516 };
521 template<class T>
522 class HistogramManager_2_2D : public TObject {
523 Int_t fSize;
524 Int_t fAxisNo;
525
526 public:
531 HistogramManager_2_2D() : fSize(0), fAxisNo(0), fArray(NULL) {};
533 HistogramManager_2_2D<T>& operator=(const HistogramManager_2_2D& manager);
542 void Init(Int_t sizeX, Int_t sizeY, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
555 void Init(Int_t sizeX,
556 Int_t sizeY,
557 Int_t binsX,
558 Double_t minX,
559 Double_t maxX,
560 Int_t binsY,
561 Int_t minY,
562 Int_t maxY,
563 Bool_t sumw = kFALSE);
568 Int_t GetSize() const { return fSize; };
573 TList* GetFlatList() const;
578 Package* Report() const;
584 HistogramManager_1_2D<T>* Get(Int_t i) const { return &fArray[i]; };
591 inline T* At(Int_t i, Int_t j) const { return fArray[i].fArray[j]; };
599 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y) { fArray[i].fArray[j]->Fill(X, Y); };
608 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t weight) { fArray[i].fArray[j]->Fill(X, Y, weight); };
609 virtual ~HistogramManager_2_2D() { delete[] fArray; };
610 ClassDef(HistogramManager_2_2D, 1)
611 };
615 template<class T>
616 class HistogramManager_2_3D : public TObject {
617 Int_t fSize;
618 Int_t fAxisNo;
619
620 public:
625 HistogramManager_2_3D() : fSize(0), fAxisNo(0), fArray(NULL) {};
627 HistogramManager_2_3D<T>& operator=(const HistogramManager_2_3D& manager);
636 void Init(Int_t sizeX, Int_t sizeY, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
652 void Init(Int_t sizeX,
653 Int_t sizeY,
654 Int_t binsX,
655 Double_t minX,
656 Double_t maxX,
657 Int_t binsY,
658 Double_t minY,
659 Double_t maxY,
660 Int_t binsZ,
661 Double_t minZ,
662 Double_t maxZ,
663 Bool_t sumw = kFALSE);
668 Int_t GetSize() const { return fSize; };
673 TList* GetFlatList() const;
678 Package* Report() const;
684 HistogramManager_1_3D<T>* Get(Int_t i) const { return &fArray[i]; };
691 inline T* At(const Int_t i, Int_t j) const { return fArray[i].fArray[j]; };
700 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z) { fArray[i].fArray[j]->Fill(X, Y, Z); };
710 inline void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
711 fArray[i].fArray[j]->Fill(X, Y, Z, weight);
712 };
713 virtual ~HistogramManager_2_3D() { delete[] fArray; };
714 ClassDef(HistogramManager_2_3D, 1)
715 };
716 /*************************************************************************************************************************************
717 * 3 DIM ARRAYS
718 *************************************************************************************************************************************/
722 template<class T>
723 class HistogramManager_3_1D : public TObject {
724 Int_t fSize;
725 Int_t fAxisNo;
726
727 public:
732 HistogramManager_3_1D() : fSize(0), fAxisNo(0), fArray(NULL) {};
734 HistogramManager_3_1D<T>& operator=(const HistogramManager_3_1D& manager);
744 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
755 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
760 Int_t GetSize() const { return fSize; };
765 TList* GetFlatList() const;
770 Package* Report() const;
776 HistogramManager_2_1D<T>* Get(Int_t i) const { return &fArray[i]; };
784 inline T* At(Int_t i, Int_t j, Int_t k) const { return fArray[i].fArray[j].fArray[k]; };
792 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X) { fArray[i].fArray[j].fArray[k]->Fill(X); };
801 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t weight) { fArray[i].fArray[j].fArray[k]->Fill(X, weight); };
802 virtual ~HistogramManager_3_1D() { delete[] fArray; };
803 ClassDef(HistogramManager_3_1D, 1)
804 };
808 template<class T>
809 class HistogramManager_3_2D : public TObject {
810 Int_t fSize;
811 Int_t fAxisNo;
812
813 public:
818 HistogramManager_3_2D() : fSize(0), fAxisNo(0), fArray(NULL) {};
820 HistogramManager_3_2D<T>& operator=(const HistogramManager_3_2D& manager);
830 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
844 void Init(Int_t sizeX,
845 Int_t sizeY,
846 Int_t sizeZ,
847 Int_t binsX,
848 Double_t minX,
849 Double_t maxX,
850 Int_t binsY,
851 Int_t minY,
852 Int_t maxY,
853 Bool_t sumw = kFALSE);
858 Int_t GetSize() const { return fSize; };
863 TList* GetFlatList() const;
868 Package* Report() const;
874 HistogramManager_2_2D<T>* Get(Int_t i) const { return &fArray[i]; };
882 inline T* At(Int_t i, Int_t j, Int_t k) const { return fArray[i].fArray[j].fArray[k]; };
891 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y) { fArray[i].fArray[j].fArray[k]->Fill(X, Y); };
901 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t weight) {
902 fArray[i].fArray[j].fArray[k]->Fill(X, Y, weight);
903 };
904 virtual ~HistogramManager_3_2D() { delete[] fArray; };
905 ClassDef(HistogramManager_3_2D, 1)
906 };
910 template<class T>
911 class HistogramManager_3_3D : public TObject {
912 Int_t fSize;
913 Int_t fAxisNo;
914
915 public:
920 HistogramManager_3_3D() : fSize(0), fAxisNo(0), fArray(NULL) {};
922 HistogramManager_3_3D<T>& operator=(const HistogramManager_3_3D& manager);
932 void Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
949 void Init(Int_t sizeX,
950 Int_t sizeY,
951 Int_t sizeZ,
952 Int_t binsX,
953 Double_t minX,
954 Double_t maxX,
955 Int_t binsY,
956 Double_t minY,
957 Double_t maxY,
958 Int_t binsZ,
959 Double_t minZ,
960 Double_t maxZ,
961 Bool_t sumw = kFALSE);
966 Int_t GetSize() const { return fSize; };
971 TList* GetFlatList() const;
976 Package* Report() const;
982 HistogramManager_2_3D<T>* Get(Int_t i) const { return &fArray[i]; };
990 inline T* At(Int_t i, Int_t j, Int_t k) const { return fArray[i].fArray[j].fArray[k]; };
1000 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z) {
1001 fArray[i].fArray[j].fArray[k]->Fill(X, Y, Z);
1002 };
1013 inline void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
1014 fArray[i].fArray[j].fArray[k]->Fill(X, Y, Z, weight);
1015 };
1016 virtual ~HistogramManager_3_3D() { delete[] fArray; };
1017 ClassDef(HistogramManager_3_3D, 1)
1018 };
1019
1020 //----------------------------- 4 DIM Arrays
1024 template<class T>
1025 class HistogramManager_4_1D : public TObject {
1026 Int_t fSize;
1027 Int_t fAxisNo;
1028
1029 public:
1034 HistogramManager_4_1D() : fSize(0), fAxisNo(0), fArray(NULL) {};
1036 HistogramManager_4_1D<T>& operator=(const HistogramManager_4_1D& manager);
1047 void
1048 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1060 void
1061 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeT, Int_t binsX, Double_t minX, Double_t maxX, Bool_t sumw = kFALSE);
1066 Int_t GetSize() const { return fSize; };
1071 TList* GetFlatList() const;
1076 Package* Report() const;
1082 HistogramManager_3_1D<T>* Get(const Int_t i) const { return &fArray[i]; };
1091 inline T* At(Int_t i, Int_t j, Int_t k, Int_t l) const { return fArray[i].fArray[j].fArray[k].fArray[l]; };
1100 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X) { fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X); };
1110 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t weight) {
1111 fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X, weight);
1112 };
1113 virtual ~HistogramManager_4_1D() { delete[] fArray; };
1114 ClassDef(HistogramManager_4_1D, 1)
1115 };
1119 template<class T>
1120 class HistogramManager_4_2D : public TObject {
1121 Int_t fSize;
1122 Int_t fAxisNo;
1123
1124 public:
1129 HistogramManager_4_2D() : fSize(0), fAxisNo(0), fArray(NULL) {};
1131 HistogramManager_4_2D<T>& operator=(const HistogramManager_4_2D& manager);
1142 void
1143 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1158 void Init(Int_t sizeX,
1159 Int_t sizeY,
1160 Int_t sizeZ,
1161 Int_t sizeT,
1162 Int_t binsX,
1163 Double_t minX,
1164 Double_t maxX,
1165 Int_t binsY,
1166 Int_t minY,
1167 Int_t maxY,
1168 Bool_t sumw = kFALSE);
1173 Int_t GetSize() const { return fSize; };
1178 TList* GetFlatList() const;
1183 Package* Report() const;
1189 HistogramManager_3_2D<T>* Get(Int_t i) const { return &fArray[i]; };
1198 inline T* At(Int_t i, Int_t j, Int_t k, Int_t l) const { return fArray[i].fArray[j].fArray[k].fArray[l]; };
1208 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y) {
1209 fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X, Y);
1210 };
1222 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t weight) {
1223 fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X, Y, weight);
1224 };
1225 virtual ~HistogramManager_4_2D() { delete[] fArray; };
1226 ClassDef(HistogramManager_4_2D, 1)
1227 };
1231 template<class T>
1232 class HistogramManager_4_3D : public TObject {
1233 Int_t fSize;
1234 Int_t fAxisNo;
1235
1236 public:
1241 HistogramManager_4_3D() : fSize(0), fAxisNo(0), fArray(NULL) {};
1243 HistogramManager_4_3D<T>& operator=(const HistogramManager_4_3D& manager);
1254 void
1255 Init(Int_t sizeX, Int_t sizeY, Int_t sizeZ, Int_t sizeD, HistogramAxisConf** axisconf, TString title, Bool_t Sumw = kFALSE);
1273 void Init(Int_t sizeX,
1274 Int_t sizeY,
1275 Int_t sizeZ,
1276 Int_t sizeT,
1277 Int_t binsX,
1278 Double_t minX,
1279 Double_t maxX,
1280 Int_t binsY,
1281 Double_t minY,
1282 Double_t maxY,
1283 Int_t binsZ,
1284 Double_t minZ,
1285 Double_t maxZ,
1286 Bool_t sumw = kFALSE);
1291 Int_t GetSize() const { return fSize; };
1296 TList* GetFlatList() const;
1301 Package* Report() const;
1307 HistogramManager_3_3D<T>* Get(Int_t i) const { return &fArray[i]; };
1316 inline T* At(Int_t i, Int_t j, Int_t k, Int_t l) const { return fArray[i].fArray[j].fArray[k].fArray[l]; };
1328 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z) {
1329 fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X, Y, Z);
1330 };
1342 inline void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z, Double_t weight) {
1343 fArray[i].fArray[j].fArray[k].fArray[l]->Fill(X, Y, Z, weight);
1344 };
1345 virtual ~HistogramManager_4_3D() { delete[] fArray; };
1346 ClassDef(HistogramManager_4_3D, 1)
1347 };
1348} // namespace Hal
1349#endif /* HALHISTOGRAMMANAGER_H_ */
Double_t GetMin() const
Double_t GetMax() const
void Fill(Int_t i, Double_t val)
void SetComment(TString comment, Int_t i)
void Fill(Int_t i, Double_t val, Double_t weight)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t weight)
void Fill(Int_t i, Double_t X, Double_t Y)
void SetComment(TString comment, Int_t i)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z, Double_t weight)
void Fill(Int_t i, Double_t X, Double_t Y, Double_t Z)
T * At(const Int_t i) const
void SetComment(TString comment, Int_t i)
void Fill(Int_t i, Int_t j, Double_t X)
void Fill(Int_t i, Int_t j, Double_t X, Double_t weight)
T * At(Int_t i, Int_t j) const
HistogramManager_1_1D< T > * fArray
HistogramManager_1_1D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t weight)
HistogramManager_1_2D< T > * fArray
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y)
T * At(Int_t i, Int_t j) const
HistogramManager_1_2D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z)
void Fill(Int_t i, Int_t j, Double_t X, Double_t Y, Double_t Z, Double_t weight)
T * At(const Int_t i, Int_t j) const
HistogramManager_1_3D< T > * Get(Int_t i) const
HistogramManager_1_3D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Double_t X)
HistogramManager_2_1D< T > * Get(Int_t i) const
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t weight)
HistogramManager_2_1D< T > * fArray
HistogramManager_2_2D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y)
HistogramManager_2_2D< T > * Get(Int_t i) const
HistogramManager_2_3D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z)
T * At(Int_t i, Int_t j, Int_t k) const
void Fill(Int_t i, Int_t j, Int_t k, Double_t X, Double_t Y, Double_t Z, Double_t weight)
HistogramManager_2_3D< T > * fArray
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X)
HistogramManager_3_1D< T > * fArray
HistogramManager_3_1D< T > * Get(const Int_t i) const
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
HistogramManager_3_2D< T > * fArray
HistogramManager_3_2D< T > * Get(Int_t i) const
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t weight)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z)
void Fill(Int_t i, Int_t j, Int_t k, Int_t l, Double_t X, Double_t Y, Double_t Z, Double_t weight)
T * At(Int_t i, Int_t j, Int_t k, Int_t l) const
HistogramManager_3_3D< T > * fArray
HistogramManager_3_3D< T > * Get(Int_t i) const