Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

IHistogramFactory.h

Go to the documentation of this file.
00001 // 
00002 // Copyright (C) CERN, Geneva 
00003 // 
00004 // header file for class IHistogramFactory 
00005 // Created by: Andreas Pfeiffer  at Thu Jan 13 16:17:26 2000
00006 // 
00007 // Last update: 
00008 //              
00009 // 
00010 #ifndef INTERFACE_IHISTOGRAMFACTORY_H
00011 #define INTERFACE_IHISTOGRAMFACTORY_H 1
00012 
00013 #include <string>
00014 
00015 #ifndef ANAPHE_NO_NAMESPACE
00016 namespace Anaphe {
00017 #endif
00018 
00019   class IHistogram;
00020   class IHistogram1D;
00021   class IHistogram2D;
00022 
00023   //-ap start
00024   //
00025   // Q: what about the "openness" of the bins (rightOpen vs. leftOpen) ? 
00026   //    Should this be added to the creation methods (after/before ID) ?
00027   //
00028   //-ap end
00029 
00030   class IHistogramFactory  { 
00031 
00032   public: 
00033     virtual ~IHistogramFactory() { /* nop */; }
00034 
00035   public:
00039     virtual IHistogram1D * create1D( std::string title
00040                                      , int nBinsx, double xmin, double xmax
00041                                      , const int ID = 0) = 0;
00042 
00043     virtual IHistogram2D * create2D(std::string title
00044                                     , int nBinsx, double xmin, double xmax
00045                                     , int nBinsy, double ymin, double ymax
00046                                     , const int ID = 0) = 0;
00047 
00049     virtual void unregister(IHistogram * h) = 0;
00051     virtual void destroy(IHistogram * h) = 0;
00052 
00053   }; 
00054 
00055 #ifndef ANAPHE_NO_NAMESPACE
00056 }; // end namespace Anaphe
00057 #endif
00058 
00059 extern "C" {
00060   Anaphe::IHistogramFactory * createIHistogramFactory();
00061 }
00062 
00063 #endif /* INTERFACE_IHISTOFACTORY_H */ 


Anaphe documentation generated by Doxygen (www.doxygen.org)