--- PamCut/CollectionActions/Histo1DActions/Histo1DAction/Histo1DAction.h 2009/09/25 15:36:36 1.1 +++ PamCut/CollectionActions/Histo1DActions/Histo1DAction/Histo1DAction.h 2009/12/08 17:37:25 1.4 @@ -85,7 +85,7 @@ /*! @brief Sets up the histogram * - * This routine effectively prepares the histogram, after the desired parameters has been set by #SetXAxis() and #SetYAxis(). + * This routine effectively prepares the histogram, after the desired parameters has been set by #SetXAxis(). * * @param events Pointer to PamLevel2 events (unused). */ @@ -108,7 +108,11 @@ return _histo; } - /*! Fills the ROOT and the vector histogram. */ + /*! Fills the ROOT and the vector histogram. + * + * @param value The value of the X coordinate associated to the event. + * @param weight The weight which will be applied to the event. + */ void Fill(double value, double weight = 1.); /*! @brief The number of events which fell below the lower histogram limit. */ @@ -123,8 +127,11 @@ protected: + /*! @brief The vector containing the limits of the bins(from lower to higher). */ std::vector _bins; + /*! @brief A vector containing the value of the histogram for each bin. */ vector _histo; + /*! @brief The ROOT histogram. */ TH1 *_rootHisto; private: @@ -147,11 +154,22 @@ // No ROOT histogram for generic type; see template specializations in .cpp file. _rootHisto = NULL; } +// Specializations for _CreateHistos(). See Histo1DAction.cpp +template<> +void Histo1DAction::_CreateHisto(); + +template<> +void Histo1DAction::_CreateHisto(); + +template<> +void Histo1DAction::_CreateHisto(); template void Histo1DAction::_InitHistos() { _CreateHisto(); + if (_bins.size() < 2) // SetXAxis not called by the main program, or wrongly filled (only 1 bin limit) + SetXAxis("Default X", 10, 0., 1.); if (_rootHisto) { Double_t *auxArray = new Double_t[_bins.size()]; @@ -176,6 +194,10 @@ template Histo1DAction::~Histo1DAction() { + + delete _rootHisto; + _rootHisto = NULL; + } template