| 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 |
|
|