]>
Commit | Line | Data |
---|---|---|
4c40f4b9 | 1 | #ifndef ALIEMCALTRIGGERBINNINGCOMPONENT_H |
2 | #define ALIEMCALTRIGGERBINNINGCOMPONENT_H | |
3 | /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // Author: Markus Fasel | |
7 | #include <TArrayD.h> | |
8 | #include <TNamed.h> | |
9 | ||
10 | class TObjArray; | |
11 | ||
12 | namespace EMCalTriggerPtAnalysis { | |
13 | ||
14 | class AliEMCalTriggerBinningDimension : public TNamed{ | |
15 | public: | |
16 | AliEMCalTriggerBinningDimension(): | |
17 | TNamed(), | |
18 | fBinning() | |
19 | {} | |
20 | AliEMCalTriggerBinningDimension(const char *name): | |
21 | TNamed(name, ""), | |
22 | fBinning() | |
23 | {} | |
24 | AliEMCalTriggerBinningDimension(const char *name, int nbins, double *binning): | |
25 | TNamed(name, ""), | |
26 | fBinning(nbins+1, binning) | |
27 | {} | |
5b1df951 | 28 | AliEMCalTriggerBinningDimension(const char *name, const TArrayD &binning): |
29 | TNamed(name, ""), | |
0b065993 | 30 | fBinning(binning.GetSize(), binning.GetArray()) |
5b1df951 | 31 | {} |
4c40f4b9 | 32 | ~AliEMCalTriggerBinningDimension() {} |
33 | ||
34 | void Set(int nbins, double *binning) { fBinning.Set(nbins+1, binning); } | |
35 | void Set(const TArrayD &binning) { fBinning = binning; } | |
36 | const double *GetBinLimits() const { return fBinning.GetArray(); } | |
0b065993 | 37 | int GetNumberOfBins() const { return fBinning.GetSize() - 1; } |
38 | virtual void Print(Option_t *option="") const; | |
4c40f4b9 | 39 | |
40 | private: | |
41 | TArrayD fBinning; // Bin limits | |
42 | ||
43 | ClassDef(AliEMCalTriggerBinningDimension, 1); | |
44 | }; | |
45 | ||
46 | class AliEMCalTriggerBinningComponent: public TObject { | |
47 | public: | |
48 | AliEMCalTriggerBinningComponent(); | |
49 | AliEMCalTriggerBinningComponent(const AliEMCalTriggerBinningComponent &ref); | |
50 | AliEMCalTriggerBinningComponent &operator=(const AliEMCalTriggerBinningComponent &ref); | |
51 | virtual ~AliEMCalTriggerBinningComponent(); | |
52 | ||
5b1df951 | 53 | AliEMCalTriggerBinningDimension *GetBinning(const char *name) const; |
4c40f4b9 | 54 | void SetBinning(const char *dimname, int nbins, double *binning); |
5b1df951 | 55 | void SetBinning(const char *dimname, const TArrayD &binning); |
4c40f4b9 | 56 | |
57 | private: | |
58 | TObjArray *fDimensions; // List of binnings (dimensions) | |
59 | ||
60 | ClassDef(AliEMCalTriggerBinningComponent, 1); | |
61 | }; | |
62 | ||
63 | } /* namespace EMCalTriggerPtAnalysis */ | |
64 | ||
65 | #endif /* ALIEMCALTRIGGERBINNINGCOMPONENT_H */ |