134 |
/*! @brief The ROOT histogram. */ |
/*! @brief The ROOT histogram. */ |
135 |
TH1 *_rootHisto; |
TH1 *_rootHisto; |
136 |
|
|
|
private: |
|
|
|
|
|
unsigned int _underflow, _overflow; |
|
|
|
|
137 |
TString _outFileBase; |
TString _outFileBase; |
138 |
TString _mode; |
TString _mode; |
139 |
TString _title, _xLabel; |
TString _title, _xLabel; |
140 |
|
|
141 |
|
private: |
142 |
|
|
143 |
|
HistoType _underflow, _overflow; |
144 |
bool _outRoot; |
bool _outRoot; |
145 |
bool _outText; |
bool _outText; |
|
|
|
146 |
void _CreateHisto(); |
void _CreateHisto(); |
147 |
void _InitHistos(); |
void _InitHistos(); |
148 |
}; |
}; |
153 |
// No ROOT histogram for generic type; see template specializations in .cpp file. |
// No ROOT histogram for generic type; see template specializations in .cpp file. |
154 |
_rootHisto = NULL; |
_rootHisto = NULL; |
155 |
} |
} |
156 |
|
// Specializations for _CreateHistos(). See Histo1DAction.cpp |
157 |
|
template<> |
158 |
|
void Histo1DAction<Int_t>::_CreateHisto(); |
159 |
|
|
160 |
|
template<> |
161 |
|
void Histo1DAction<Float_t>::_CreateHisto(); |
162 |
|
|
163 |
|
template<> |
164 |
|
void Histo1DAction<Double_t>::_CreateHisto(); |
165 |
|
|
166 |
template<class HistoType> |
template<class HistoType> |
167 |
void Histo1DAction<HistoType>::_InitHistos() { |
void Histo1DAction<HistoType>::_InitHistos() { |
168 |
|
|
169 |
_CreateHisto(); |
_CreateHisto(); |
170 |
|
if (_bins.size() < 2) // SetXAxis not called by the main program, or wrongly filled (only 1 bin limit) |
171 |
|
SetXAxis("Default X", 10, 0., 1.); |
172 |
|
|
173 |
if (_rootHisto) { |
if (_rootHisto) { |
174 |
Double_t *auxArray = new Double_t[_bins.size()]; |
Double_t *auxArray = new Double_t[_bins.size()]; |
193 |
|
|
194 |
template<class HistoType> |
template<class HistoType> |
195 |
Histo1DAction<HistoType>::~Histo1DAction() { |
Histo1DAction<HistoType>::~Histo1DAction() { |
196 |
|
|
197 |
|
delete _rootHisto; |
198 |
|
_rootHisto = NULL; |
199 |
|
|
200 |
} |
} |
201 |
|
|
202 |
template<class HistoType> |
template<class HistoType> |
203 |
Histo1DAction<HistoType>::Histo1DAction(const char *actionName, TString title, TString outFileBase, TString mode, |
Histo1DAction<HistoType>::Histo1DAction(const char *actionName, TString title, TString outFileBase, TString mode, |
204 |
bool outRoot, bool outText) : |
bool outRoot, bool outText) : |
205 |
CollectionAction(actionName), _bins(0), _histo(0), _rootHisto(NULL), _outFileBase(outFileBase), _mode(mode), _title( |
CollectionAction(actionName), _bins(0), _histo(0), _rootHisto(NULL), _outFileBase(outFileBase), _mode(mode), _title( |
206 |
title), _xLabel(""), _outRoot(outRoot), _outText(outText) { |
title), _xLabel(""), _underflow(0), _overflow(0), _outRoot(outRoot), _outText(outText) { |
207 |
|
|
208 |
} |
} |
209 |
|
|