]>
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 | {} | |
28 | ~AliEMCalTriggerBinningDimension() {} | |
29 | ||
30 | void Set(int nbins, double *binning) { fBinning.Set(nbins+1, binning); } | |
31 | void Set(const TArrayD &binning) { fBinning = binning; } | |
32 | const double *GetBinLimits() const { return fBinning.GetArray(); } | |
33 | int GetNumberOfBins() const { return fBinning.GetSize(); } | |
34 | ||
35 | private: | |
36 | TArrayD fBinning; // Bin limits | |
37 | ||
38 | ClassDef(AliEMCalTriggerBinningDimension, 1); | |
39 | }; | |
40 | ||
41 | class AliEMCalTriggerBinningComponent: public TObject { | |
42 | public: | |
43 | AliEMCalTriggerBinningComponent(); | |
44 | AliEMCalTriggerBinningComponent(const AliEMCalTriggerBinningComponent &ref); | |
45 | AliEMCalTriggerBinningComponent &operator=(const AliEMCalTriggerBinningComponent &ref); | |
46 | virtual ~AliEMCalTriggerBinningComponent(); | |
47 | ||
48 | AliEMCalTriggerBinningDimension *GetBinning(const char *name); | |
49 | void SetBinning(const char *dimname, int nbins, double *binning); | |
50 | ||
51 | private: | |
52 | TObjArray *fDimensions; // List of binnings (dimensions) | |
53 | ||
54 | ClassDef(AliEMCalTriggerBinningComponent, 1); | |
55 | }; | |
56 | ||
57 | } /* namespace EMCalTriggerPtAnalysis */ | |
58 | ||
59 | #endif /* ALIEMCALTRIGGERBINNINGCOMPONENT_H */ |