16class Axis :
public TObject {
18 Axis(TAxis * base =
nullptr,
int rebin = 1,
int rebinShift = 0,
int min = 1,
int max = -1);
21 virtual void Print(Option_t * option =
"",
int spaces = 0)
const;
22 void SetBaseAxis(TAxis * base) { fBaseAxis = base; }
23 TAxis * SetBaseAxis()
const {
return fBaseAxis; }
25 void SetRebin(
int rebin) { fRebin = rebin; }
26 void SetRebinShift(
int rebinShift) { fRebinStart = rebinShift + 1; }
27 void SetBinMin(
int min) { fBinMin = min; }
28 void SetBinMax(
int max) { fBinMax = max; }
29 void SetRange(
int min,
int max) { fBinMin = min, fBinMax = max; }
32 int GetRebin()
const {
return fRebin; }
33 int GetRebinStart()
const {
return fRebinStart; }
34 int GetRebinShift()
const {
return fRebinStart - 1; }
35 int GetBinMin()
const {
return fBinMin; }
36 int GetBinMax()
const {
return fBinMax; }
37 int GetBinMinBase()
const;
38 int GetBinMaxBase()
const;
39 int GetNBins()
const {
return fNBins; }
41 void AddChild(
Axis * axis) { fChildren.push_back(axis); }
42 Axis * AddChild(
int rebin ,
int rebinShift ,
int min ,
int max , Option_t * option =
"");
43 Axis * GetChild(
int i) {
return fChildren[i]; }
45 Axis * AddRange(
int rebin,
int nBins = -1);
47 void FillAxis(TAxis * axis);
52 TAxis * fBaseAxis{
nullptr};
58 std::vector<Axis *> fChildren;