Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

IHistogramManager.h

Go to the documentation of this file.
00001 // 
00002 // Copyright (C) CERN, Geneva 
00003 // 
00004 // header file for class IHistogramManager 
00005 // Created by: Andreas Pfeiffer  at Thu Sep  2 14:29:35 1999
00006 // 
00007 // Last update: 
00008 //              
00009 //  ap, 16-jan-01 : added createIHistogramManager() method, removed default arguments
00010 // 
00011 #ifndef INTERFACE_IHISTOGRAMMANAGER_H
00012 #define INTERFACE_IHISTOGRAMMANAGER_H 1
00013 
00014 #include <iostream>
00015 
00016 #ifndef ANAPHE_NO_NAMESPACE
00017 namespace Anaphe {
00018 #endif
00019 
00020   class IHistogram1D;
00021   class IHistogram2D;
00022   class IHistoFactory;
00023 
00024   class IHistogramManager { 
00025 
00026   public: 
00027     virtual ~IHistogramManager() { /* nop */; }
00028 
00029   public:               // public methods
00030     virtual bool register1D(IHistogram1D *) = 0;
00031     virtual bool register2D(IHistogram2D *) = 0;
00032 
00033     virtual IHistogram1D * retrieveHisto1D(int ) = 0;
00034     virtual IHistogram2D * retrieveHisto2D(int ) = 0;
00035   
00036     virtual void deleteHisto(const char * label) = 0;
00037 
00038 #ifdef AIDA_DONT_USE_STD
00039     virtual void list(     ostream& os =      cout) = 0;
00040 #else
00041     virtual void list(std::ostream& os = std::cout) = 0;
00042 #endif
00043 
00044     virtual void disableOverwrite() = 0;
00045     virtual void enableOverwrite () = 0;
00046     virtual void disableWarnOverwrite() = 0;
00047     virtual void enableWarnOverwrite () = 0;
00048 
00049   public:               // public methods
00050     virtual void setFactory(IHistoFactory *f) = 0;
00051 
00052     virtual IHistogram1D * create1D(std::string title, int nBinsx, double xmin, double xmax, int ID) = 0;
00053     virtual IHistogram2D * create2D(std::string title
00054                                     , int nBinsx, double xmin, double xmax
00055                                     , int nBinsy, double ymin, double ymax, int ID) = 0;
00056 
00057   }; 
00058 
00059 #ifndef ANAPHE_NO_NAMESPACE
00060 }; // end namespace Anaphe
00061 #endif
00062 
00063 extern "C" {
00064   Anaphe::IHistogramManager * createIHistogramManager();
00065 }
00066 
00067 #endif /* INTERFACE_IHISTOGRAMMANAGER_H */ 


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