]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/Tracks/AliEMCalTriggerBinningComponent.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / Tracks / AliEMCalTriggerBinningComponent.h
CommitLineData
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
10class TObjArray;
11
12namespace EMCalTriggerPtAnalysis {
13
14class AliEMCalTriggerBinningDimension : public TNamed{
15public:
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
40private:
41 TArrayD fBinning; // Bin limits
42
43 ClassDef(AliEMCalTriggerBinningDimension, 1);
44};
45
46class AliEMCalTriggerBinningComponent: public TObject {
47public:
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
57private:
58 TObjArray *fDimensions; // List of binnings (dimensions)
59
60 ClassDef(AliEMCalTriggerBinningComponent, 1);
61};
62
63} /* namespace EMCalTriggerPtAnalysis */
64
65#endif /* ALIEMCALTRIGGERBINNINGCOMPONENT_H */