#ifdef STATISTICS
#ifndef morpheo_behavioural_generic_group_Statistics_h
#define morpheo_behavioural_generic_group_Statistics_h

/*
 * $Id$
 *
 * [ Description ]
 * 
 */

#include "Behavioural/include/Statistics.h"
#include "Behavioural/Generic/Group/include/Parameters.h"
#include "Behavioural/Generic/Group/include/Counters.h"

using namespace morpheo::behavioural;

namespace morpheo                    {
namespace behavioural                {
namespace generic                    {
namespace group                      {

  class Statistics : public morpheo::behavioural::Statistics
  {
    // -----[ fields ]----------------------------------------------------
  private  : const Parameters          * _parameters;
  private  : Counters                 ** _counters;


    // -----[ methods ]---------------------------------------------------
  public   : Statistics (string                                        name                       ,
			 morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
			 Parameters                                  * parameters
			 );
//public   : Statistics (Statistics & stat);
  public   : ~Statistics ();
    
  public   :        string   print_body (uint32_t depth);
  public   :        string   print      (uint32_t depth);
  public   :        void     add        (uint32_t nb_use);

  public   : friend ostream& operator<< (ostream& output_stream,
					 const Statistics & x);

  };

}; // end namespace group 
}; // end namespace generic
}; // end namespace behavioural          
}; // end namespace morpheo              

#endif
#endif
